ngsolve 6.2.2406.post126.dev1__cp311-cp311-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.
Potentially problematic release.
This version of ngsolve might be problematic. Click here for more details.
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngs_nvcc +14 -0
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngs_nvlink +14 -0
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngscxx +15 -0
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngsld +11 -0
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngsolve.tcl +648 -0
- ngsolve-6.2.2406.post126.dev1.data/data/bin/ngspy +2 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/arnoldi.hpp +55 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bandmatrix.hpp +334 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/basematrix.hpp +957 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/basevector.hpp +1268 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bdbequations.hpp +2752 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bdbintegrator.hpp +1659 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bessel.hpp +1064 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bilinearform.hpp +963 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bla.hpp +29 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/blockalloc.hpp +95 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/blockjacobi.hpp +316 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/bspline.hpp +114 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/calcinverse.hpp +141 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cg.hpp +368 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/chebyshev.hpp +44 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cholesky.hpp +720 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/clapack.h +7254 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/code_generation.hpp +296 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/coefficient.hpp +2006 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/coefficient_impl.hpp +18 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/coefficient_stdmath.hpp +157 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/commutingAMG.hpp +106 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/comp.hpp +79 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/compatibility.hpp +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/complex_wrapper.hpp +73 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/compressedfespace.hpp +110 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/contact.hpp +231 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cuda_linalg.hpp +176 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cuda_ngbla.hpp +226 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cuda_ngstd.hpp +527 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/cuda_profiler.hpp +240 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/diagonalmatrix.hpp +154 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/differentialoperator.hpp +276 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/diffop.hpp +1286 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/diffop_impl.hpp +326 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/discontinuous.hpp +84 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/dump.hpp +949 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/eigen.hpp +60 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/eigensystem.hpp +18 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/elasticity_equations.hpp +595 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/elementbyelement.hpp +195 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/elementtopology.hpp +1760 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/elementtransformation.hpp +339 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/evalfunc.hpp +405 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/expr.hpp +1655 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/facetfe.hpp +175 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/facetfespace.hpp +178 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/facethofe.hpp +111 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/facetsurffespace.hpp +112 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/fe_interfaces.hpp +32 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/fem.hpp +87 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/fesconvert.hpp +14 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/fespace.hpp +1445 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/finiteelement.hpp +286 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/globalinterfacespace.hpp +77 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/globalspace.hpp +115 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/gridfunction.hpp +525 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1amg.hpp +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1hofe.hpp +188 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1hofe_impl.hpp +1262 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1hofefo.hpp +148 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1hofefo_impl.hpp +185 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1hofespace.hpp +167 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1lofe.hpp +1237 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/h1lumping.hpp +35 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurl_equations.hpp +1352 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlcurlfe.hpp +2221 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlfe.hpp +259 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlfe_utils.hpp +107 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlhdiv_dshape.hpp +857 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlhdivfes.hpp +308 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlhofe.hpp +175 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlhofe_impl.hpp +1871 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurlhofespace.hpp +193 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hcurllofe.hpp +1146 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdiv_equations.hpp +865 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivdivfe.hpp +2923 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivdivsurfacespace.hpp +76 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivfe.hpp +206 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivfe_utils.hpp +716 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivfes.hpp +75 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivhofe.hpp +447 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivhofe_impl.hpp +1107 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivhofefo.hpp +229 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivhofespace.hpp +175 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivhosurfacefespace.hpp +106 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hdivlofe.hpp +773 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hidden.hpp +74 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/householder.hpp +181 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hypre_ams_precond.hpp +123 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/hypre_precond.hpp +73 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/integrator.hpp +2024 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/integratorcf.hpp +253 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/interpolate.hpp +49 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/intrule.hpp +2541 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/irspace.hpp +49 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/jacobi.hpp +136 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/l2hofe.hpp +193 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/l2hofe_impl.hpp +564 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/l2hofefo.hpp +542 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/l2hofespace.hpp +344 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/la.hpp +38 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/linalg_kernels.hpp +102 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/linearform.hpp +266 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/matrix.hpp +2140 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/memusage.hpp +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/meshaccess.hpp +1358 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/mgpre.hpp +204 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/mptools.hpp +2145 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/multigrid.hpp +42 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/multivector.hpp +447 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/mumpsinverse.hpp +185 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/mycomplex.hpp +361 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ng_lapack.hpp +1661 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngblas.hpp +1099 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngs_defines.hpp +30 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngs_stdcpp_include.hpp +106 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngs_utils.hpp +121 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngsobject.hpp +1019 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngsstream.hpp +113 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/ngstd.hpp +72 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/nodalhofe.hpp +96 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/nodalhofe_impl.hpp +141 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/normalfacetfe.hpp +223 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/normalfacetfespace.hpp +98 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/normalfacetsurfacefespace.hpp +84 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/order.hpp +251 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/parallel_matrices.hpp +222 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/paralleldofs.hpp +340 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/parallelngs.hpp +23 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/parallelvector.hpp +269 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/pardisoinverse.hpp +200 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/periodic.hpp +125 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/plateaufespace.hpp +25 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/pml.hpp +275 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/pmltrafo.hpp +631 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/postproc.hpp +142 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/precomp.hpp +60 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/preconditioner.hpp +602 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/prolongation.hpp +235 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/python_comp.hpp +107 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/python_fem.hpp +89 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/python_linalg.hpp +58 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/python_ngstd.hpp +385 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/recursive_pol.hpp +4844 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/recursive_pol_tet.hpp +395 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/recursive_pol_trig.hpp +492 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/reorderedfespace.hpp +81 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/sample_sort.hpp +105 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/scalarfe.hpp +335 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/shapefunction_utils.hpp +113 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/simd_complex.hpp +284 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/smoother.hpp +253 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/solve.hpp +89 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/sparsecholesky.hpp +313 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/sparsematrix.hpp +1038 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/sparsematrix_dyn.hpp +91 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/sparsematrix_impl.hpp +920 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/special_matrix.hpp +461 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/specialelement.hpp +125 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/statushandler.hpp +33 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/stringops.hpp +12 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/superluinverse.hpp +136 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/symbolicintegrator.hpp +849 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/symmetricmatrix.hpp +144 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tangentialfacetfe.hpp +224 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tangentialfacetfespace.hpp +106 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tensor.hpp +522 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tensorcoefficient.hpp +446 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tensorproductintegrator.hpp +113 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/thcurlfe.hpp +128 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/thcurlfe_impl.hpp +380 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/thdivfe.hpp +80 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/thdivfe_impl.hpp +426 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tpdiffop.hpp +461 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tpfes.hpp +133 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tpintrule.hpp +224 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/triangular.hpp +465 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tscalarfe.hpp +245 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/tscalarfe_impl.hpp +1029 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/umfpackinverse.hpp +148 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/unifiedvector.hpp +103 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/vector.hpp +1219 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/voxelcoefficientfunction.hpp +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/vtkoutput.hpp +198 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/vvector.hpp +208 -0
- ngsolve-6.2.2406.post126.dev1.data/data/include/netgen/webgui.hpp +92 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/cmake/ngsolve/NGSolveConfig.cmake +102 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +79 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/cmake/ngsolve/ngsolve-targets.cmake +173 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngla.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngstd.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/TensorProductTools.py +210 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/__console.py +94 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/__expr.py +181 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/__init__.py +143 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/_scikit_build_core_dependencies.py +30 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/bvp.py +78 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/__init__.py +1 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/__main__.py +4 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/config.py +59 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/config.py +59 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/__init__.py +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/__init__.py +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/hhj.py +44 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/hybrid_dg.py +53 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/mixed.py +30 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/nonlin.py +29 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/pickling.py +26 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/pml.py +31 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/taskmanager.py +20 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/tdnns.py +47 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +45 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG.py +38 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGlap.py +42 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGwave.py +61 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/__init__.py +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/adaptive.py +123 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/cmagnet.py +62 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/elasticity.py +76 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/navierstokes.py +74 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.ipynb +170 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.py +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_poisson.py +89 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +82 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/directsolvers.py +26 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/eigenvalues.py +364 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/internal.py +89 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/krylovspace.py +1013 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/meshes.py +748 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngs2petsc.py +310 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngscuda.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngscxx.py +42 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.py +203 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/preconditioners.py +10 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/solvers.py +7 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/timestepping.py +185 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/timing.py +108 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/utils.py +167 -0
- ngsolve-6.2.2406.post126.dev1.data/data/lib/python3.11/site-packages/ngsolve/webgui.py +669 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/beam.geo +17 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/beam.vol +240 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/chip.in2d +41 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/chip.vol +614 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/coil.geo +12 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/coil.vol +2560 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/coilshield.geo +24 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/coilshield.vol +3179 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/cube.geo +19 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/cube.vol +1832 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d1_square.pde +43 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d2_chip.pde +35 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d4_cube.pde +46 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d5_beam.pde +74 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d6_shaft.pde +73 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d7_coil.pde +50 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d8_coilshield.pde +49 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/doubleglazing.in2d +27 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/doubleglazing.vol +737 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/shaft.geo +73 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/shaft.vol +4291 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/square.in2d +17 -0
- ngsolve-6.2.2406.post126.dev1.data/data/share/ngsolve/square.vol +149 -0
- ngsolve-6.2.2406.post126.dev1.dist-info/LICENSE +504 -0
- ngsolve-6.2.2406.post126.dev1.dist-info/METADATA +13 -0
- ngsolve-6.2.2406.post126.dev1.dist-info/RECORD +293 -0
- ngsolve-6.2.2406.post126.dev1.dist-info/WHEEL +5 -0
- ngsolve-6.2.2406.post126.dev1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
#ifndef FILE_HCURLFE
|
|
2
|
+
#define FILE_HCURLFE
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: hcurlfe.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 16. Apr. 2000 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "finiteelement.hpp"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
namespace ngfem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
HCurl Finite Element Definitions
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
template <int D> class HDivFiniteElement;
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
constexpr int DIM_CURL_ (int D) { return (D*(D-1))/2; }
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
H(Curl) finite element of dimension D
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class BaseHCurlFiniteElement : public FiniteElement
|
|
33
|
+
{
|
|
34
|
+
public:
|
|
35
|
+
using FiniteElement :: FiniteElement;
|
|
36
|
+
|
|
37
|
+
virtual void CalcShape (const IntegrationPoint & ip,
|
|
38
|
+
BareSliceMatrix<> shape) const = 0;
|
|
39
|
+
|
|
40
|
+
virtual void CalcMappedShape (const BaseMappedIntegrationPoint & mip,
|
|
41
|
+
BareSliceMatrix<> shape) const = 0;
|
|
42
|
+
|
|
43
|
+
virtual void CalcMappedShape (const BaseMappedIntegrationRule & bmir, BareSliceMatrix<> shapes) const = 0;
|
|
44
|
+
|
|
45
|
+
virtual void CalcMappedShape (const SIMD<BaseMappedIntegrationPoint> & bmip,
|
|
46
|
+
BareSliceMatrix<SIMD<double>> shape) const = 0;
|
|
47
|
+
|
|
48
|
+
virtual void CalcMappedShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
49
|
+
BareSliceMatrix<SIMD<double>> shapes) const = 0;
|
|
50
|
+
|
|
51
|
+
/// compute curl of shape, default: numerical diff
|
|
52
|
+
virtual void CalcCurlShape (const IntegrationPoint & ip,
|
|
53
|
+
BareSliceMatrix<> curlshape) const = 0;
|
|
54
|
+
|
|
55
|
+
virtual void CalcMappedCurlShape (const BaseMappedIntegrationPoint & mip,
|
|
56
|
+
BareSliceMatrix<> curlshape) const = 0;
|
|
57
|
+
|
|
58
|
+
virtual void CalcMappedCurlShape (const BaseMappedIntegrationRule & mir,
|
|
59
|
+
BareSliceMatrix<> curlshape) const = 0;
|
|
60
|
+
|
|
61
|
+
virtual void CalcMappedCurlShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
62
|
+
BareSliceMatrix<SIMD<double>> curlshapes) const = 0;
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
NGS_DLL_HEADER virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir,
|
|
67
|
+
BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const;
|
|
68
|
+
NGS_DLL_HEADER virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir,
|
|
69
|
+
BareSliceVector<Complex> coefs, BareSliceMatrix<SIMD<Complex>> values) const;
|
|
70
|
+
NGS_DLL_HEADER virtual void EvaluateCurl (const SIMD_BaseMappedIntegrationRule & ir,
|
|
71
|
+
BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const;
|
|
72
|
+
|
|
73
|
+
NGS_DLL_HEADER virtual void AddTrans (const SIMD_BaseMappedIntegrationRule & ir,
|
|
74
|
+
BareSliceMatrix<SIMD<double>> values,
|
|
75
|
+
BareSliceVector<> coefs) const;
|
|
76
|
+
NGS_DLL_HEADER virtual void AddTrans (const SIMD_BaseMappedIntegrationRule & ir,
|
|
77
|
+
BareSliceMatrix<SIMD<Complex>> values,
|
|
78
|
+
BareSliceVector<Complex> coefs) const;
|
|
79
|
+
NGS_DLL_HEADER virtual void AddCurlTrans (const SIMD_BaseMappedIntegrationRule & ir,
|
|
80
|
+
BareSliceMatrix<SIMD<double>> values,
|
|
81
|
+
BareSliceVector<> coefs) const;
|
|
82
|
+
NGS_DLL_HEADER virtual void AddCurlTrans (const SIMD_BaseMappedIntegrationRule & ir,
|
|
83
|
+
BareSliceMatrix<SIMD<Complex>> values,
|
|
84
|
+
BareSliceVector<Complex> coefs) const;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
template <int D>
|
|
89
|
+
class HCurlFiniteElement : public BaseHCurlFiniteElement
|
|
90
|
+
{
|
|
91
|
+
|
|
92
|
+
public:
|
|
93
|
+
enum { DIM = D };
|
|
94
|
+
enum { DIM_CURL = DIM_CURL_(D) };
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
public:
|
|
98
|
+
using BaseHCurlFiniteElement::BaseHCurlFiniteElement;
|
|
99
|
+
|
|
100
|
+
HD virtual ~HCurlFiniteElement () { ; }
|
|
101
|
+
|
|
102
|
+
virtual string NGS_DLL_HEADER ClassName() const override;
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
/// compute curl of shape, default: numerical diff
|
|
106
|
+
void NGS_DLL_HEADER CalcCurlShape (const IntegrationPoint & ip,
|
|
107
|
+
BareSliceMatrix<> curlshape) const override;
|
|
108
|
+
|
|
109
|
+
/// compute shape
|
|
110
|
+
void NGS_DLL_HEADER CalcMappedShape (const BaseMappedIntegrationPoint & mip, BareSliceMatrix<> shape) const override;
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
void NGS_DLL_HEADER CalcMappedShape (const BaseMappedIntegrationRule & bmir, BareSliceMatrix<> shapes) const override;
|
|
114
|
+
|
|
115
|
+
void NGS_DLL_HEADER CalcMappedShape (const SIMD<BaseMappedIntegrationPoint> & bmip,
|
|
116
|
+
BareSliceMatrix<SIMD<double>> shape) const override;
|
|
117
|
+
|
|
118
|
+
void NGS_DLL_HEADER CalcMappedShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
119
|
+
BareSliceMatrix<SIMD<double>> shapes) const override;
|
|
120
|
+
|
|
121
|
+
/// compute curl of shape
|
|
122
|
+
void NGS_DLL_HEADER CalcMappedCurlShape (const BaseMappedIntegrationPoint & mip,
|
|
123
|
+
BareSliceMatrix<> curlshape) const override;
|
|
124
|
+
|
|
125
|
+
void NGS_DLL_HEADER CalcMappedCurlShape (const BaseMappedIntegrationRule & mir,
|
|
126
|
+
BareSliceMatrix<> curlshape) const override;
|
|
127
|
+
|
|
128
|
+
void NGS_DLL_HEADER CalcMappedCurlShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
129
|
+
BareSliceMatrix<SIMD<double>> curlshapes) const override;
|
|
130
|
+
|
|
131
|
+
///
|
|
132
|
+
const FlatMatrixFixWidth<DIM> GetShape (const IntegrationPoint & ip,
|
|
133
|
+
LocalHeap & lh) const
|
|
134
|
+
{
|
|
135
|
+
FlatMatrixFixWidth<DIM> shape(ndof, lh);
|
|
136
|
+
CalcShape (ip, shape);
|
|
137
|
+
return shape;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
virtual Vec<D>
|
|
142
|
+
EvaluateShape (const IntegrationPoint & ip,
|
|
143
|
+
BareSliceVector<double> x, LocalHeap & lh) const
|
|
144
|
+
{
|
|
145
|
+
HeapReset hr(lh);
|
|
146
|
+
return Trans (GetShape(ip, lh)) * x;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
using BaseHCurlFiniteElement::Evaluate;
|
|
150
|
+
NGS_DLL_HEADER virtual void
|
|
151
|
+
Evaluate (const IntegrationRule & ir, BareSliceVector<> coefs, SliceMatrix<> values) const;
|
|
152
|
+
|
|
153
|
+
NGS_DLL_HEADER virtual void
|
|
154
|
+
Evaluate (const MappedIntegrationRule<D,D> & mir, BareSliceVector<> coefs, SliceMatrix<> values) const;
|
|
155
|
+
|
|
156
|
+
const FlatMatrixFixWidth<DIM_CURL_(D)> GetCurlShape (const IntegrationPoint & ip,
|
|
157
|
+
LocalHeap & lh) const
|
|
158
|
+
{
|
|
159
|
+
FlatMatrixFixWidth<DIM_CURL_(D)> curlshape(ndof, lh);
|
|
160
|
+
CalcCurlShape (ip, curlshape);
|
|
161
|
+
return curlshape;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
template <typename TVX>
|
|
165
|
+
Vec<DIM_CURL_(D), typename TVX::TSCAL>
|
|
166
|
+
EvaluateCurlShape (const IntegrationPoint & ip,
|
|
167
|
+
const TVX & x, LocalHeap & lh) const
|
|
168
|
+
{
|
|
169
|
+
HeapReset hr(lh);
|
|
170
|
+
return Trans (GetCurlShape(ip, lh)) * x;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
virtual Vec<DIM_CURL_(D)>
|
|
174
|
+
EvaluateCurlShape (const IntegrationPoint & ip,
|
|
175
|
+
BareSliceVector<double> x, LocalHeap & lh) const
|
|
176
|
+
{
|
|
177
|
+
HeapReset hr(lh);
|
|
178
|
+
return Trans (GetCurlShape(ip, lh)) * x;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
using BaseHCurlFiniteElement::EvaluateCurl;
|
|
182
|
+
|
|
183
|
+
NGS_DLL_HEADER virtual void
|
|
184
|
+
EvaluateCurl (const IntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<> curl) const;
|
|
185
|
+
|
|
186
|
+
NGS_DLL_HEADER virtual void
|
|
187
|
+
EvaluateMappedCurl (const MappedIntegrationRule<D,D> & mir,
|
|
188
|
+
BareSliceVector<> coefs, FlatMatrixFixWidth<DIM_CURL_(D)> curl) const;
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
NGS_DLL_HEADER virtual void CalcDualShape (const BaseMappedIntegrationPoint & bmip, BareSliceMatrix<> shape) const;
|
|
193
|
+
|
|
194
|
+
NGS_DLL_HEADER virtual void CalcDualShape (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> shape) const;
|
|
195
|
+
|
|
196
|
+
NGS_DLL_HEADER virtual void EvaluateDual (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const
|
|
197
|
+
{ throw ExceptionNOSIMD("HCurlFE - simd evaldual not overloaded"); }
|
|
198
|
+
|
|
199
|
+
NGS_DLL_HEADER virtual void AddDualTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values,
|
|
200
|
+
BareSliceVector<double> coefs) const
|
|
201
|
+
{ throw ExceptionNOSIMD("HCurlFE - simd adddualtrans not overloaded"); }
|
|
202
|
+
|
|
203
|
+
protected:
|
|
204
|
+
///
|
|
205
|
+
virtual void CalcShape1 (const IntegrationPoint & ip,
|
|
206
|
+
FlatMatrixFixWidth<D> shape) const
|
|
207
|
+
{ ; }
|
|
208
|
+
///
|
|
209
|
+
virtual void CalcShape2 (const IntegrationPoint & ip,
|
|
210
|
+
FlatMatrixFixWidth<D> shape) const
|
|
211
|
+
{ ; }
|
|
212
|
+
|
|
213
|
+
virtual void CalcShape3 (const IntegrationPoint & ip,
|
|
214
|
+
FlatMatrixFixWidth<D> shape) const
|
|
215
|
+
{ ; }
|
|
216
|
+
|
|
217
|
+
virtual void CalcShape4 (const IntegrationPoint & ip,
|
|
218
|
+
FlatMatrixFixWidth<D> shape) const
|
|
219
|
+
{ ; }
|
|
220
|
+
|
|
221
|
+
///
|
|
222
|
+
void ComputeEdgeMoments (int enr, ScalarFiniteElement<1> & testfe,
|
|
223
|
+
FlatMatrix<> moments, int order, int shape = 1) const;
|
|
224
|
+
///
|
|
225
|
+
void ComputeFaceMoments (int fnr, HDivFiniteElement<2> & testfe,
|
|
226
|
+
FlatMatrix<> moments, int order, int shape = 1) const;
|
|
227
|
+
///
|
|
228
|
+
void ComputeVolMoments (HDivFiniteElement<3> & testfe,
|
|
229
|
+
FlatMatrix<> moments, int order, int shape = 1) const;
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
NGS_DLL_HEADER virtual std::list<std::tuple<std::string,double>> Timing () const override;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
template <int D>
|
|
245
|
+
extern void ComputeGradientMatrix (const ScalarFiniteElement<D> & h1fe,
|
|
246
|
+
const HCurlFiniteElement<D> & hcurlfe,
|
|
247
|
+
FlatMatrix<> gradient);
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
extern template class HCurlFiniteElement<1>;
|
|
253
|
+
extern template class HCurlFiniteElement<2>;
|
|
254
|
+
extern template class HCurlFiniteElement<3>;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
#endif
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#ifndef FILE_HCURLFE_UTILS
|
|
2
|
+
#define FILE_HCURLFE_UTILS
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
#include "shapefunction_utils.hpp"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
namespace ngfem
|
|
9
|
+
{
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
template <int DIM, typename SCAL>
|
|
13
|
+
class Du
|
|
14
|
+
{
|
|
15
|
+
enum { DIM_CURL = (DIM * (DIM-1))/2 };
|
|
16
|
+
|
|
17
|
+
public:
|
|
18
|
+
const AutoDiff<DIM,SCAL> u;
|
|
19
|
+
|
|
20
|
+
Du (const AutoDiff<DIM,SCAL> au) : u(au) { }
|
|
21
|
+
|
|
22
|
+
Vec<DIM,SCAL> Value () const
|
|
23
|
+
{
|
|
24
|
+
return GetGradient(u);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
Vec<DIM_CURL,SCAL> CurlValue () const
|
|
28
|
+
{
|
|
29
|
+
return Vec<DIM_CURL,SCAL> (0.0);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
template <int DIM, typename SCAL>
|
|
36
|
+
class uDv
|
|
37
|
+
{
|
|
38
|
+
public:
|
|
39
|
+
const AutoDiff<DIM,SCAL> u, v;
|
|
40
|
+
|
|
41
|
+
uDv (AutoDiff<DIM,SCAL> au, AutoDiff<DIM,SCAL> av)
|
|
42
|
+
: u(au), v(av) { ; }
|
|
43
|
+
|
|
44
|
+
auto Value () const
|
|
45
|
+
{
|
|
46
|
+
return u.Value() * GetGradient(v);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
auto CurlValue () const
|
|
50
|
+
{
|
|
51
|
+
return Cross (GetGradient(u), GetGradient(v));
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
template <int DIM, typename SCAL>
|
|
58
|
+
class uDv_minus_vDu
|
|
59
|
+
{
|
|
60
|
+
public:
|
|
61
|
+
const AutoDiff<DIM, SCAL> u, v;
|
|
62
|
+
|
|
63
|
+
uDv_minus_vDu (const AutoDiff<DIM,SCAL> au,
|
|
64
|
+
const AutoDiff<DIM,SCAL> av)
|
|
65
|
+
: u(au), v(av) { }
|
|
66
|
+
|
|
67
|
+
auto Value () const
|
|
68
|
+
{
|
|
69
|
+
return u.Value()*GetGradient(v)-v.Value()*GetGradient(u);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
auto CurlValue () const
|
|
73
|
+
{
|
|
74
|
+
return 2 * Cross (GetGradient(u), GetGradient(v));
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
template <int DIM, typename SCAL>
|
|
82
|
+
class wuDv_minus_wvDu
|
|
83
|
+
{
|
|
84
|
+
public:
|
|
85
|
+
const AutoDiff<DIM,SCAL> u, v, w;
|
|
86
|
+
|
|
87
|
+
wuDv_minus_wvDu (const AutoDiff<DIM,SCAL> au,
|
|
88
|
+
const AutoDiff<DIM,SCAL> av,
|
|
89
|
+
const AutoDiff<DIM,SCAL> aw)
|
|
90
|
+
: u(au), v(av), w(aw) { ; }
|
|
91
|
+
|
|
92
|
+
auto Value () const
|
|
93
|
+
{
|
|
94
|
+
return w.Value()*u.Value()*GetGradient(v) - w.Value()*v.Value()*GetGradient(u);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
auto CurlValue () const
|
|
98
|
+
{
|
|
99
|
+
return Cross(GetGradient(u*w),GetGradient(v)) - Cross(GetGradient(v*w), GetGradient(u));
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
|