ngsolve 6.2.2506.post216.dev0__cp314-cp314-manylinux_2_28_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngs_nvcc +22 -0
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngs_nvlink +17 -0
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngscxx +15 -0
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngsld +11 -0
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngsolve.tcl +648 -0
- ngsolve-6.2.2506.post216.dev0.data/data/bin/ngspy +2 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/analytic_integrals.hpp +10 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/arnoldi.hpp +55 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bandmatrix.hpp +334 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/basematrix.hpp +963 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/basevector.hpp +1268 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bdbequations.hpp +2807 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bdbintegrator.hpp +1660 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bem_diffops.hpp +475 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bessel.hpp +1064 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bilinearform.hpp +966 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bla.hpp +29 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/blockalloc.hpp +95 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/blockjacobi.hpp +328 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/bspline.hpp +116 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/calcinverse.hpp +141 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cg.hpp +368 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/chebyshev.hpp +44 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cholesky.hpp +720 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/clapack.h +7254 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/code_generation.hpp +296 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient.hpp +2033 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient_impl.hpp +19 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/coefficient_stdmath.hpp +167 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/commutingAMG.hpp +106 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/comp.hpp +79 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/compatibility.hpp +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/complex_wrapper.hpp +101 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/compressedfespace.hpp +110 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/contact.hpp +239 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_core.hpp +216 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_linalg.hpp +185 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_ngbla.hpp +317 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_ngstd.hpp +414 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/cuda_profiler.hpp +240 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diagonalmatrix.hpp +160 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/differentialoperator.hpp +276 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffop.hpp +1286 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffop_impl.hpp +328 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/diffopwithfactor.hpp +123 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/discontinuous.hpp +84 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/dump.hpp +949 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ectypes.hpp +121 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/eigen.hpp +60 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/eigensystem.hpp +18 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elasticity_equations.hpp +595 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementbyelement.hpp +201 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementtopology.hpp +1760 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/elementtransformation.hpp +339 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/evalfunc.hpp +405 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/expr.hpp +1693 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetfe.hpp +175 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetfespace.hpp +180 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facethofe.hpp +111 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/facetsurffespace.hpp +112 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fe_interfaces.hpp +32 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fem.hpp +87 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fesconvert.hpp +14 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/fespace.hpp +1454 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/finiteelement.hpp +286 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/globalinterfacespace.hpp +77 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/globalspace.hpp +115 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/gridfunction.hpp +525 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1amg.hpp +124 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofe.hpp +188 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofe_impl.hpp +1262 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofefo.hpp +148 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofefo_impl.hpp +185 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1hofespace.hpp +167 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1lofe.hpp +1240 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/h1lumping.hpp +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurl_equations.hpp +1381 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlcurlfe.hpp +2241 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlcurlfespace.hpp +78 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlfe.hpp +259 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlfe_utils.hpp +107 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhdiv_dshape.hpp +857 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhdivfes.hpp +308 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofe.hpp +175 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofe_impl.hpp +1871 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurlhofespace.hpp +193 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hcurllofe.hpp +1146 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdiv_equations.hpp +880 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivdivfe.hpp +2923 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivdivsurfacespace.hpp +76 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfe.hpp +206 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfe_utils.hpp +717 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivfes.hpp +75 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofe.hpp +447 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofe_impl.hpp +1107 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofefo.hpp +229 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhofespace.hpp +177 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivhosurfacefespace.hpp +106 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hdivlofe.hpp +773 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hidden.hpp +74 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/householder.hpp +181 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hypre_ams_precond.hpp +123 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/hypre_precond.hpp +73 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/integrator.hpp +2012 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/integratorcf.hpp +253 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/interpolate.hpp +49 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/intrule.hpp +2542 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/intrules_SauterSchwab.hpp +25 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/irspace.hpp +49 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/jacobi.hpp +153 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/kernels.hpp +724 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofe.hpp +194 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofe_impl.hpp +564 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofefo.hpp +542 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/l2hofespace.hpp +344 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/la.hpp +38 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/linalg_kernels.hpp +70 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/linearform.hpp +266 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/matrix.hpp +2145 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/memusage.hpp +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/meshaccess.hpp +1359 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mgpre.hpp +204 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mp_coefficient.hpp +145 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mptools.hpp +2281 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/multigrid.hpp +42 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/multivector.hpp +447 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mumpsinverse.hpp +187 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/mycomplex.hpp +361 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ng_lapack.hpp +1661 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngblas.hpp +1232 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_defines.hpp +30 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_stdcpp_include.hpp +106 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngs_utils.hpp +121 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngsobject.hpp +1019 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngsstream.hpp +113 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/ngstd.hpp +72 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/nodalhofe.hpp +96 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/nodalhofe_impl.hpp +141 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetfe.hpp +223 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetfespace.hpp +98 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/normalfacetsurfacefespace.hpp +84 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/order.hpp +251 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallel_matrices.hpp +222 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/paralleldofs.hpp +340 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallelngs.hpp +23 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/parallelvector.hpp +269 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pardisoinverse.hpp +200 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/periodic.hpp +129 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/plateaufespace.hpp +25 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pml.hpp +275 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/pmltrafo.hpp +631 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/postproc.hpp +142 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/potentialtools.hpp +22 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/precomp.hpp +60 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/preconditioner.hpp +602 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/prolongation.hpp +380 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_comp.hpp +107 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_fem.hpp +89 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_linalg.hpp +58 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/python_ngstd.hpp +386 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol.hpp +4896 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol_tet.hpp +395 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/recursive_pol_trig.hpp +492 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/reorderedfespace.hpp +81 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sample_sort.hpp +105 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/scalarfe.hpp +335 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/shapefunction_utils.hpp +113 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/simd_complex.hpp +329 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/smoother.hpp +253 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/solve.hpp +89 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsecholesky.hpp +317 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsefactorization_interface.hpp +159 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix.hpp +1052 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix_dyn.hpp +90 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/sparsematrix_impl.hpp +1055 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/special_matrix.hpp +463 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/specialelement.hpp +125 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/statushandler.hpp +33 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/stringops.hpp +12 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/superluinverse.hpp +136 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/symbolicintegrator.hpp +850 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/symmetricmatrix.hpp +144 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tangentialfacetfe.hpp +224 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tangentialfacetfespace.hpp +91 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensor.hpp +522 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensorcoefficient.hpp +446 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tensorproductintegrator.hpp +113 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thcurlfe.hpp +128 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thcurlfe_impl.hpp +380 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thdivfe.hpp +80 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/thdivfe_impl.hpp +492 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpdiffop.hpp +461 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpfes.hpp +133 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tpintrule.hpp +224 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/triangular.hpp +465 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tscalarfe.hpp +245 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/tscalarfe_impl.hpp +1029 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/umfpackinverse.hpp +148 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/unifiedvector.hpp +103 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vector.hpp +1452 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/voxelcoefficientfunction.hpp +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vtkoutput.hpp +198 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/vvector.hpp +208 -0
- ngsolve-6.2.2506.post216.dev0.data/data/include/netgen/webgui.hpp +92 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/NGSolveConfig.cmake +102 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +89 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets.cmake +180 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngbla.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngfem.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngla.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngstd.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/TensorProductTools.py +210 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__console.py +94 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__expr.py +181 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/__init__.py +148 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/_scikit_build_core_dependencies.py +30 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/bvp.py +78 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__init__.py +1 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__main__.py +4 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/config.py +60 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/__init__.py +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/__init__.py +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hhj.py +44 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hybrid_dg.py +53 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/mixed.py +30 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/nonlin.py +29 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pickling.py +26 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pml.py +31 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/taskmanager.py +20 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/tdnns.py +47 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +45 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG.py +38 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGlap.py +42 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGwave.py +61 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/__init__.py +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/adaptive.py +123 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/cmagnet.py +59 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/elasticity.py +76 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/navierstokes.py +74 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.ipynb +170 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.py +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_poisson.py +89 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +82 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/directsolvers.py +14 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/eigenvalues.py +364 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/internal.py +89 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/krylovspace.py +1182 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/meshes.py +748 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngs2petsc.py +310 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscuda.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscxx.py +42 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngslib.so +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/nonlinearsolvers.py +203 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/preconditioners.py +11 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solve_implementation.py +168 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers/__init__.py +7 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers/cudss.py +112 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/timestepping.py +185 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/timing.py +108 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/utils.py +167 -0
- ngsolve-6.2.2506.post216.dev0.data/data/lib/python3.14/site-packages/ngsolve/webgui.py +671 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/beam.geo +17 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/beam.vol +240 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/chip.in2d +41 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/chip.vol +614 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coil.geo +12 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coil.vol +2560 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/cube.geo +19 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/cube.vol +1832 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/shaft.geo +73 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/square.in2d +17 -0
- ngsolve-6.2.2506.post216.dev0.data/data/share/ngsolve/square.vol +149 -0
- ngsolve-6.2.2506.post216.dev0.dist-info/METADATA +14 -0
- ngsolve-6.2.2506.post216.dev0.dist-info/RECORD +306 -0
- ngsolve-6.2.2506.post216.dev0.dist-info/WHEEL +5 -0
- ngsolve-6.2.2506.post216.dev0.dist-info/licenses/LICENSE +504 -0
- ngsolve-6.2.2506.post216.dev0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#ifndef FILE_SYMMETRICMATRIX
|
|
2
|
+
#define FILE_SYMMETRICMATRIX
|
|
3
|
+
|
|
4
|
+
/****************************************************************************/
|
|
5
|
+
/* File: symmetricmatrix.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 12. Dec. 2004 */
|
|
8
|
+
/****************************************************************************/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
namespace ngbla
|
|
12
|
+
{
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/// A symmetric band-matrix
|
|
17
|
+
template <class T>
|
|
18
|
+
class FlatSymmetricMatrix
|
|
19
|
+
{
|
|
20
|
+
protected:
|
|
21
|
+
///
|
|
22
|
+
int n;
|
|
23
|
+
///
|
|
24
|
+
T *data;
|
|
25
|
+
public:
|
|
26
|
+
typedef typename mat_traits<T>::TV_COL TV;
|
|
27
|
+
|
|
28
|
+
///
|
|
29
|
+
FlatSymmetricMatrix () { ; }
|
|
30
|
+
|
|
31
|
+
///
|
|
32
|
+
FlatSymmetricMatrix (int an, T * adata)
|
|
33
|
+
: n(an), data(adata)
|
|
34
|
+
{ ; }
|
|
35
|
+
|
|
36
|
+
/// set size, and assign mem
|
|
37
|
+
void AssignMemory (int an, T * mem) throw()
|
|
38
|
+
{
|
|
39
|
+
n = an;
|
|
40
|
+
data = mem;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
///
|
|
46
|
+
void Mult (const FlatVector<TV> & x, FlatVector<TV> & y) const
|
|
47
|
+
{
|
|
48
|
+
for (int i = 0; i < n; i++)
|
|
49
|
+
{
|
|
50
|
+
TV xi = x(i);
|
|
51
|
+
TV sum = (*this)(i,i) * xi;
|
|
52
|
+
for (int j = 0; j < i; j++)
|
|
53
|
+
{
|
|
54
|
+
sum += (*this)(i,j) * x(j);
|
|
55
|
+
y(j) += Trans((*this)(i,j)) * xi;
|
|
56
|
+
}
|
|
57
|
+
y(i) = sum;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
///
|
|
62
|
+
ostream & Print (ostream & ost) const
|
|
63
|
+
{
|
|
64
|
+
for (int i = 0; i < n; i++)
|
|
65
|
+
{
|
|
66
|
+
for (int j = 0; j < n; j++)
|
|
67
|
+
if (j <= i)
|
|
68
|
+
ost << setw(8) << (*this)(i,j) << " ";
|
|
69
|
+
else
|
|
70
|
+
ost << setw(8) << "sym" << " ";
|
|
71
|
+
ost << endl;
|
|
72
|
+
}
|
|
73
|
+
return *this;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
///
|
|
77
|
+
int Height() const { return n; }
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
///
|
|
81
|
+
const T & operator() (int i, int j) const
|
|
82
|
+
{ return data[ i * (i+1) / 2 + j ]; }
|
|
83
|
+
|
|
84
|
+
///
|
|
85
|
+
T & operator() (int i, int j)
|
|
86
|
+
{ return data[ i * (i+1) / 2 + j ]; }
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
///
|
|
90
|
+
FlatSymmetricMatrix & operator= (const T & val)
|
|
91
|
+
{
|
|
92
|
+
int nel = n * (n+1) / 2;
|
|
93
|
+
for (int i = 0; i < nel; i++)
|
|
94
|
+
data[i] = val;
|
|
95
|
+
return *this;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
template<typename T>
|
|
101
|
+
inline std::ostream & operator<< (std::ostream & s, const FlatSymmetricMatrix<T> & m)
|
|
102
|
+
{
|
|
103
|
+
m.Print (s);
|
|
104
|
+
return s;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
/// A symmetric band-matrix with memory management
|
|
110
|
+
template <class T>
|
|
111
|
+
class SymmetricMatrix : public FlatSymmetricMatrix<T>
|
|
112
|
+
{
|
|
113
|
+
public:
|
|
114
|
+
typedef typename mat_traits<T>::TV_COL TV;
|
|
115
|
+
|
|
116
|
+
///
|
|
117
|
+
SymmetricMatrix (int an)
|
|
118
|
+
: FlatSymmetricMatrix<T> (an, new T[an*(an+1)/2])
|
|
119
|
+
{ ; }
|
|
120
|
+
|
|
121
|
+
///
|
|
122
|
+
~SymmetricMatrix ()
|
|
123
|
+
{ delete [] this->data; }
|
|
124
|
+
|
|
125
|
+
///
|
|
126
|
+
SymmetricMatrix & operator= (const T & val)
|
|
127
|
+
{
|
|
128
|
+
int nel = this->n * (this->n+1) / 2;
|
|
129
|
+
for (int i = 0; i < nel; i++)
|
|
130
|
+
this->data[i] = val;
|
|
131
|
+
return *this;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
#endif
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
#ifndef VECTOR_FACET_FE_HPP__
|
|
2
|
+
#define VECTOR_FACET_FE_HPP__
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: vectorfacetfe.hpp */
|
|
6
|
+
/* Author: A. Sinwel, (J. Schoeberl) */
|
|
7
|
+
/* Date: 2008 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// #include <fem.hpp>
|
|
12
|
+
#include "hcurlfe.hpp"
|
|
13
|
+
#include "recursive_pol.hpp"
|
|
14
|
+
#include <cassert>
|
|
15
|
+
|
|
16
|
+
namespace ngfem
|
|
17
|
+
{
|
|
18
|
+
/*
|
|
19
|
+
facet element with tangential facet components.
|
|
20
|
+
to be changed similar to scalar facetfe
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
template <ELEMENT_TYPE ET>
|
|
24
|
+
class TangentialFacetFacetFE :
|
|
25
|
+
public HCurlFiniteElement<ET_trait<ET>::DIM>,
|
|
26
|
+
public VertexOrientedFE<ET>,
|
|
27
|
+
public ET_trait<ET>
|
|
28
|
+
{
|
|
29
|
+
protected:
|
|
30
|
+
IVec<2> order_inner;
|
|
31
|
+
using VertexOrientedFE<ET>::vnums;
|
|
32
|
+
using ET_trait<ET>::DIM;
|
|
33
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::order;
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
using VertexOrientedFE<ET>::SetVertexNumber;
|
|
37
|
+
using VertexOrientedFE<ET>::SetVertexNumbers;
|
|
38
|
+
|
|
39
|
+
TangentialFacetFacetFE (int aorder)
|
|
40
|
+
{
|
|
41
|
+
order = aorder;
|
|
42
|
+
order_inner = IVec<2>(aorder,aorder);
|
|
43
|
+
ComputeNDof();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
TangentialFacetFacetFE () { ; }
|
|
47
|
+
|
|
48
|
+
HD virtual ELEMENT_TYPE ElementType() const override { return ELEMENT_TYPE(ET); }
|
|
49
|
+
|
|
50
|
+
INLINE void SetOrder (int aorder)
|
|
51
|
+
{
|
|
52
|
+
order = aorder;
|
|
53
|
+
order_inner = IVec<2>(aorder,aorder);
|
|
54
|
+
ComputeNDof();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
INLINE void SetOrder (IVec<2> oi)
|
|
58
|
+
{
|
|
59
|
+
order = max2 (oi[0], oi[1]);
|
|
60
|
+
order_inner = oi;
|
|
61
|
+
ComputeNDof();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
virtual void ComputeNDof ();
|
|
65
|
+
|
|
66
|
+
virtual void CalcShape(const IntegrationPoint & ip,
|
|
67
|
+
BareSliceMatrix<> shape) const override;
|
|
68
|
+
|
|
69
|
+
template<typename Tx, typename TFA>
|
|
70
|
+
void T_CalcShape (TIP<DIM,Tx> tip, TFA & shape) const;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
template <ELEMENT_TYPE ET>
|
|
75
|
+
class TangentialFacetVolumeFE : public HCurlFiniteElement<ET_trait<ET>::DIM>, public VertexOrientedFE<ET>
|
|
76
|
+
{
|
|
77
|
+
protected:
|
|
78
|
+
using ET_T = ET_trait<ET>;
|
|
79
|
+
IVec<2> facet_order[ET_T::N_FACET];
|
|
80
|
+
int first_facet_dof[ET_T::N_FACET+1];
|
|
81
|
+
bool highest_order_dc;
|
|
82
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::order;
|
|
83
|
+
using VertexOrientedFE<ET>::vnums;
|
|
84
|
+
enum { DIM = ET_trait<ET>::DIM };
|
|
85
|
+
|
|
86
|
+
public:
|
|
87
|
+
using VertexOrientedFE<ET>::SetVertexNumbers;
|
|
88
|
+
|
|
89
|
+
TangentialFacetVolumeFE () { highest_order_dc=false; }
|
|
90
|
+
|
|
91
|
+
HD virtual ELEMENT_TYPE ElementType() const override { return ELEMENT_TYPE(ET); }
|
|
92
|
+
|
|
93
|
+
void SetHighestOrderDC(bool set) { highest_order_dc=set; }
|
|
94
|
+
|
|
95
|
+
void SetOrder(int ao)
|
|
96
|
+
{
|
|
97
|
+
order = ao;
|
|
98
|
+
for ( int i = 0; i < ET_T::N_FACET; i++ )
|
|
99
|
+
facet_order[i] = IVec<2> (ao, ao);
|
|
100
|
+
ComputeNDof();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
void SetOrder(FlatArray<int> & ao)
|
|
104
|
+
{
|
|
105
|
+
order = 0;
|
|
106
|
+
assert(ao.Size()==ET_T::N_FACET);
|
|
107
|
+
for ( int i = 0; i < ET_T::N_FACET; i++ )
|
|
108
|
+
{
|
|
109
|
+
order = max2 ( order, ao[i] );
|
|
110
|
+
facet_order[i] = IVec<2> (ao[i], ao[i]);
|
|
111
|
+
}
|
|
112
|
+
ComputeNDof();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
void SetOrder(FlatArray<IVec<2> > & ao)
|
|
116
|
+
{
|
|
117
|
+
order = 0;
|
|
118
|
+
assert(ao.Size()==ET_T::N_FACET);
|
|
119
|
+
for ( int i = 0; i < ET_T::N_FACET; i++ )
|
|
120
|
+
{
|
|
121
|
+
order = max3 ( order, ao[i][0], ao[i][1] );
|
|
122
|
+
facet_order[i] = ao[i];
|
|
123
|
+
}
|
|
124
|
+
ComputeNDof();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
IVec<2> GetFacetOrder(int j) const { return facet_order[j]; }
|
|
128
|
+
int GetVertexNumber(int j) const { return vnums[j]; }
|
|
129
|
+
|
|
130
|
+
virtual void CalcShape (const IntegrationPoint & ip, BareSliceMatrix<> shape) const override
|
|
131
|
+
{
|
|
132
|
+
int fnr = ip.FacetNr();
|
|
133
|
+
if (fnr >= 0)
|
|
134
|
+
{
|
|
135
|
+
CalcShape (ip, fnr, shape);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
throw Exception("TangentialFacetVolumeFiniteElement<D>::CalcShape in global coordinates disabled");
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::CalcMappedShape;
|
|
142
|
+
virtual void CalcMappedShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
143
|
+
BareSliceMatrix<SIMD<double>> shapes) const override;
|
|
144
|
+
|
|
145
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::Evaluate;
|
|
146
|
+
virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir, BareSliceVector<> coefs,
|
|
147
|
+
BareSliceMatrix<SIMD<double>> values) const override;
|
|
148
|
+
|
|
149
|
+
virtual void AddTrans (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<double>> values,
|
|
150
|
+
BareSliceVector<> coefs) const override;
|
|
151
|
+
|
|
152
|
+
template<typename Tx, typename TFA>
|
|
153
|
+
void T_CalcShape (Tx hx[DIM], int fnr, TFA & shape) const;
|
|
154
|
+
|
|
155
|
+
template<typename MIP, typename TFA>
|
|
156
|
+
void CalcDualShape2 (const MIP & mip, int fnr, TFA & shape) const;
|
|
157
|
+
|
|
158
|
+
virtual void CalcShape (const IntegrationPoint & ip, int facet, BareSliceMatrix<> shape) const;
|
|
159
|
+
|
|
160
|
+
virtual int GetNExtraShapes( int facet) const {return 0;}
|
|
161
|
+
virtual void CalcExtraShape (const IntegrationPoint & ip, int facet, FlatMatrixFixWidth<ET_T::DIM> xshape) const {xshape = 0.0;}
|
|
162
|
+
|
|
163
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::ndof;
|
|
164
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::CalcDualShape;
|
|
165
|
+
virtual void CalcDualShape (const BaseMappedIntegrationPoint & bmip, BareSliceMatrix<> shape) const override;
|
|
166
|
+
virtual void CalcDualShape (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> shape) const override;
|
|
167
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::EvaluateDual;
|
|
168
|
+
virtual void EvaluateDual (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const override;
|
|
169
|
+
using HCurlFiniteElement<ET_trait<ET>::DIM>::AddDualTrans;
|
|
170
|
+
virtual void AddDualTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values,
|
|
171
|
+
BareSliceVector<double> coefs) const override;
|
|
172
|
+
|
|
173
|
+
virtual void GetFacetDofNrs(int afnr, Array<int>& fdnums) const
|
|
174
|
+
{
|
|
175
|
+
int first = first_facet_dof[afnr];
|
|
176
|
+
int next = first_facet_dof[afnr+1];
|
|
177
|
+
assert(next > first);
|
|
178
|
+
fdnums.SetSize(next-first);
|
|
179
|
+
for (auto i : Range(next-first))
|
|
180
|
+
fdnums[i] = first+i;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
virtual int GetFacetNDof(int afnr) const
|
|
184
|
+
{ return first_facet_dof[afnr+1] - first_facet_dof[afnr]; };
|
|
185
|
+
virtual int GetFirstFacetDof(int afnr) const {
|
|
186
|
+
return first_facet_dof[afnr];};
|
|
187
|
+
|
|
188
|
+
virtual void ComputeNDof ();
|
|
189
|
+
|
|
190
|
+
/// degrees of freedom sitting inside the element, used for static condensation
|
|
191
|
+
virtual void GetInternalDofs (Array<int> & idofs) const
|
|
192
|
+
{
|
|
193
|
+
idofs.SetSize(0);
|
|
194
|
+
if (highest_order_dc)
|
|
195
|
+
{
|
|
196
|
+
if (ET_T::DIM==2)
|
|
197
|
+
{
|
|
198
|
+
for (int i=0; i < ET_T::N_FACET; i++)
|
|
199
|
+
idofs.Append(first_facet_dof[i+1]-1);
|
|
200
|
+
}
|
|
201
|
+
else
|
|
202
|
+
{
|
|
203
|
+
for (int i=0; i < ET_T::N_FACET; i++)
|
|
204
|
+
{
|
|
205
|
+
int pos = first_facet_dof[i]-2;
|
|
206
|
+
int fac = 4 - ElementTopology::GetNVertices(ElementTopology::GetFaceType(ET,i));
|
|
207
|
+
for (int k = 0; k <= facet_order[i][0]; k++){
|
|
208
|
+
pos += 2*(facet_order[i][0]+1-fac*k);
|
|
209
|
+
idofs.Append(pos);
|
|
210
|
+
idofs.Append(pos+1);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}//end if Dimension
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
#endif
|
|
223
|
+
|
|
224
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#ifndef TANGENTIAL_FACET_FESPACE_HPP
|
|
2
|
+
#define TANGENTIAL_FACET_FESPACE_HPP
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: tangentialfacetfespace.hpp */
|
|
6
|
+
/* Author: A. Sinwel, Joachim Schoeberl */
|
|
7
|
+
/* Date: 2008 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
#include "fespace.hpp"
|
|
12
|
+
|
|
13
|
+
namespace ngcomp
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
class NGS_DLL_HEADER TangentialFacetFESpace : public FESpace
|
|
17
|
+
{
|
|
18
|
+
protected:
|
|
19
|
+
Array<int> first_facet_dof;
|
|
20
|
+
Array<int> first_inner_dof; // for highest_order_dc
|
|
21
|
+
|
|
22
|
+
int rel_order;
|
|
23
|
+
|
|
24
|
+
Array<IVec<2> > order_facet;
|
|
25
|
+
Array<bool> fine_facet;
|
|
26
|
+
|
|
27
|
+
bool var_order;
|
|
28
|
+
bool print;
|
|
29
|
+
|
|
30
|
+
bool highest_order_dc;
|
|
31
|
+
bool hide_highest_order_dc;
|
|
32
|
+
bool all_dofs_together;
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
TangentialFacetFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
|
|
36
|
+
bool parseflags = false );
|
|
37
|
+
|
|
38
|
+
virtual ~TangentialFacetFESpace () { ; }
|
|
39
|
+
static DocInfo GetDocu ();
|
|
40
|
+
|
|
41
|
+
virtual string GetClassName () const override
|
|
42
|
+
{
|
|
43
|
+
return "TangentialFacetFESpace";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void Update() override;
|
|
47
|
+
virtual void UpdateCouplingDofArray() override;
|
|
48
|
+
|
|
49
|
+
virtual void SetOrder (NodeId ni, int order) override;
|
|
50
|
+
virtual int GetOrder (NodeId ni) const override;
|
|
51
|
+
|
|
52
|
+
virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
virtual FiniteElement & GetFE(ElementId ei, Allocator & lh) const override;
|
|
56
|
+
|
|
57
|
+
virtual void GetFacetDofNrs (int felnr, Array<DofId> & dnums) const;
|
|
58
|
+
|
|
59
|
+
virtual int GetNFacetDofs (int felnr) const;
|
|
60
|
+
|
|
61
|
+
virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
|
|
62
|
+
///
|
|
63
|
+
virtual shared_ptr<Array<int>> CreateDirectSolverClusters (const Flags & precflags) const override;
|
|
64
|
+
|
|
65
|
+
// some utility functions for convenience
|
|
66
|
+
///
|
|
67
|
+
// virtual void GetVertexNumbers(int elnr, Array<int>& vnums) const;
|
|
68
|
+
///
|
|
69
|
+
virtual IVec<2> GetFacetOrder(int fnr) const;
|
|
70
|
+
|
|
71
|
+
virtual int GetFirstFacetDof(int fanr) const;
|
|
72
|
+
const auto & GetFirstFacetDof() const { return first_facet_dof; }
|
|
73
|
+
|
|
74
|
+
IntRange GetFacetDofs (int nr) const
|
|
75
|
+
{
|
|
76
|
+
return IntRange (first_facet_dof[nr], first_facet_dof[nr+1]);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
virtual bool UsesHighestOrderDiscontinuous() const {return highest_order_dc;};
|
|
80
|
+
|
|
81
|
+
virtual void GetVertexDofNrs (int elnum, Array<DofId> & dnums) const override;
|
|
82
|
+
virtual void GetEdgeDofNrs (int elnum, Array<DofId> & dnums) const override;
|
|
83
|
+
virtual void GetFaceDofNrs (int felnr, Array<DofId> & dnums) const override;
|
|
84
|
+
virtual void GetInnerDofNrs (int felnr, Array<DofId> & dnums) const override;
|
|
85
|
+
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#endif
|
|
91
|
+
|