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,335 @@
|
|
|
1
|
+
#ifndef FILE_SCALARFE
|
|
2
|
+
#define FILE_SCALARFE
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: scalarfe.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 25. Mar. 2000 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include "finiteelement.hpp"
|
|
11
|
+
#include "fe_interfaces.hpp"
|
|
12
|
+
|
|
13
|
+
namespace ngfem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
class BaseScalarFiniteElement : public FiniteElement
|
|
17
|
+
{
|
|
18
|
+
public:
|
|
19
|
+
using FiniteElement::FiniteElement;
|
|
20
|
+
|
|
21
|
+
/// the name
|
|
22
|
+
NGS_DLL_HEADER
|
|
23
|
+
virtual string ClassName() const override;
|
|
24
|
+
|
|
25
|
+
/// compute shape
|
|
26
|
+
HD NGS_DLL_HEADER
|
|
27
|
+
virtual void CalcShape (const IntegrationPoint & ip,
|
|
28
|
+
BareSliceVector<> shape) const = 0;
|
|
29
|
+
|
|
30
|
+
HD NGS_DLL_HEADER
|
|
31
|
+
virtual void CalcShape (const IntegrationPoint & ip,
|
|
32
|
+
BareSliceVector<Complex> shape) const;
|
|
33
|
+
|
|
34
|
+
/// compute dshape, matrix: ndof x spacedim
|
|
35
|
+
HD NGS_DLL_HEADER
|
|
36
|
+
virtual void CalcDShape (const IntegrationPoint & ip,
|
|
37
|
+
BareSliceMatrix<> dshape) const = 0;
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
returns shape functions in point ip.
|
|
42
|
+
*/
|
|
43
|
+
INLINE FlatVector<> GetShape (const IntegrationPoint & ip,
|
|
44
|
+
LocalHeap & lh) const
|
|
45
|
+
{
|
|
46
|
+
FlatVector<> shape(ndof, lh);
|
|
47
|
+
CalcShape (ip, shape);
|
|
48
|
+
return shape;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// compute shape, row is shape nr, col is ip nr
|
|
52
|
+
HD NGS_DLL_HEADER
|
|
53
|
+
virtual void CalcShape (const IntegrationRule & ir,
|
|
54
|
+
BareSliceMatrix<> shape) const;
|
|
55
|
+
|
|
56
|
+
/// compute shape, row is shape nr, col is ip nr
|
|
57
|
+
HD NGS_DLL_HEADER
|
|
58
|
+
virtual void CalcShape (const SIMD_IntegrationRule & ir,
|
|
59
|
+
BareSliceMatrix<SIMD<double>> shape) const;
|
|
60
|
+
|
|
61
|
+
HD NGS_DLL_HEADER
|
|
62
|
+
virtual void CalcMappedDShape (const BaseMappedIntegrationPoint & mip,
|
|
63
|
+
BareSliceMatrix<> dshape) const = 0;
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
HD NGS_DLL_HEADER
|
|
67
|
+
virtual void CalcMappedDShape (const BaseMappedIntegrationRule & mir,
|
|
68
|
+
BareSliceMatrix<> dshapes) const = 0;
|
|
69
|
+
|
|
70
|
+
// rows dim*ndof, cols .. nip
|
|
71
|
+
// rows: phi0/dx, phi0/dy, phi0/dz, phi1/dx ...
|
|
72
|
+
HD NGS_DLL_HEADER
|
|
73
|
+
virtual void CalcMappedDShape (const SIMD_BaseMappedIntegrationRule & mir,
|
|
74
|
+
BareSliceMatrix<SIMD<double>> dshapes) const;
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
returns second derivatives in point ip.
|
|
79
|
+
returns stored values for valid ip.IPNr(), else computes values
|
|
80
|
+
*/
|
|
81
|
+
virtual const FlatMatrix<> GetDDShape (const IntegrationPoint & ip, LocalHeap & lh) const = 0;
|
|
82
|
+
|
|
83
|
+
/// compute dshape, matrix: ndof x (spacedim spacedim)
|
|
84
|
+
NGS_DLL_HEADER virtual void CalcDDShape (const IntegrationPoint & ip,
|
|
85
|
+
BareSliceMatrix<> ddshape) const = 0;
|
|
86
|
+
|
|
87
|
+
/// compute dshape, matrix: ndof x (spacedim spacedim)
|
|
88
|
+
NGS_DLL_HEADER virtual void CalcMappedDDShape (const BaseMappedIntegrationPoint & mip,
|
|
89
|
+
BareSliceMatrix<> ddshape) const = 0;
|
|
90
|
+
|
|
91
|
+
/// compute ddshape, matrix: ndof x (spacedim spacedim)
|
|
92
|
+
NGS_DLL_HEADER virtual void CalcMappedDDShape (const SIMD<BaseMappedIntegrationPoint> & mip,
|
|
93
|
+
BareSliceMatrix<SIMD<double>> ddshape) const = 0;
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
Evaluates function in integration point ip.
|
|
99
|
+
Vector x provides coefficient vector.
|
|
100
|
+
*/
|
|
101
|
+
HD NGS_DLL_HEADER virtual double Evaluate (const IntegrationPoint & ip, BareSliceVector<> x) const;
|
|
102
|
+
HD NGS_DLL_HEADER virtual Complex Evaluate (const IntegrationPoint & ip, BareSliceVector<Complex> x) const;
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
Evaluate function in points of integrationrule ir.
|
|
107
|
+
Vector x provides coefficient vector.
|
|
108
|
+
*/
|
|
109
|
+
HD NGS_DLL_HEADER virtual void Evaluate (const IntegrationRule & ir, BareSliceVector<> coefs, BareSliceVector<> values) const;
|
|
110
|
+
HD NGS_DLL_HEADER virtual void Evaluate (const SIMD_IntegrationRule & ir, BareSliceVector<> coefs, BareVector<SIMD<double>> values) const;
|
|
111
|
+
HD NGS_DLL_HEADER virtual void Evaluate (const SIMD_IntegrationRule & ir, SliceMatrix<> coefs, BareSliceMatrix<SIMD<double>> values) const;
|
|
112
|
+
NGS_DLL_HEADER void Evaluate (const SIMD_IntegrationRule & ir, BareSliceVector<Complex> coefs, BareVector<SIMD<Complex>> values) const;
|
|
113
|
+
/**
|
|
114
|
+
Each column a vector ...
|
|
115
|
+
*/
|
|
116
|
+
HD NGS_DLL_HEADER virtual void Evaluate (const IntegrationRule & ir, SliceMatrix<> coefs, BareSliceMatrix<> values) const;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
Evaluate function in points of integrationrule ir, transpose operation.
|
|
120
|
+
Vector x provides coefficient vector.
|
|
121
|
+
*/
|
|
122
|
+
HD NGS_DLL_HEADER virtual void EvaluateTrans (const IntegrationRule & ir, BareSliceVector<> values, BareSliceVector<> coefs) const;
|
|
123
|
+
HD NGS_DLL_HEADER virtual void AddTrans (const SIMD_IntegrationRule & ir, BareVector<SIMD<double>> values, BareSliceVector<> coefs) const;
|
|
124
|
+
HD NGS_DLL_HEADER virtual void AddTrans (const SIMD_IntegrationRule & ir, BareSliceMatrix<SIMD<double>> values, SliceMatrix<> coefs) const;
|
|
125
|
+
HD NGS_DLL_HEADER virtual void AddTrans (const SIMD_IntegrationRule & ir, BareVector<SIMD<Complex>> values, BareSliceVector<Complex> coefs) const;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
Evaluate gradient in points of integrationrule ir.
|
|
129
|
+
Vector x provides coefficient vector.
|
|
130
|
+
*/
|
|
131
|
+
HD NGS_DLL_HEADER virtual void EvaluateGrad (const IntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<> values) const = 0;
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
HD NGS_DLL_HEADER virtual void EvaluateGrad (const SIMD_BaseMappedIntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const;
|
|
135
|
+
HD NGS_DLL_HEADER virtual void EvaluateGrad (const SIMD_BaseMappedIntegrationRule & ir, BareSliceVector<Complex> coefs, BareSliceMatrix<SIMD<Complex>> values) const;
|
|
136
|
+
// needed for ALE-trafo
|
|
137
|
+
HD NGS_DLL_HEADER virtual void EvaluateGrad (const SIMD_IntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<SIMD<double>> values) const;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
Evaluate gradient in points of integrationrule ir, transpose operation.
|
|
141
|
+
Vector x provides coefficient vector.
|
|
142
|
+
*/
|
|
143
|
+
HD NGS_DLL_HEADER virtual void EvaluateGradTrans (const IntegrationRule & ir, BareSliceMatrix<> values, BareSliceVector<> coefs) const = 0;
|
|
144
|
+
HD NGS_DLL_HEADER virtual void EvaluateGradTrans (const IntegrationRule & ir, SliceMatrix<> values, SliceMatrix<> coefs) const = 0;
|
|
145
|
+
HD NGS_DLL_HEADER virtual void AddGradTrans (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<double>> values,
|
|
146
|
+
BareSliceVector<> coefs) const;
|
|
147
|
+
/// input du1/dx du1/dy du1/dz du2/dx ...
|
|
148
|
+
/// output: ndof x components
|
|
149
|
+
HD NGS_DLL_HEADER virtual void AddGradTrans (const SIMD_BaseMappedIntegrationRule & ir, BareSliceMatrix<SIMD<double>> values,
|
|
150
|
+
SliceMatrix<> coefs) const;
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
NGS_DLL_HEADER virtual void CalcDualShape (const BaseMappedIntegrationPoint & mip, BareSliceVector<> shape) const;
|
|
154
|
+
NGS_DLL_HEADER virtual void AddDualTrans (const IntegrationRule & ir, BareSliceVector<double> values, BareSliceVector<> coefs) const;
|
|
155
|
+
NGS_DLL_HEADER virtual void AddDualTrans (const SIMD_IntegrationRule & ir, BareVector<SIMD<double>> values, BareSliceVector<> coefs) const;
|
|
156
|
+
|
|
157
|
+
HD NGS_DLL_HEADER virtual void GetDiagMassMatrix (FlatVector<> mass) const;
|
|
158
|
+
NGS_DLL_HEADER virtual bool GetDiagDualityMassInverse (FlatVector<> diag) const { return false; }
|
|
159
|
+
NGS_DLL_HEADER virtual bool DualityMassDiagonal () const { return false; }
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
Scalar finite element.
|
|
164
|
+
Provides shape functions and derivatives.
|
|
165
|
+
*/
|
|
166
|
+
template <int D>
|
|
167
|
+
class ScalarFiniteElement : public BaseScalarFiniteElement
|
|
168
|
+
{
|
|
169
|
+
public:
|
|
170
|
+
using BaseScalarFiniteElement::BaseScalarFiniteElement;
|
|
171
|
+
|
|
172
|
+
HD int Dim () const final { return D; }
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
returns derivatives in point ip.
|
|
176
|
+
*/
|
|
177
|
+
INLINE const FlatMatrixFixWidth<D>
|
|
178
|
+
GetDShape (const IntegrationPoint & ip, LocalHeap & lh) const
|
|
179
|
+
{
|
|
180
|
+
FlatMatrixFixWidth<D> dshape(ndof, lh);
|
|
181
|
+
CalcDShape (ip, dshape);
|
|
182
|
+
return dshape;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
using BaseScalarFiniteElement::CalcMappedDShape;
|
|
186
|
+
|
|
187
|
+
/// compute dshape, matrix: ndof x spacedim
|
|
188
|
+
HD NGS_DLL_HEADER
|
|
189
|
+
virtual void CalcMappedDShape (const BaseMappedIntegrationPoint & mip,
|
|
190
|
+
BareSliceMatrix<> dshape) const override;
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
HD NGS_DLL_HEADER
|
|
194
|
+
virtual void CalcMappedDShape (const BaseMappedIntegrationRule & mir,
|
|
195
|
+
BareSliceMatrix<> dshapes) const override;
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
returns second derivatives in point ip.
|
|
200
|
+
returns stored values for valid ip.IPNr(), else computes values
|
|
201
|
+
*/
|
|
202
|
+
const FlatMatrix<> GetDDShape (const IntegrationPoint & ip, LocalHeap & lh) const override
|
|
203
|
+
{
|
|
204
|
+
FlatMatrix<> ddshape(ndof, D*D, lh);
|
|
205
|
+
CalcDDShape (ip, ddshape);
|
|
206
|
+
return ddshape;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/// compute dshape, matrix: ndof x (spacedim spacedim)
|
|
210
|
+
NGS_DLL_HEADER virtual void CalcDDShape (const IntegrationPoint & ip,
|
|
211
|
+
BareSliceMatrix<> ddshape) const override;
|
|
212
|
+
|
|
213
|
+
/// compute ddshape, matrix: ndof x (spacedim spacedim)
|
|
214
|
+
NGS_DLL_HEADER virtual void CalcMappedDDShape (const BaseMappedIntegrationPoint & mip,
|
|
215
|
+
BareSliceMatrix<> ddshape) const override;
|
|
216
|
+
|
|
217
|
+
/// compute ddshape, matrix: ndof x (spacedim spacedim)
|
|
218
|
+
NGS_DLL_HEADER virtual void CalcMappedDDShape (const SIMD<BaseMappedIntegrationPoint> & mip,
|
|
219
|
+
BareSliceMatrix<SIMD<double>> ddshape) const override;
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
Evaluates gradient in integration point ip.
|
|
224
|
+
Vector x provides coefficient vector.
|
|
225
|
+
*/
|
|
226
|
+
HD NGS_DLL_HEADER virtual Vec<D> EvaluateGrad (const IntegrationPoint & ip, BareSliceVector<> x) const;
|
|
227
|
+
|
|
228
|
+
using BaseScalarFiniteElement::EvaluateGrad;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
Evaluate gradient in points of integrationrule ir.
|
|
232
|
+
Vector x provides coefficient vector.
|
|
233
|
+
*/
|
|
234
|
+
HD NGS_DLL_HEADER void EvaluateGrad (const IntegrationRule & ir, BareSliceVector<> coefs, BareSliceMatrix<> values) const override;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
Evaluate gradient in points of integrationrule ir, transpose operation.
|
|
238
|
+
Vector x provides coefficient vector.
|
|
239
|
+
*/
|
|
240
|
+
HD NGS_DLL_HEADER void EvaluateGradTrans (const IntegrationRule & ir, BareSliceMatrix<> values, BareSliceVector<> coefs) const override;
|
|
241
|
+
|
|
242
|
+
HD NGS_DLL_HEADER void EvaluateGradTrans (const IntegrationRule & ir, SliceMatrix<> values, SliceMatrix<> coefs) const override;
|
|
243
|
+
|
|
244
|
+
NGS_DLL_HEADER virtual void Interpolate (const ElementTransformation & trafo,
|
|
245
|
+
const class CoefficientFunction & func, SliceMatrix<> coefs,
|
|
246
|
+
LocalHeap & lh) const override;
|
|
247
|
+
|
|
248
|
+
public:
|
|
249
|
+
NGS_DLL_HEADER virtual std::list<std::tuple<std::string,double>> Timing () const override;
|
|
250
|
+
NGS_DLL_HEADER virtual bool SolveDuality (SliceVector<> rhs, SliceVector<> u, LocalHeap & lhr) const override;
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
template<ELEMENT_TYPE ET>
|
|
273
|
+
class DGFiniteElement : public ScalarFiniteElement<ET_trait<ET>::DIM>,
|
|
274
|
+
public VertexOrientedFE<ET>
|
|
275
|
+
{
|
|
276
|
+
protected:
|
|
277
|
+
// int vnums[1<<D];
|
|
278
|
+
enum { D = ET_trait<ET>::DIM };
|
|
279
|
+
|
|
280
|
+
using ScalarFiniteElement<D>::ndof;
|
|
281
|
+
using ScalarFiniteElement<D>::order;
|
|
282
|
+
using VertexOrientedFE<ET>::vnums;
|
|
283
|
+
|
|
284
|
+
public:
|
|
285
|
+
/// global vertex numbers define ordering of vertices
|
|
286
|
+
template <typename TA>
|
|
287
|
+
void SetVertexNumbers (const TA & avnums)
|
|
288
|
+
{
|
|
289
|
+
for (int i = 0; i < avnums.Size(); i++) vnums[i] = avnums[i];
|
|
290
|
+
}
|
|
291
|
+
DGFiniteElement * SetVertexNumbers (FlatArray<int> vnums) override
|
|
292
|
+
{ VertexOrientedFE<ET>::SetVertexNumbers(vnums); return this; }
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
/// assign vertex number
|
|
296
|
+
void SetVertexNumber (int nr, int vnum) { vnums[nr] = vnum; }
|
|
297
|
+
NGS_DLL_HEADER virtual void SetOrder (IVec<D> p) = 0;
|
|
298
|
+
NGS_DLL_HEADER virtual void ComputeNDof() = 0;
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
NGS_DLL_HEADER virtual void PrecomputeTrace () = 0;
|
|
302
|
+
NGS_DLL_HEADER virtual void PrecomputeGrad () = 0;
|
|
303
|
+
|
|
304
|
+
NGS_DLL_HEADER void CalcTraceMatrix (int facet, FlatMatrix<> trace) const;
|
|
305
|
+
NGS_DLL_HEADER void CalcGradientMatrix (FlatMatrix<> gmat) const;
|
|
306
|
+
|
|
307
|
+
HD NGS_DLL_HEADER virtual void GetDiagMassMatrix (FlatVector<> mass) const override;
|
|
308
|
+
|
|
309
|
+
NGS_DLL_HEADER virtual void GetGradient (FlatVector<> coefs, FlatMatrixFixWidth<D> grad) const;
|
|
310
|
+
NGS_DLL_HEADER virtual void GetGradientTrans (FlatMatrixFixWidth<D> grad, FlatVector<> coefs) const;
|
|
311
|
+
|
|
312
|
+
NGS_DLL_HEADER virtual void GetTrace (int facet, FlatVector<> coefs, FlatVector<> fcoefs) const;
|
|
313
|
+
NGS_DLL_HEADER virtual void GetTraceTrans (int facet, FlatVector<> fcoefs, FlatVector<> coefs) const;
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
extern template class ScalarFiniteElement<0>;
|
|
320
|
+
extern template class ScalarFiniteElement<1>;
|
|
321
|
+
extern template class ScalarFiniteElement<2>;
|
|
322
|
+
extern template class ScalarFiniteElement<3>;
|
|
323
|
+
|
|
324
|
+
extern template class DGFiniteElement<ET_POINT>;
|
|
325
|
+
extern template class DGFiniteElement<ET_SEGM>;
|
|
326
|
+
extern template class DGFiniteElement<ET_TRIG>;
|
|
327
|
+
extern template class DGFiniteElement<ET_QUAD>;
|
|
328
|
+
extern template class DGFiniteElement<ET_TET>;
|
|
329
|
+
extern template class DGFiniteElement<ET_PRISM>;
|
|
330
|
+
extern template class DGFiniteElement<ET_PYRAMID>;
|
|
331
|
+
extern template class DGFiniteElement<ET_HEXAMID>;
|
|
332
|
+
extern template class DGFiniteElement<ET_HEX>;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
#endif
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#ifndef SHAPEFUNCTION_UTILS
|
|
2
|
+
#define SHAPEFUNCTION_UTILS
|
|
3
|
+
|
|
4
|
+
namespace ngfem
|
|
5
|
+
{
|
|
6
|
+
|
|
7
|
+
// combination of AutoDiff and linalg:
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// for shape functions
|
|
11
|
+
template <int DIM, typename SCAL>
|
|
12
|
+
auto GetGradient (const AutoDiff<DIM,SCAL> & ad)
|
|
13
|
+
{
|
|
14
|
+
Vec<DIM,SCAL> grad;
|
|
15
|
+
for (int i = 0; i < DIM; i++)
|
|
16
|
+
grad(i) = ad.DValue(i);
|
|
17
|
+
return grad;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
// hv.DValue() = (grad u) x (grad v)
|
|
26
|
+
template <typename SCAL>
|
|
27
|
+
INLINE AutoDiff<3,SCAL> Cross (const AutoDiff<3,SCAL> & u,
|
|
28
|
+
const AutoDiff<3,SCAL> & v)
|
|
29
|
+
{
|
|
30
|
+
SCAL hv[3];
|
|
31
|
+
hv[0] = u.DValue(1)*v.DValue(2)-u.DValue(2)*v.DValue(1);
|
|
32
|
+
hv[1] = u.DValue(2)*v.DValue(0)-u.DValue(0)*v.DValue(2);
|
|
33
|
+
hv[2] = u.DValue(0)*v.DValue(1)-u.DValue(1)*v.DValue(0);
|
|
34
|
+
return AutoDiff<3,SCAL> (0, hv);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
template <typename SCAL>
|
|
38
|
+
INLINE AutoDiff<1,SCAL> Cross (const AutoDiff<2,SCAL> & u,
|
|
39
|
+
const AutoDiff<2,SCAL> & v)
|
|
40
|
+
{
|
|
41
|
+
AutoDiff<1,SCAL> hv;
|
|
42
|
+
hv.Value() = 0.0;
|
|
43
|
+
hv.DValue(0) = u.DValue(0)*v.DValue(1)-u.DValue(1)*v.DValue(0);
|
|
44
|
+
return hv;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
template <typename SCAL>
|
|
48
|
+
INLINE AutoDiff<0,SCAL> Cross (const AutoDiff<1,SCAL> & u,
|
|
49
|
+
const AutoDiff<1,SCAL> & v)
|
|
50
|
+
{
|
|
51
|
+
AutoDiff<0,SCAL> hv;
|
|
52
|
+
hv.Value() = 0.0;
|
|
53
|
+
return hv;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
template <int D, typename SCAL>
|
|
61
|
+
inline SCAL Dot (const AutoDiff<D,SCAL> & u, const AutoDiff<D,SCAL> & v)
|
|
62
|
+
{
|
|
63
|
+
SCAL sum = 0;
|
|
64
|
+
for (int i = 0; i < D; i++)
|
|
65
|
+
sum += u.DValue(i) * v.DValue(i);
|
|
66
|
+
return sum;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
template <int D, typename SCAL>
|
|
71
|
+
inline auto Outer (const AutoDiff<D,SCAL> & u, const AutoDiff<D,SCAL> & v)
|
|
72
|
+
{
|
|
73
|
+
Mat<D,D,SCAL> res;
|
|
74
|
+
for (int i = 0; i < D; i++)
|
|
75
|
+
for (int j = 0; j < D; j++)
|
|
76
|
+
res(i,j) = u.DValue(i) * v.DValue(j);
|
|
77
|
+
return res;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
template <int D, typename SCAL>
|
|
81
|
+
inline auto SymOuter (const AutoDiff<D,SCAL> & u, const AutoDiff<D,SCAL> & v)
|
|
82
|
+
{
|
|
83
|
+
Mat<D,D,SCAL> res;
|
|
84
|
+
for (int i = 0; i < D; i++)
|
|
85
|
+
res(i,i) = u.DValue(i) * v.DValue(i);
|
|
86
|
+
for (int i = 0; i < D; i++)
|
|
87
|
+
for (int j = 0; j < i; j++)
|
|
88
|
+
res(j,i) = res(i,j) =
|
|
89
|
+
0.5 * (u.DValue(i) * v.DValue(j) + u.DValue(j) * v.DValue(i));
|
|
90
|
+
return res;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
template <int D, typename SCAL>
|
|
94
|
+
inline auto MSkew (const AutoDiff<D,SCAL> & u)
|
|
95
|
+
{
|
|
96
|
+
Mat<D,D,SCAL> res;
|
|
97
|
+
res(0,0) = 0;
|
|
98
|
+
res(0,1) = -u.DValue(2);
|
|
99
|
+
res(0,2) = u.DValue(1);
|
|
100
|
+
|
|
101
|
+
res(1,0) = u.DValue(2);
|
|
102
|
+
res(1,1) = 0;
|
|
103
|
+
res(1,2) = -u.DValue(0);
|
|
104
|
+
|
|
105
|
+
res(2,0) = -u.DValue(1);
|
|
106
|
+
res(2,1) = u.DValue(0);
|
|
107
|
+
res(2,2) = 0;
|
|
108
|
+
return res;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
#endif
|