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,380 @@
|
|
|
1
|
+
#ifndef FILE_THCURLFE_IMPL
|
|
2
|
+
#define FILE_THCURLFE_IMPL
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
#include "thcurlfe.hpp"
|
|
6
|
+
#include "recursive_pol.hpp" // for SBLambda
|
|
7
|
+
|
|
8
|
+
namespace ngfem
|
|
9
|
+
{
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/*******************************************/
|
|
14
|
+
/* T_HCurlHOFiniteElement */
|
|
15
|
+
/*******************************************/
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
19
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
20
|
+
CalcShape (const IntegrationPoint & ip, BareSliceMatrix<> shape) const
|
|
21
|
+
{
|
|
22
|
+
this->T_CalcShape (GetTIPGrad<DIM>(ip),
|
|
23
|
+
SBLambda ([shape](size_t i, auto s)
|
|
24
|
+
{ shape.Row(i) = s.Value(); }));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
28
|
+
void T_HCurlHighOrderFiniteElement<ET, SHAPES,BASE> ::
|
|
29
|
+
CalcCurlShape (const IntegrationPoint & ip, BareSliceMatrix<> shape) const
|
|
30
|
+
{
|
|
31
|
+
this->T_CalcShape (GetTIPGrad<DIM>(ip),
|
|
32
|
+
SBLambda ([shape](size_t i, auto s)
|
|
33
|
+
{ shape.Row(i) = s.CurlValue(); }));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
#ifndef FASTCOMPILE
|
|
37
|
+
|
|
38
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
39
|
+
void T_HCurlHighOrderFiniteElement<ET, SHAPES, BASE> ::
|
|
40
|
+
CalcMappedShape (const BaseMappedIntegrationPoint & bmip,
|
|
41
|
+
BareSliceMatrix<> shape) const
|
|
42
|
+
{
|
|
43
|
+
Switch<4-DIM>
|
|
44
|
+
(bmip.DimSpace()-DIM,[this,&bmip,shape](auto CODIM)
|
|
45
|
+
{
|
|
46
|
+
auto & mip = static_cast<const MappedIntegrationPoint<DIM,DIM+CODIM.value>&> (bmip);
|
|
47
|
+
this->T_CalcShape (GetTIP(mip),
|
|
48
|
+
SBLambda ([shape](size_t i, auto s)
|
|
49
|
+
{
|
|
50
|
+
shape.Row(i) = s.Value();
|
|
51
|
+
}));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
56
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
57
|
+
CalcMappedShape (const BaseMappedIntegrationRule & bmir,
|
|
58
|
+
BareSliceMatrix<> shapes) const
|
|
59
|
+
{
|
|
60
|
+
Switch<4-DIM>
|
|
61
|
+
(bmir.DimSpace()-DIM,[this,&bmir,shapes](auto CODIM)
|
|
62
|
+
{
|
|
63
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
64
|
+
auto & mir = static_cast<const MappedIntegrationRule<DIM,DIM+CODIM.value>&> (bmir);
|
|
65
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
66
|
+
this->CalcMappedShape (mir[i], shapes.Cols(i*DIMSPACE,(i+1)*DIMSPACE));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
71
|
+
void T_HCurlHighOrderFiniteElement<ET, SHAPES, BASE> ::
|
|
72
|
+
CalcMappedShape (const SIMD<BaseMappedIntegrationPoint> & bmip,
|
|
73
|
+
BareSliceMatrix<SIMD<double>> shape) const
|
|
74
|
+
{
|
|
75
|
+
Switch<4-DIM>
|
|
76
|
+
(bmip.DimSpace()-DIM,[this,&bmip,shape](auto CODIM)
|
|
77
|
+
{
|
|
78
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
79
|
+
auto & mip = static_cast<const SIMD<MappedIntegrationPoint<DIM,DIM+CODIM.value>>&> (bmip);
|
|
80
|
+
this->T_CalcShape (GetTIP(mip),
|
|
81
|
+
SBLambda ([shape, DIMSPACE](size_t i, auto s)
|
|
82
|
+
{
|
|
83
|
+
shape.Col(0).Range(i*DIMSPACE, (i+1)*DIMSPACE) = s.Value();
|
|
84
|
+
}));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
89
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
90
|
+
CalcMappedShape (const SIMD_BaseMappedIntegrationRule & bmir,
|
|
91
|
+
BareSliceMatrix<SIMD<double>> shapes) const
|
|
92
|
+
{
|
|
93
|
+
Switch<4-DIM>
|
|
94
|
+
(bmir.DimSpace()-DIM,[this,&bmir,shapes](auto CODIM)
|
|
95
|
+
{
|
|
96
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
97
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
98
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
99
|
+
{
|
|
100
|
+
auto shapei = shapes.Col(i);
|
|
101
|
+
this->T_CalcShape
|
|
102
|
+
(GetTIP(mir[i]),
|
|
103
|
+
SBLambda ([shapei,DIMSPACE] (size_t j, auto s)
|
|
104
|
+
{
|
|
105
|
+
shapei.Range(j*DIMSPACE, (j+1)*DIMSPACE) = s.Value();
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
113
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
114
|
+
CalcMappedCurlShape (const BaseMappedIntegrationPoint & bmip,
|
|
115
|
+
BareSliceMatrix<> curlshape) const
|
|
116
|
+
{
|
|
117
|
+
auto & mip = static_cast<const MappedIntegrationPoint<DIM,DIM>&> (bmip);
|
|
118
|
+
|
|
119
|
+
Vec<DIM,AutoDiff<DIM> > adp = mip;
|
|
120
|
+
TIP<DIM,AutoDiff<DIM>> tip(adp, bmip.IP().FacetNr(), bmip.IP().VB());
|
|
121
|
+
this->T_CalcShape (GetTIP(mip),
|
|
122
|
+
SBLambda ([&](size_t i, auto s)
|
|
123
|
+
{
|
|
124
|
+
curlshape.Row(i) = s.CurlValue();
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
129
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
130
|
+
CalcMappedCurlShape (const BaseMappedIntegrationRule & mir,
|
|
131
|
+
BareSliceMatrix<> curlshape) const
|
|
132
|
+
{
|
|
133
|
+
for (int i = 0; i < mir.Size(); i++)
|
|
134
|
+
CalcMappedCurlShape (mir[i],
|
|
135
|
+
curlshape.Cols(DIM_CURL_(DIM)*i, DIM_CURL_(DIM)*(i+1)));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
140
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
141
|
+
CalcMappedCurlShape (const SIMD_BaseMappedIntegrationRule & bmir,
|
|
142
|
+
BareSliceMatrix<SIMD<double>> shapes) const
|
|
143
|
+
{
|
|
144
|
+
Switch<4-DIM>
|
|
145
|
+
(bmir.DimSpace()-DIM,[this,&bmir,shapes](auto CODIM)
|
|
146
|
+
{
|
|
147
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
148
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
149
|
+
constexpr int DIM_CURL = DIM_CURL_(DIMSPACE);
|
|
150
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
151
|
+
{
|
|
152
|
+
auto shapei = shapes.Col(i);
|
|
153
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
154
|
+
SBLambda ([shapei,DIM_CURL] (size_t j, auto s)
|
|
155
|
+
{
|
|
156
|
+
shapei.Range(j*DIM_CURL, (j+1)*DIM_CURL) = s.CurlValue();
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
165
|
+
auto T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
166
|
+
EvaluateCurlShape (const IntegrationPoint & ip,
|
|
167
|
+
BareSliceVector<double> x,
|
|
168
|
+
LocalHeap & lh) const -> Vec<DIM_CURL_(DIM)>
|
|
169
|
+
{
|
|
170
|
+
// Vec<DIM, AutoDiff<DIM> > adp = ip;
|
|
171
|
+
// TIP<DIM,AutoDiff<DIM>> tip(adp);
|
|
172
|
+
|
|
173
|
+
Vec<DIM_CURL_(DIM)> sum = 0.0;
|
|
174
|
+
this->T_CalcShape (GetTIPGrad<DIM>(ip),
|
|
175
|
+
SBLambda ([&sum, x](size_t i, auto s)
|
|
176
|
+
{ sum += x(i) * s.CurlValue(); }));
|
|
177
|
+
return sum;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
181
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
182
|
+
EvaluateCurl (const IntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<> curl) const
|
|
183
|
+
{
|
|
184
|
+
LocalHeapMem<10000> lhdummy("evalcurl-heap");
|
|
185
|
+
for (int i = 0; i < ir.Size(); i++)
|
|
186
|
+
curl.Row(i) = EvaluateCurlShape (ir[i], coefs, lhdummy);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
191
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
192
|
+
Evaluate (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<> coefs,
|
|
193
|
+
BareSliceMatrix<SIMD<double>> values) const
|
|
194
|
+
{
|
|
195
|
+
Switch<4-DIM>
|
|
196
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
197
|
+
{
|
|
198
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
199
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
200
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
201
|
+
{
|
|
202
|
+
Vec<DIMSPACE,SIMD<double>> sum(0.0);
|
|
203
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
204
|
+
SBLambda ([&sum,coefs] (size_t j, auto shape)
|
|
205
|
+
{
|
|
206
|
+
sum += coefs(j) * shape.Value();
|
|
207
|
+
}));
|
|
208
|
+
values.Col(i).Range(DIMSPACE) = sum;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
214
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
215
|
+
Evaluate (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<Complex> coefs,
|
|
216
|
+
BareSliceMatrix<SIMD<Complex>> values) const
|
|
217
|
+
{
|
|
218
|
+
Switch<4-DIM>
|
|
219
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
220
|
+
{
|
|
221
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
222
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
223
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
224
|
+
{
|
|
225
|
+
Vec<DIMSPACE,SIMD<Complex>> sum = SIMD<Complex>(0.0);
|
|
226
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
227
|
+
SBLambda ([&sum,coefs] (size_t j, auto shape)
|
|
228
|
+
{
|
|
229
|
+
sum += coefs(j) * shape.Value();
|
|
230
|
+
}));
|
|
231
|
+
values.Col(i).Range(DIMSPACE) = sum;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
237
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
238
|
+
EvaluateCurl (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const
|
|
239
|
+
{
|
|
240
|
+
Switch<4-DIM>
|
|
241
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
242
|
+
{
|
|
243
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
244
|
+
constexpr int DIM_CURL = DIM_CURL_(DIMSPACE);
|
|
245
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
246
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
247
|
+
{
|
|
248
|
+
Vec<DIM_CURL,SIMD<double>> sum(0.0);
|
|
249
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
250
|
+
SBLambda ([coefs,&sum] (size_t j, auto shape)
|
|
251
|
+
{
|
|
252
|
+
sum += coefs(j) * shape.CurlValue();
|
|
253
|
+
}));
|
|
254
|
+
values.Col(i).Range(DIM_CURL) = sum;
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
260
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
261
|
+
EvaluateCurl (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceVector<Complex> coefs, BareSliceMatrix<SIMD<Complex>> values) const
|
|
262
|
+
{
|
|
263
|
+
Switch<4-DIM>
|
|
264
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
265
|
+
{
|
|
266
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
267
|
+
constexpr int DIM_CURL = DIM_CURL_(DIMSPACE);
|
|
268
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
269
|
+
|
|
270
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
271
|
+
{
|
|
272
|
+
Vec<DIM_CURL,SIMD<Complex>> sum = SIMD<Complex>(0.0);
|
|
273
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
274
|
+
SBLambda ([coefs, &sum] (size_t j, auto shape)
|
|
275
|
+
{
|
|
276
|
+
sum += coefs(j) * shape.CurlValue();
|
|
277
|
+
}));
|
|
278
|
+
values.Col(i).Range(DIM_CURL) = sum;
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
285
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
286
|
+
AddTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values,
|
|
287
|
+
BareSliceVector<> coefs) const
|
|
288
|
+
{
|
|
289
|
+
Switch<4-DIM>
|
|
290
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
291
|
+
{
|
|
292
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
293
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
294
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
295
|
+
{
|
|
296
|
+
Vec<DIMSPACE,SIMD<double>> vali = values.Col(i);
|
|
297
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
298
|
+
SBLambda ([vali,coefs] (size_t j, auto s)
|
|
299
|
+
{
|
|
300
|
+
coefs(j) += HSum(InnerProduct(s.Value(), vali));
|
|
301
|
+
}));
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
307
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
308
|
+
AddTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<Complex>> values,
|
|
309
|
+
BareSliceVector<Complex> coefs) const
|
|
310
|
+
{
|
|
311
|
+
Switch<4-DIM>
|
|
312
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
313
|
+
{
|
|
314
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
315
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
316
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
317
|
+
{
|
|
318
|
+
Vec<DIMSPACE,SIMD<Complex>> vali = values.Col(i);
|
|
319
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
320
|
+
SBLambda ([vali,coefs] (size_t j, auto s)
|
|
321
|
+
{
|
|
322
|
+
coefs(j) += HSum(InnerProduct(s.Value(), vali));
|
|
323
|
+
}));
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
331
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
332
|
+
AddCurlTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<double>> values,
|
|
333
|
+
BareSliceVector<> coefs) const
|
|
334
|
+
{
|
|
335
|
+
Switch<4-DIM>
|
|
336
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
337
|
+
{
|
|
338
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
339
|
+
constexpr int DIM_CURL = DIM_CURL_(DIMSPACE);
|
|
340
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
341
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
342
|
+
{
|
|
343
|
+
Vec<DIM_CURL,SIMD<double>> vali = values.Col(i);
|
|
344
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
345
|
+
SBLambda ([vali,coefs] (size_t j, auto s)
|
|
346
|
+
{
|
|
347
|
+
coefs(j) += HSum(InnerProduct(s.CurlValue(), vali));
|
|
348
|
+
}));
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
template <ELEMENT_TYPE ET, typename SHAPES, typename BASE>
|
|
355
|
+
void T_HCurlHighOrderFiniteElement<ET,SHAPES,BASE> ::
|
|
356
|
+
AddCurlTrans (const SIMD_BaseMappedIntegrationRule & bmir, BareSliceMatrix<SIMD<Complex>> values,
|
|
357
|
+
BareSliceVector<Complex> coefs) const
|
|
358
|
+
{
|
|
359
|
+
Switch<4-DIM>
|
|
360
|
+
(bmir.DimSpace()-DIM,[this,&bmir,coefs,values](auto CODIM)
|
|
361
|
+
{
|
|
362
|
+
constexpr int DIMSPACE = DIM+CODIM.value;
|
|
363
|
+
constexpr int DIM_CURL = DIM_CURL_(DIMSPACE);
|
|
364
|
+
auto & mir = static_cast<const SIMD_MappedIntegrationRule<DIM,DIMSPACE>&> (bmir);
|
|
365
|
+
for (size_t i = 0; i < mir.Size(); i++)
|
|
366
|
+
{
|
|
367
|
+
Vec<DIM_CURL,SIMD<Complex>> vali = values.Col(i);
|
|
368
|
+
this->T_CalcShape (GetTIP(mir[i]),
|
|
369
|
+
SBLambda ([vali,coefs] (size_t j, auto s)
|
|
370
|
+
{
|
|
371
|
+
coefs(j) += HSum(InnerProduct(s.CurlValue(), vali));
|
|
372
|
+
}));
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
#endif
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
#endif
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#ifndef FILE_THDIVFE
|
|
2
|
+
#define FILE_THDIVFE
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: thdivfe.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 5. Jul. 2001 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "hdivfe.hpp"
|
|
11
|
+
#include "thcurlfe.hpp" // for Du
|
|
12
|
+
|
|
13
|
+
namespace ngfem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
template <class FEL, ELEMENT_TYPE ET>
|
|
22
|
+
class T_HDivFiniteElement
|
|
23
|
+
: public HDivFiniteElement<ET_trait<ET>::DIM>
|
|
24
|
+
|
|
25
|
+
{
|
|
26
|
+
enum { DIM = ET_trait<ET>::DIM };
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
|
|
30
|
+
virtual void CalcShape (const IntegrationPoint & ip,
|
|
31
|
+
BareSliceMatrix<> shape) const override;
|
|
32
|
+
|
|
33
|
+
virtual void CalcDivShape (const IntegrationPoint & ip,
|
|
34
|
+
BareSliceVector<> divshape) const override;
|
|
35
|
+
|
|
36
|
+
#ifndef FASTCOMPILE
|
|
37
|
+
|
|
38
|
+
virtual void CalcMappedShape (const BaseMappedIntegrationPoint & bmip,
|
|
39
|
+
BareSliceMatrix<> shape) const override;
|
|
40
|
+
|
|
41
|
+
virtual void CalcMappedShape (const BaseMappedIntegrationRule & bmir, BareSliceMatrix<> shapes) const override;
|
|
42
|
+
|
|
43
|
+
virtual void CalcMappedShape (const SIMD<MappedIntegrationPoint<DIM,DIM>> & mip,
|
|
44
|
+
BareSliceMatrix<SIMD<double>> shape) const override;
|
|
45
|
+
|
|
46
|
+
virtual void CalcMappedShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
47
|
+
BareSliceMatrix<SIMD<double>> shapes) const override;
|
|
48
|
+
|
|
49
|
+
virtual void CalcMappedNormalShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
50
|
+
BareSliceMatrix<SIMD<double>> shapes) const override;
|
|
51
|
+
|
|
52
|
+
using HDivFiniteElement<ET_trait<ET>::DIM>::CalcMappedDivShape;
|
|
53
|
+
virtual void CalcMappedDivShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
54
|
+
BareSliceMatrix<SIMD<double>> divshapes) const override;
|
|
55
|
+
|
|
56
|
+
virtual void Evaluate (const IntegrationRule & ir,
|
|
57
|
+
FlatVector<double> coefs,
|
|
58
|
+
BareSliceMatrix<> vals) const override;
|
|
59
|
+
|
|
60
|
+
virtual void EvaluateTrans (const IntegrationRule & ir,
|
|
61
|
+
BareSliceMatrix<> vals,
|
|
62
|
+
FlatVector<double> coefs) const override;
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
virtual void Evaluate (const SIMD_BaseMappedIntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const override;
|
|
66
|
+
virtual void AddTrans (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<double>> values, BareSliceVector<> coefs) const override;
|
|
67
|
+
|
|
68
|
+
virtual void EvaluateDiv (const SIMD_BaseMappedIntegrationRule & ir, BareSliceVector<> coefs, BareVector<SIMD<double>> values) const override;
|
|
69
|
+
|
|
70
|
+
virtual void AddDivTrans (const SIMD_BaseMappedIntegrationRule & ir, BareVector<SIMD<double>> values,
|
|
71
|
+
BareSliceVector<> coefs) const override;
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
#endif
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
#endif
|