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,229 @@
|
|
|
1
|
+
#ifndef FILE_L2HOFEFO
|
|
2
|
+
#define FILE_L2HOFEFO
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: l2hofefo.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: Apr. 2009 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "thdivfe.hpp"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
namespace ngfem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
High order finite elements for L2 of fixed order
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
template<int DIM>
|
|
22
|
+
class HDivHighOrderFiniteElementFO : virtual public HDivFiniteElement<DIM>
|
|
23
|
+
{
|
|
24
|
+
protected:
|
|
25
|
+
int vnums[8];
|
|
26
|
+
bool ho_div_free;
|
|
27
|
+
bool only_ho_div;
|
|
28
|
+
public:
|
|
29
|
+
void SetVertexNumber (int nr, int vnum) { vnums[nr] = vnum; }
|
|
30
|
+
void SetHODivFree (bool aho_div_free) { ho_div_free = aho_div_free; only_ho_div = only_ho_div && !ho_div_free;};
|
|
31
|
+
void SetOnlyHODiv (bool aonly_ho_div) { only_ho_div = aonly_ho_div; ho_div_free = ho_div_free && !only_ho_div;};
|
|
32
|
+
virtual void ComputeNDof () = 0;
|
|
33
|
+
};
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
template <ELEMENT_TYPE ET, int ORDER> class HDivHighOrderFEFO;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
template <ELEMENT_TYPE ET, int ORDER>
|
|
41
|
+
class T_HDivHighOrderFiniteElementFO :
|
|
42
|
+
public HDivHighOrderFiniteElementFO<ET_trait<ET>::DIM>,
|
|
43
|
+
public T_HDivFiniteElement< HDivHighOrderFEFO<ET,ORDER>, ET >,
|
|
44
|
+
public ET_trait<ET>
|
|
45
|
+
{
|
|
46
|
+
protected:
|
|
47
|
+
enum { DIM = ET_trait<ET>::DIM };
|
|
48
|
+
|
|
49
|
+
using HDivFiniteElement<DIM>::ndof;
|
|
50
|
+
using HDivFiniteElement<DIM>::order;
|
|
51
|
+
|
|
52
|
+
using HDivHighOrderFiniteElementFO<DIM>::vnums;
|
|
53
|
+
using HDivHighOrderFiniteElementFO<DIM>::ho_div_free;
|
|
54
|
+
using HDivHighOrderFiniteElementFO<DIM>::only_ho_div;
|
|
55
|
+
|
|
56
|
+
using ET_trait<ET>::N_VERTEX;
|
|
57
|
+
using ET_trait<ET>::N_EDGE;
|
|
58
|
+
using ET_trait<ET>::N_FACE;
|
|
59
|
+
using ET_trait<ET>::FaceType;
|
|
60
|
+
using ET_trait<ET>::GetEdgeSort;
|
|
61
|
+
using ET_trait<ET>::GetFaceSort;
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
public:
|
|
66
|
+
|
|
67
|
+
T_HDivHighOrderFiniteElementFO ()
|
|
68
|
+
{
|
|
69
|
+
for (int i = 0; i < ET_trait<ET>::N_VERTEX; i++)
|
|
70
|
+
vnums[i] = i;
|
|
71
|
+
ho_div_free = false;
|
|
72
|
+
only_ho_div = false;
|
|
73
|
+
order = ORDER;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
High order triangular finite element
|
|
82
|
+
*/
|
|
83
|
+
template <int ORDER>
|
|
84
|
+
class HDivHighOrderFEFO<ET_TRIG, ORDER> :
|
|
85
|
+
public T_HDivFiniteElement<HDivHighOrderFEFO<ET_TRIG,ORDER>, ET_TRIG>,
|
|
86
|
+
public ET_trait<ET_TRIG>
|
|
87
|
+
{
|
|
88
|
+
using T_HDivFiniteElement<HDivHighOrderFEFO<ET_TRIG,ORDER>, ET_TRIG> :: ndof;
|
|
89
|
+
using T_HDivFiniteElement<HDivHighOrderFEFO<ET_TRIG,ORDER>, ET_TRIG> :: order;
|
|
90
|
+
/*
|
|
91
|
+
using T_HDivFiniteElement<ET_TRIG, ORDER>::ndof;
|
|
92
|
+
using T_HDivFiniteElement<ET_TRIG, ORDER>::vnums;
|
|
93
|
+
using T_HDivFiniteElement<ET_TRIG, ORDER>::ho_div_free;
|
|
94
|
+
using T_HDivFiniteElement<ET_TRIG, ORDER>::only_ho_div;
|
|
95
|
+
*/
|
|
96
|
+
|
|
97
|
+
int vnums[3];
|
|
98
|
+
bool ho_div_free;
|
|
99
|
+
bool only_ho_div;
|
|
100
|
+
|
|
101
|
+
public:
|
|
102
|
+
|
|
103
|
+
typedef IntegratedLegendreMonomialExt T_ORTHOPOL;
|
|
104
|
+
typedef TrigShapesInnerLegendre T_TRIGSHAPES;
|
|
105
|
+
|
|
106
|
+
public:
|
|
107
|
+
HDivHighOrderFEFO ()
|
|
108
|
+
: ho_div_free(false), only_ho_div(false)
|
|
109
|
+
{
|
|
110
|
+
order = ORDER;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
void SetVertexNumber (int nr, int vnum) { vnums[nr] = vnum; }
|
|
115
|
+
void SetHODivFree (bool aho_div_free) { ho_div_free = aho_div_free; only_ho_div = only_ho_div && !ho_div_free;};
|
|
116
|
+
void SetOnlyHODiv (bool aonly_ho_div) { only_ho_div = aonly_ho_div; ho_div_free = ho_div_free && !only_ho_div;};
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
virtual ELEMENT_TYPE ElementType() const { return ET_TRIG; }
|
|
121
|
+
|
|
122
|
+
virtual void ComputeNDof()
|
|
123
|
+
{
|
|
124
|
+
if (only_ho_div)
|
|
125
|
+
ndof = ORDER*(ORDER+1)/2 - 1;
|
|
126
|
+
else
|
|
127
|
+
{
|
|
128
|
+
ndof = 3 * (ORDER+1);
|
|
129
|
+
ndof += (ho_div_free) ? ORDER*(ORDER-1)/2 : ORDER*ORDER-1;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
virtual void GetInternalDofs (Array<int> & idofs) const
|
|
134
|
+
{
|
|
135
|
+
idofs.SetSize(0);
|
|
136
|
+
idofs += IntRange (3*(ORDER+1), ndof);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
virtual void GetFacetDofs(int i, Array<int> & dnums) const
|
|
140
|
+
{
|
|
141
|
+
dnums.SetSize (0);
|
|
142
|
+
dnums += i;
|
|
143
|
+
dnums += 3+IntRange (i*ORDER,(i+1)*ORDER);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
template<typename Tx, typename TFA>
|
|
148
|
+
void T_CalcShape (TIP<2,Tx> ip, TFA & shape) const
|
|
149
|
+
{
|
|
150
|
+
if (only_ho_div && (ORDER <= 1)) return;
|
|
151
|
+
Tx x = ip.x, y = ip.y;
|
|
152
|
+
Tx lami[3] = { x, y, 1-x-y };
|
|
153
|
+
|
|
154
|
+
Tx adpol1[ORDER], adpol2[ORDER];
|
|
155
|
+
|
|
156
|
+
int ii = 3;
|
|
157
|
+
|
|
158
|
+
if (!only_ho_div){
|
|
159
|
+
// const EDGE * edges = ElementTopology::GetEdges (ET_TRIG);
|
|
160
|
+
for (int i = 0; i < 3; i++)
|
|
161
|
+
{
|
|
162
|
+
IVec<2> e = this->GetEdgeSort (i, vnums);
|
|
163
|
+
|
|
164
|
+
//Nedelec low order edge shape function
|
|
165
|
+
shape[i] = uDv_minus_vDu (lami[e[0]], lami[e[1]]);
|
|
166
|
+
|
|
167
|
+
//HO-Edge shapes (Gradient Fields)
|
|
168
|
+
if(ORDER > 0) // && usegrad_edge[i])
|
|
169
|
+
{
|
|
170
|
+
Tx xi = lami[e[1]] - lami[e[0]];
|
|
171
|
+
// LegendrePolynomial::
|
|
172
|
+
IntLegNoBubble::
|
|
173
|
+
EvalScaledMult (ORDER-1, xi, lami[e[0]]+lami[e[1]],
|
|
174
|
+
lami[e[0]]*lami[e[1]],
|
|
175
|
+
SBLambda([&](int i, Tx v)
|
|
176
|
+
{
|
|
177
|
+
shape[ii++] = Du(v);
|
|
178
|
+
}));
|
|
179
|
+
/*
|
|
180
|
+
AutoDiff<2> eta = 1 - lami[e[1]] - lami[e[0]];
|
|
181
|
+
// T_ORTHOPOL::CalcTrigExt(ORDER+1, xi, eta, adpol1);
|
|
182
|
+
T_ORTHOPOL::CalcScaled<ORDER+1> (xi, 1-eta, adpol1);
|
|
183
|
+
|
|
184
|
+
for(int j = 0; j < ORDER; j++)
|
|
185
|
+
shape[ii++] = Du<2> (adpol1[j]);
|
|
186
|
+
*/
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else
|
|
191
|
+
ii = 0;
|
|
192
|
+
//Inner shapes (Face)
|
|
193
|
+
if(ORDER > 1)
|
|
194
|
+
{
|
|
195
|
+
IVec<4> fav = this->GetFaceSort (0, vnums);
|
|
196
|
+
|
|
197
|
+
Tx xi = lami[fav[2]]-lami[fav[1]];
|
|
198
|
+
Tx eta = lami[fav[0]];
|
|
199
|
+
|
|
200
|
+
TrigShapesInnerLegendre::CalcSplitted<ORDER+1> (xi, eta, adpol1,adpol2);
|
|
201
|
+
|
|
202
|
+
if (!only_ho_div)
|
|
203
|
+
{
|
|
204
|
+
// rotated gradients:
|
|
205
|
+
for (int j = 0; j < ORDER-1; j++)
|
|
206
|
+
for (int k = 0; k < ORDER-1-j; k++, ii++)
|
|
207
|
+
shape[ii] = Du (adpol1[j] * adpol2[k]);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
if (!ho_div_free)
|
|
211
|
+
{
|
|
212
|
+
// other combination
|
|
213
|
+
for (int j = 0; j < ORDER-1; j++)
|
|
214
|
+
for (int k = 0; k < ORDER-1-j; k++, ii++)
|
|
215
|
+
shape[ii] = uDv_minus_vDu (adpol2[k], adpol1[j]);
|
|
216
|
+
|
|
217
|
+
// rec_pol * Nedelec0
|
|
218
|
+
for (int j = 0; j < ORDER-1; j++, ii++)
|
|
219
|
+
shape[ii] = wuDv_minus_wvDu (lami[fav[1]], lami[fav[2]], adpol2[j]);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
#endif
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
#ifndef FILE_HDIVHOFESPACE
|
|
2
|
+
#define FILE_HDIVHOFESPACE
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: hdivhofespace.hpp */
|
|
6
|
+
/* Author: START */
|
|
7
|
+
/* Date: Feb. 2003, update (SZ) Jan. 2007 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "fespace.hpp"
|
|
11
|
+
|
|
12
|
+
namespace ngcomp
|
|
13
|
+
{
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
HDiv High Order Finite Element Space
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
class NGS_DLL_HEADER HDivHighOrderFESpace : public FESpace
|
|
20
|
+
{
|
|
21
|
+
protected:
|
|
22
|
+
// Level
|
|
23
|
+
int level;
|
|
24
|
+
// Number Dofs
|
|
25
|
+
// int ndof;
|
|
26
|
+
// order of curl-fields
|
|
27
|
+
int curl_order;
|
|
28
|
+
|
|
29
|
+
Array<DofId> first_facet_dof;
|
|
30
|
+
Array<DofId> first_inner_dof;
|
|
31
|
+
|
|
32
|
+
/// relative order to mesh-order
|
|
33
|
+
int rel_order;
|
|
34
|
+
// curl-order relative to mesh order
|
|
35
|
+
int rel_curl_order;
|
|
36
|
+
// space is of variable order
|
|
37
|
+
bool var_order;
|
|
38
|
+
// space is continuous/discontinuous
|
|
39
|
+
bool discont;
|
|
40
|
+
|
|
41
|
+
Array<IVec<3> > order_inner;
|
|
42
|
+
Array<IVec<3> > order_inner_curl;
|
|
43
|
+
Array<IVec<2> > order_facet;
|
|
44
|
+
Array<bool> fine_facet;
|
|
45
|
+
Array<bool> boundary_facet;
|
|
46
|
+
|
|
47
|
+
// Array<int> ndlevel;
|
|
48
|
+
int uniform_order_inner;
|
|
49
|
+
int uniform_order_facet;
|
|
50
|
+
|
|
51
|
+
// high order divergence free
|
|
52
|
+
bool ho_div_free;
|
|
53
|
+
///
|
|
54
|
+
bool fixed_order;
|
|
55
|
+
|
|
56
|
+
bool RT = false;
|
|
57
|
+
|
|
58
|
+
// highest-order facet dofs discontinuous ?
|
|
59
|
+
bool highest_order_dc;
|
|
60
|
+
// hide all used dofs
|
|
61
|
+
bool hide_all_dofs;
|
|
62
|
+
// discontinuous facet pairs:
|
|
63
|
+
Array<IVec<2>> dc_pairs;
|
|
64
|
+
public:
|
|
65
|
+
HDivHighOrderFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
|
|
66
|
+
bool parseflags=false);
|
|
67
|
+
///
|
|
68
|
+
virtual ~HDivHighOrderFESpace ();
|
|
69
|
+
static DocInfo GetDocu ();
|
|
70
|
+
|
|
71
|
+
virtual void UpdateDofTables() override;
|
|
72
|
+
|
|
73
|
+
virtual void UpdateCouplingDofArray() override;
|
|
74
|
+
|
|
75
|
+
virtual void SetOrder (NodeId ni, int order) override;
|
|
76
|
+
virtual int GetOrder (NodeId ni) const override;
|
|
77
|
+
using FESpace::GetOrder;
|
|
78
|
+
|
|
79
|
+
virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override
|
|
80
|
+
{
|
|
81
|
+
static VorB nodes[] = { VOL, BND };
|
|
82
|
+
return FlatArray<VorB> (2, &nodes[0]);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
virtual string GetClassName () const override
|
|
86
|
+
{
|
|
87
|
+
return "HDivHighOrderFESpace";
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/// averaging over high-order dc dofs
|
|
91
|
+
void Average (BaseVector & vec) const;
|
|
92
|
+
|
|
93
|
+
///
|
|
94
|
+
void Update() override;
|
|
95
|
+
///
|
|
96
|
+
// virtual size_t GetNDof () const throw() override;
|
|
97
|
+
///
|
|
98
|
+
// virtual size_t GetNDofLevel (int level) const override;
|
|
99
|
+
///
|
|
100
|
+
virtual FiniteElement & GetFE (ElementId ei, Allocator & alloc) const override;
|
|
101
|
+
///
|
|
102
|
+
// virtual const FiniteElement & GetFE (int elnr, LocalHeap & lh) const override;
|
|
103
|
+
///
|
|
104
|
+
template <ELEMENT_TYPE ET>
|
|
105
|
+
FiniteElement & T_GetFE (int elnr, bool onlyhdiv, Allocator & lh) const;
|
|
106
|
+
///
|
|
107
|
+
virtual const FiniteElement & GetHODivFE (int elnr, LocalHeap & lh) const;
|
|
108
|
+
///
|
|
109
|
+
// virtual const FiniteElement & GetSFE (int selnr, LocalHeap & lh) const override; // 2D: array =0.;
|
|
110
|
+
///
|
|
111
|
+
virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
|
|
112
|
+
///
|
|
113
|
+
virtual shared_ptr<Table<int>> CreateSmoothingBlocks (const Flags & precflags) const override;
|
|
114
|
+
///
|
|
115
|
+
virtual shared_ptr<Array<int>> CreateDirectSolverClusters (const Flags & precflags) const override;
|
|
116
|
+
///
|
|
117
|
+
virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
|
|
118
|
+
///
|
|
119
|
+
virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
|
|
120
|
+
///
|
|
121
|
+
virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
|
|
122
|
+
///
|
|
123
|
+
virtual void GetFacetDofNrs(int fanr, Array<DofId> & dnums) const
|
|
124
|
+
{
|
|
125
|
+
if (ma->GetDimension() == 2) GetEdgeDofNrs(fanr,dnums);
|
|
126
|
+
else if (ma->GetDimension() == 3) GetFaceDofNrs(fanr,dnums);
|
|
127
|
+
}
|
|
128
|
+
///
|
|
129
|
+
virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override;
|
|
130
|
+
///
|
|
131
|
+
void GetFacetOrder (Array<IVec<2> > & of, Array<bool> & ff) const
|
|
132
|
+
{of = order_facet; ff = fine_facet;};
|
|
133
|
+
|
|
134
|
+
///
|
|
135
|
+
int GetNElemDofs(int elnr) const
|
|
136
|
+
{
|
|
137
|
+
if(discont) return(first_inner_dof[elnr+1] - first_inner_dof[elnr]);
|
|
138
|
+
else
|
|
139
|
+
{
|
|
140
|
+
Array<DofId> dnums;
|
|
141
|
+
this->GetDofNrs(elnr,dnums);
|
|
142
|
+
return(dnums.Size());
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
void SelectDofs (const string & name, BitArray & dofs) const override;
|
|
147
|
+
|
|
148
|
+
int GetFirstInnerDof(int elnr) const { return(first_inner_dof[elnr]);};
|
|
149
|
+
// virtual int LowOrderDof() const { if(discont) return(0); else return(1);}
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
const Array<IVec<2>> & GetDCPairs () const { return dc_pairs; }
|
|
153
|
+
|
|
154
|
+
virtual bool VarOrder() const override { return var_order; }
|
|
155
|
+
virtual int GetRelOrder() const override { return rel_order; }
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
auto GetFacetDofs (size_t nr) const
|
|
159
|
+
{
|
|
160
|
+
return Range (first_facet_dof[nr], first_facet_dof[nr+1]);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
auto GetElementDofs (size_t nr) const
|
|
164
|
+
{
|
|
165
|
+
return Range (first_inner_dof[nr], first_inner_dof[nr+1]);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
#endif
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#ifndef FILE_HDIVHOSURFACEFESPACE
|
|
2
|
+
#define FILE_HDIVHOSURFACEFESPACE
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: hdivhosurfacefespace.hpp */
|
|
6
|
+
/* Author: Philip Lederer, Michael Neunteufel */
|
|
7
|
+
/* Date: September 2017 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "fespace.hpp"
|
|
11
|
+
|
|
12
|
+
namespace ngcomp
|
|
13
|
+
{
|
|
14
|
+
class NGS_DLL_HEADER HDivHighOrderSurfaceFESpace : public FESpace
|
|
15
|
+
{
|
|
16
|
+
protected:
|
|
17
|
+
|
|
18
|
+
// int ndof;
|
|
19
|
+
|
|
20
|
+
Array<DofId> first_facet_dof;
|
|
21
|
+
Array<DofId> first_inner_dof;
|
|
22
|
+
|
|
23
|
+
bool discont;
|
|
24
|
+
|
|
25
|
+
Array<IVec<3> > order_inner;
|
|
26
|
+
//Array<IVec<3> > order_inner_curl;
|
|
27
|
+
Array<IVec<2> > order_facet;
|
|
28
|
+
Array<bool> fine_facet;
|
|
29
|
+
Array<bool> boundary_facet;
|
|
30
|
+
|
|
31
|
+
// Array<int> ndlevel;
|
|
32
|
+
int uniform_order_inner;
|
|
33
|
+
int uniform_order_facet;
|
|
34
|
+
|
|
35
|
+
bool ho_div_free;
|
|
36
|
+
bool highest_order_dc;
|
|
37
|
+
|
|
38
|
+
bool RT = false;
|
|
39
|
+
|
|
40
|
+
Array<IVec<2>> dc_pairs;
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
HDivHighOrderSurfaceFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
|
|
44
|
+
bool parseflags=false);
|
|
45
|
+
|
|
46
|
+
virtual ~HDivHighOrderSurfaceFESpace ();
|
|
47
|
+
static DocInfo GetDocu ();
|
|
48
|
+
|
|
49
|
+
virtual string GetClassName () const override
|
|
50
|
+
{
|
|
51
|
+
return "HDivHighOrderSurfaceFESpace";
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override
|
|
55
|
+
{
|
|
56
|
+
static VorB nodes[] = { VOL, BND };
|
|
57
|
+
return FlatArray<VorB> (2, &nodes[0]);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
void Average (BaseVector & vec) const;
|
|
61
|
+
|
|
62
|
+
void Update() override;
|
|
63
|
+
|
|
64
|
+
virtual void UpdateDofTables() override;
|
|
65
|
+
virtual void UpdateCouplingDofArray() override;
|
|
66
|
+
|
|
67
|
+
// virtual size_t GetNDof () const throw() override;
|
|
68
|
+
|
|
69
|
+
virtual FiniteElement & GetFE (ElementId ei, Allocator & alloc) const override;
|
|
70
|
+
|
|
71
|
+
template <ELEMENT_TYPE ET>
|
|
72
|
+
FiniteElement & T_GetSFE (ElementId ei, bool onlyhdiv, Allocator & alloc) const;
|
|
73
|
+
|
|
74
|
+
virtual const FiniteElement & GetHODivFE (int elnr, LocalHeap & lh) const;
|
|
75
|
+
|
|
76
|
+
virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
|
|
77
|
+
//virtual void GetSDofNrs (ElementId ei, Array<DofId> & dnums) const;
|
|
78
|
+
|
|
79
|
+
const Array<IVec<2>> & GetDCPairs () const { return dc_pairs; }
|
|
80
|
+
|
|
81
|
+
virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
|
|
82
|
+
|
|
83
|
+
virtual void GetFacetDofNrs(int fanr, Array<DofId> & dnums) const;
|
|
84
|
+
|
|
85
|
+
virtual void GetInnerDofNrs(int elnr, Array<DofId> & dnums) const override;
|
|
86
|
+
|
|
87
|
+
auto GetFacetDofs (size_t nr) const
|
|
88
|
+
{
|
|
89
|
+
return Range (first_facet_dof[nr], first_facet_dof[nr+1]);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
auto GetElementDofs (size_t nr) const
|
|
93
|
+
{
|
|
94
|
+
return Range (first_inner_dof[nr], first_inner_dof[nr+1]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|