ngsolve 6.2.2502.post18.dev1__cp311-cp311-manylinux_2_28_x86_64.whl → 6.2.2504__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.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/bin/ngs_nvcc +1 -1
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/bin/ngscxx +2 -2
- ngsolve-6.2.2504.data/data/bin/ngspy +2 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/integrator.hpp +4 -16
- ngsolve-6.2.2504.data/data/include/netgen/mp_coefficient.hpp +140 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/mptools.hpp +95 -163
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/symbolicintegrator.hpp +1 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/cmake/ngsolve/NGSolveConfig.cmake +5 -5
- ngsolve-6.2.2504.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so +0 -0
- ngsolve-6.2.2504.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngstd.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/__init__.py +1 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/config/config.py +6 -6
- ngsolve-6.2.2504.data/data/lib/python3.11/site-packages/ngsolve/solve_implementation.py +146 -0
- {ngsolve-6.2.2502.post18.dev1.dist-info → ngsolve-6.2.2504.dist-info}/METADATA +2 -2
- ngsolve-6.2.2504.dist-info/RECORD +299 -0
- ngsolve-6.2.2502.post18.dev1.data/data/bin/ngspy +0 -2
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/__init__.pyi +0 -234
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/bla.pyi +0 -1027
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/bvp.pyi +0 -32
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/comp/__init__.pyi +0 -5382
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/comp/pml.pyi +0 -89
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/__init__.pyi +0 -43
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/config.pyi +0 -45
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/directsolvers.pyi +0 -15
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/eigenvalues.pyi +0 -30
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/fem.pyi +0 -1635
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/krylovspace.pyi +0 -301
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/la.pyi +0 -1210
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngstd.pyi +0 -58
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.pyi +0 -97
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/preconditioners.pyi +0 -6
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/solve.pyi +0 -108
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/solvers.pyi +0 -14
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/timestepping.pyi +0 -27
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/timing.pyi +0 -54
- ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/utils.pyi +0 -272
- ngsolve-6.2.2502.post18.dev1.dist-info/RECORD +0 -317
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/bin/ngs_nvlink +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/bin/ngsld +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/bin/ngsolve.tcl +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/arnoldi.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bandmatrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/basematrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/basevector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bdbequations.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bdbintegrator.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bessel.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bilinearform.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bla.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/blockalloc.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/blockjacobi.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/bspline.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/calcinverse.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cg.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/chebyshev.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cholesky.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/clapack.h +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/code_generation.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/coefficient.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/coefficient_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/coefficient_stdmath.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/commutingAMG.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/comp.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/compatibility.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/complex_wrapper.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/compressedfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/contact.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cuda_linalg.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cuda_ngbla.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cuda_ngstd.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/cuda_profiler.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/diagonalmatrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/differentialoperator.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/diffop.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/diffop_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/discontinuous.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/dump.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ectypes.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/eigen.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/eigensystem.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/elasticity_equations.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/elementbyelement.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/elementtopology.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/elementtransformation.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/evalfunc.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/expr.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/facetfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/facetfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/facethofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/facetsurffespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/fe_interfaces.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/fem.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/fesconvert.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/fespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/finiteelement.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/globalinterfacespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/globalspace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/gridfunction.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1amg.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1hofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1hofe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1hofefo.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1hofefo_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1hofespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1lofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/h1lumping.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurl_equations.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlcurlfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlcurlfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlfe_utils.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlhdiv_dshape.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlhdivfes.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlhofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlhofe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurlhofespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hcurllofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdiv_equations.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivdivfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivdivsurfacespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivfe_utils.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivfes.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivhofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivhofe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivhofefo.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivhofespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivhosurfacefespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hdivlofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hidden.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/householder.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hypre_ams_precond.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/hypre_precond.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/integratorcf.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/interpolate.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/intrule.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/intrules_SauterSchwab.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/irspace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/jacobi.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/l2hofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/l2hofe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/l2hofefo.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/l2hofespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/la.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/linalg_kernels.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/linearform.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/matrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/memusage.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/meshaccess.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/mgpre.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/multigrid.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/multivector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/mumpsinverse.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/mycomplex.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ng_lapack.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngblas.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngs_defines.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngs_stdcpp_include.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngs_utils.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngsobject.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngsstream.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/ngstd.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/nodalhofe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/nodalhofe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/normalfacetfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/normalfacetfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/normalfacetsurfacefespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/order.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/parallel_matrices.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/paralleldofs.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/parallelngs.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/parallelvector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/pardisoinverse.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/periodic.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/plateaufespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/pml.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/pmltrafo.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/postproc.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/potentialtools.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/precomp.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/preconditioner.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/prolongation.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/python_comp.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/python_fem.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/python_linalg.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/python_ngstd.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/recursive_pol.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/recursive_pol_tet.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/recursive_pol_trig.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/reorderedfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/sample_sort.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/scalarfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/shapefunction_utils.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/simd_complex.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/smoother.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/solve.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/sparsecholesky.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/sparsematrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/sparsematrix_dyn.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/sparsematrix_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/special_matrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/specialelement.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/statushandler.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/stringops.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/superluinverse.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/symmetricmatrix.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tangentialfacetfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tangentialfacetfespace.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tensor.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tensorcoefficient.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tensorproductintegrator.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/thcurlfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/thcurlfe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/thdivfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/thdivfe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tpdiffop.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tpfes.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tpintrule.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/triangular.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tscalarfe.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/tscalarfe_impl.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/umfpackinverse.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/unifiedvector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/vector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/voxelcoefficientfunction.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/vtkoutput.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/vvector.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/webgui.hpp +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/cmake/ngsolve/ngsolve-targets.cmake +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngla.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/TensorProductTools.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/__console.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/__expr.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/_scikit_build_core_dependencies.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/bvp.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/config/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/config/__main__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hhj.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hybrid_dg.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/mixed.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/nonlin.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pickling.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pml.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/taskmanager.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/tdnns.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGlap.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGwave.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/adaptive.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/cmagnet.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/elasticity.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/navierstokes.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.ipynb +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_poisson.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/directsolvers.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/eigenvalues.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/internal.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/krylovspace.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/meshes.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/ngs2petsc.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/ngscuda.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/ngscxx.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/preconditioners.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/solvers.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/timestepping.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/timing.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/utils.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/lib/python3.11/site-packages/ngsolve/webgui.py +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2502.post18.dev1.dist-info → ngsolve-6.2.2504.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2502.post18.dev1.dist-info → ngsolve-6.2.2504.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2502.post18.dev1.dist-info → ngsolve-6.2.2504.dist-info}/top_level.txt +0 -0
|
@@ -11,4 +11,4 @@ if [ -f /usr/local/cuda/bin/nvcc ]
|
|
|
11
11
|
else NVCC=nvcc
|
|
12
12
|
fi
|
|
13
13
|
|
|
14
|
-
$NVCC -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -arch=native -Xcompiler -std=c++17 -Xcompiler -DMAX_SYS_DIM=3 -Xcompiler -march=core-avx2 -Xcompiler -fabi-version=17 -Xcompiler -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.
|
|
14
|
+
$NVCC -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -arch=native -Xcompiler -std=c++17 -Xcompiler -DMAX_SYS_DIM=3 -Xcompiler -march=core-avx2 -Xcompiler -fabi-version=17 -Xcompiler -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
|
|
@@ -10,6 +10,6 @@ export CCACHE_NOHASHDIR=1
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
if [ -f /usr/bin/ccache ]
|
|
13
|
-
then /usr/bin/ccache $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.
|
|
14
|
-
else $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.
|
|
13
|
+
then /usr/bin/ccache $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
|
|
14
|
+
else $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
|
|
15
15
|
fi
|
{ngsolve-6.2.2502.post18.dev1.data → ngsolve-6.2.2504.data}/data/include/netgen/integrator.hpp
RENAMED
|
@@ -781,20 +781,14 @@ namespace ngfem
|
|
|
781
781
|
const FiniteElement & volumefel2, int LocalFacetNr2,
|
|
782
782
|
const ElementTransformation & eltrans2, FlatArray<int> & ElVertices2,
|
|
783
783
|
FlatVector<double> elx, FlatVector<double> ely,
|
|
784
|
-
LocalHeap & lh) const
|
|
785
|
-
{
|
|
786
|
-
throw Exception ("FacetBilinearFormIntegrator::ApplyFacetMatrix for inner facets not implemented!");
|
|
787
|
-
}
|
|
784
|
+
LocalHeap & lh) const;
|
|
788
785
|
virtual void
|
|
789
786
|
ApplyFacetMatrix (const FiniteElement & volumefel1, int LocalFacetNr1,
|
|
790
787
|
const ElementTransformation & eltrans1, FlatArray<int> & ElVertices1,
|
|
791
788
|
const FiniteElement & volumefel2, int LocalFacetNr2,
|
|
792
789
|
const ElementTransformation & eltrans2, FlatArray<int> & ElVertices2,
|
|
793
790
|
FlatVector<Complex> elx, FlatVector<Complex> ely,
|
|
794
|
-
LocalHeap & lh) const
|
|
795
|
-
{
|
|
796
|
-
throw Exception ("FacetBilinearFormIntegrator::ApplyFacetMatrix for inner facets not implemented!");
|
|
797
|
-
}
|
|
791
|
+
LocalHeap & lh) const;
|
|
798
792
|
|
|
799
793
|
|
|
800
794
|
virtual void
|
|
@@ -841,19 +835,13 @@ namespace ngfem
|
|
|
841
835
|
const ElementTransformation & eltrans, FlatArray<int> & ElVertices,
|
|
842
836
|
const ElementTransformation & seltrans, FlatArray<int> & SElVertices,
|
|
843
837
|
FlatVector<double> elx, FlatVector<double> ely,
|
|
844
|
-
LocalHeap & lh) const
|
|
845
|
-
{
|
|
846
|
-
throw Exception ("FacetBilinearFormIntegrator::ApplyFacetMatrix for boundary facets not implemented!");
|
|
847
|
-
}
|
|
838
|
+
LocalHeap & lh) const;
|
|
848
839
|
virtual void
|
|
849
840
|
ApplyFacetMatrix (const FiniteElement & volumefel, int LocalFacetNr,
|
|
850
841
|
const ElementTransformation & eltrans, FlatArray<int> & ElVertices,
|
|
851
842
|
const ElementTransformation & seltrans, FlatArray<int> & SElVertices,
|
|
852
843
|
FlatVector<Complex> elx, FlatVector<Complex> ely,
|
|
853
|
-
LocalHeap & lh) const
|
|
854
|
-
{
|
|
855
|
-
throw Exception ("FacetBilinearFormIntegrator::ApplyFacetMatrix for boundary facets not implemented!");
|
|
856
|
-
}
|
|
844
|
+
LocalHeap & lh) const;
|
|
857
845
|
|
|
858
846
|
|
|
859
847
|
// calculate traces in integration points
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
#ifndef MP_COEFFICIENT
|
|
2
|
+
#define MP_COEFFICIENT
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
#include "mptools.hpp"
|
|
6
|
+
|
|
7
|
+
namespace ngsbem
|
|
8
|
+
{
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// ******************** Coefficient Functions *********************
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class SphericalHarmonicsCF : public CoefficientFunction
|
|
15
|
+
{
|
|
16
|
+
SphericalHarmonics<Complex> sh;
|
|
17
|
+
public:
|
|
18
|
+
SphericalHarmonicsCF (int order)
|
|
19
|
+
: CoefficientFunction(1, true), sh(order) { }
|
|
20
|
+
Complex & Coef(int n, int m) { return sh.Coef(n,m); }
|
|
21
|
+
|
|
22
|
+
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
23
|
+
{ throw Exception("real eval not available"); }
|
|
24
|
+
|
|
25
|
+
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
26
|
+
{
|
|
27
|
+
values(0) = sh.Eval(mip.GetPoint());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
virtual void Evaluate (const BaseMappedIntegrationRule & ir, BareSliceMatrix<Complex> values) const override
|
|
31
|
+
{
|
|
32
|
+
for (int i = 0; i < ir.Size(); i++)
|
|
33
|
+
{
|
|
34
|
+
auto & mip = ir[i];
|
|
35
|
+
values(i,0) = sh.Eval(mip.GetPoint());
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
auto & SH() { return sh; }
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
template <typename entry_type> class RegularMLMultiPoleCF;
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
template <typename RADIAL, typename entry_type=Complex>
|
|
48
|
+
class MultiPoleCF : public CoefficientFunction
|
|
49
|
+
{
|
|
50
|
+
MultiPole<RADIAL, entry_type> mp;
|
|
51
|
+
Vec<3> center;
|
|
52
|
+
public:
|
|
53
|
+
MultiPoleCF (int order, double kappa, Vec<3> acenter, double rtyp = 1)
|
|
54
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mp(order, kappa, rtyp), center(acenter) { }
|
|
55
|
+
|
|
56
|
+
entry_type & Coef(int n, int m) { return mp.Coef(n,m); }
|
|
57
|
+
auto & SH() { return mp.SH(); }
|
|
58
|
+
auto & MP() { return mp; }
|
|
59
|
+
Vec<3> Center() const { return center; }
|
|
60
|
+
|
|
61
|
+
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
62
|
+
{ throw Exception("real eval not available"); }
|
|
63
|
+
|
|
64
|
+
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
65
|
+
{
|
|
66
|
+
if constexpr (std::is_same<entry_type, Complex>())
|
|
67
|
+
values(0) = mp.Eval(mip.GetPoint()-center);
|
|
68
|
+
else
|
|
69
|
+
values = mp.Eval(mip.GetPoint()-center);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
template <typename TARGET>
|
|
73
|
+
void ShiftZ (double z, MultiPole<TARGET, entry_type> & target) { mp.ShiftZ(z, target); }
|
|
74
|
+
|
|
75
|
+
using CoefficientFunction::Transform;
|
|
76
|
+
template <typename TARGET>
|
|
77
|
+
void Transform (MultiPoleCF<TARGET, entry_type> & target)
|
|
78
|
+
{
|
|
79
|
+
mp.Transform (target.MP(), target.Center()-center);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
template <typename entry_type>
|
|
84
|
+
class SingularMLMultiPoleCF : public CoefficientFunction
|
|
85
|
+
{
|
|
86
|
+
shared_ptr<SingularMLMultiPole<entry_type>> mlmp;
|
|
87
|
+
public:
|
|
88
|
+
SingularMLMultiPoleCF (Vec<3> center, double r, double kappa)
|
|
89
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<SingularMLMultiPole<entry_type>>(center, r, kappa)} { }
|
|
90
|
+
|
|
91
|
+
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
92
|
+
{ throw Exception("real eval not available"); }
|
|
93
|
+
|
|
94
|
+
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
95
|
+
{
|
|
96
|
+
// values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
97
|
+
|
|
98
|
+
if constexpr (std::is_same<entry_type, Complex>())
|
|
99
|
+
values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
100
|
+
else
|
|
101
|
+
values = mlmp->Evaluate(mip.GetPoint());
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
shared_ptr<SingularMLMultiPole<entry_type>> MLMP() const { return mlmp; }
|
|
107
|
+
shared_ptr<RegularMLMultiPoleCF<entry_type>> CreateRegularExpansion(Vec<3> center, double r) const;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
template <typename entry_type>
|
|
112
|
+
class RegularMLMultiPoleCF : public CoefficientFunction
|
|
113
|
+
{
|
|
114
|
+
shared_ptr<RegularMLMultiPole<entry_type>> mlmp;
|
|
115
|
+
public:
|
|
116
|
+
RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPoleCF<entry_type>> asingmp, Vec<3> center, double r)
|
|
117
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp->MLMP(), center, r)} { }
|
|
118
|
+
RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPole<entry_type>> asingmp, Vec<3> center, double r)
|
|
119
|
+
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp, center, r)} { }
|
|
120
|
+
|
|
121
|
+
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
122
|
+
{ throw Exception("real eval not available"); }
|
|
123
|
+
|
|
124
|
+
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
125
|
+
{
|
|
126
|
+
// values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
127
|
+
|
|
128
|
+
if constexpr (std::is_same<entry_type, Complex>())
|
|
129
|
+
values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
130
|
+
else
|
|
131
|
+
values = mlmp->Evaluate(mip.GetPoint());
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
shared_ptr<RegularMLMultiPole<entry_type>> MLMP() { return mlmp; }
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#endif
|
|
@@ -223,17 +223,46 @@ namespace ngsbem
|
|
|
223
223
|
{
|
|
224
224
|
SphericalHankel1(order, r, scale, values);
|
|
225
225
|
}
|
|
226
|
+
|
|
227
|
+
template <typename T>
|
|
228
|
+
static void Eval (int order, double kappa, double r, double rtyp, T && values)
|
|
229
|
+
{
|
|
230
|
+
double scale = Scale(kappa, rtyp);
|
|
231
|
+
SphericalHankel1(order, r*kappa, scale, values);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
static double Scale (double kappa, double rtyp)
|
|
235
|
+
{
|
|
236
|
+
// return min(1.0, rtyp*kappa);
|
|
237
|
+
return min(1.0, 0.5*rtyp*kappa);
|
|
238
|
+
}
|
|
226
239
|
};
|
|
240
|
+
|
|
241
|
+
|
|
227
242
|
|
|
228
243
|
// jn
|
|
229
244
|
class MPRegular
|
|
230
245
|
{
|
|
231
|
-
public:
|
|
246
|
+
public:
|
|
232
247
|
template <typename T>
|
|
233
248
|
static void Eval (int order, double r, double scale, T && values)
|
|
234
249
|
{
|
|
235
250
|
SphericalBessel (order, r, 1.0/scale, values);
|
|
236
251
|
}
|
|
252
|
+
|
|
253
|
+
template <typename T>
|
|
254
|
+
static void Eval (int order, double kappa, double r, double rtyp, T && values)
|
|
255
|
+
{
|
|
256
|
+
double scale = Scale(kappa, rtyp);
|
|
257
|
+
SphericalBessel (order, r*kappa, 1.0/scale, values);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
static double Scale (double kappa, double rtyp)
|
|
261
|
+
{
|
|
262
|
+
// return 1.0/ min(1.0, 0.25*rtyp*kappa);
|
|
263
|
+
return 1.0/ min(1.0, 0.5*rtyp*kappa);
|
|
264
|
+
}
|
|
265
|
+
|
|
237
266
|
};
|
|
238
267
|
|
|
239
268
|
|
|
@@ -244,22 +273,25 @@ namespace ngsbem
|
|
|
244
273
|
{
|
|
245
274
|
SphericalHarmonics<entry_type> sh;
|
|
246
275
|
double kappa;
|
|
247
|
-
double
|
|
276
|
+
double rtyp;
|
|
248
277
|
public:
|
|
249
|
-
MultiPole (int aorder, double akappa, double ascale = 1)
|
|
250
|
-
: sh(aorder), kappa(akappa), scale(ascale) { }
|
|
251
278
|
|
|
279
|
+
MultiPole (int aorder, double akappa, double artyp)
|
|
280
|
+
: sh(aorder), kappa(akappa), rtyp(artyp) { }
|
|
281
|
+
|
|
282
|
+
|
|
252
283
|
entry_type & Coef(int n, int m) { return sh.Coef(n,m); }
|
|
253
284
|
auto & SH() { return sh; }
|
|
254
285
|
const auto & SH() const { return sh; }
|
|
255
286
|
double Kappa() const { return kappa; }
|
|
256
|
-
double Scale() const { return
|
|
287
|
+
double Scale() const { return RADIAL::Scale(kappa, rtyp); }
|
|
288
|
+
double RTyp() const { return rtyp; }
|
|
257
289
|
int Order() const { return sh.Order(); }
|
|
258
290
|
|
|
259
291
|
MultiPole Truncate(int neworder) const
|
|
260
292
|
{
|
|
261
293
|
if (neworder > sh.Order()) neworder=sh.Order();
|
|
262
|
-
MultiPole nmp(neworder, kappa);
|
|
294
|
+
MultiPole nmp(neworder, kappa, rtyp);
|
|
263
295
|
nmp.sh.Coefs() = sh.Coefs().Range(sqr(neworder+1));
|
|
264
296
|
return nmp;
|
|
265
297
|
}
|
|
@@ -278,15 +310,27 @@ namespace ngsbem
|
|
|
278
310
|
void AddDipole (Vec<3> x, Vec<3> d, entry_type c);
|
|
279
311
|
void AddCurrent (Vec<3> ap, Vec<3> ep, Complex j, int num=100);
|
|
280
312
|
|
|
281
|
-
|
|
313
|
+
/*
|
|
282
314
|
void ChangeScaleTo (double newscale)
|
|
283
315
|
{
|
|
284
|
-
double fac =
|
|
316
|
+
double fac = Scale()/newscale;
|
|
285
317
|
double prod = 1;
|
|
286
318
|
for (int n = 0; n <= sh.Order(); n++, prod*= fac)
|
|
287
319
|
sh.CoefsN(n) *= prod;
|
|
288
320
|
scale = newscale;
|
|
289
321
|
}
|
|
322
|
+
*/
|
|
323
|
+
void ChangeRTypTo (double new_rtyp)
|
|
324
|
+
{
|
|
325
|
+
// double fac = Scale()/newscale;
|
|
326
|
+
double fac = RADIAL::Scale(kappa, rtyp) / RADIAL::Scale(kappa, new_rtyp);
|
|
327
|
+
double prod = 1;
|
|
328
|
+
for (int n = 0; n <= sh.Order(); n++, prod*= fac)
|
|
329
|
+
sh.CoefsN(n) *= prod;
|
|
330
|
+
// scale = newscale;
|
|
331
|
+
rtyp = new_rtyp;
|
|
332
|
+
}
|
|
333
|
+
|
|
290
334
|
|
|
291
335
|
Vector<double> Spectrum (bool scaled) const
|
|
292
336
|
{
|
|
@@ -295,7 +339,7 @@ namespace ngsbem
|
|
|
295
339
|
for (int n = 0; n <= Order(); n++)
|
|
296
340
|
{
|
|
297
341
|
spec(n) = fac * L2Norm2(sh.CoefsN(n));
|
|
298
|
-
if (!scaled) fac *= sqr(
|
|
342
|
+
if (!scaled) fac *= sqr(Scale());
|
|
299
343
|
}
|
|
300
344
|
return spec;
|
|
301
345
|
}
|
|
@@ -311,8 +355,8 @@ namespace ngsbem
|
|
|
311
355
|
return;
|
|
312
356
|
}
|
|
313
357
|
|
|
314
|
-
static Timer t("mptool Transform "+ToString(typeid(RADIAL).name())+ToString(typeid(TARGET).name()));
|
|
315
|
-
RegionTimer reg(t);
|
|
358
|
+
// static Timer t("mptool Transform "+ToString(typeid(RADIAL).name())+ToString(typeid(TARGET).name()));
|
|
359
|
+
// RegionTimer reg(t);
|
|
316
360
|
|
|
317
361
|
double len = L2Norm(dist);
|
|
318
362
|
double theta, phi;
|
|
@@ -328,7 +372,10 @@ namespace ngsbem
|
|
|
328
372
|
phi = atan2(dist(1), dist(0));
|
|
329
373
|
|
|
330
374
|
|
|
331
|
-
MultiPole<RADIAL,entry_type> tmp
|
|
375
|
+
// MultiPole<RADIAL,entry_type> tmp{*this};
|
|
376
|
+
MultiPole<RADIAL,entry_type> tmp(Order(), kappa, rtyp);
|
|
377
|
+
tmp.SH().Coefs() = SH().Coefs();
|
|
378
|
+
|
|
332
379
|
tmp.SH().RotateZ(phi);
|
|
333
380
|
tmp.SH().RotateY(theta);
|
|
334
381
|
|
|
@@ -383,11 +430,9 @@ namespace ngsbem
|
|
|
383
430
|
Array<tuple<Vec<3>, Vec<3>, Complex,int>> currents;
|
|
384
431
|
int total_sources;
|
|
385
432
|
|
|
386
|
-
Node (Vec<3> acenter, double ar, int alevel,
|
|
387
|
-
: center(acenter), r(ar), level(alevel), mp(MPOrder(ar*
|
|
388
|
-
// : center(acenter), r(ar), level(alevel), mp(MPOrder(ar*kappa), kappa, 1.0)
|
|
433
|
+
Node (Vec<3> acenter, double ar, int alevel, double akappa)
|
|
434
|
+
: center(acenter), r(ar), level(alevel), mp(MPOrder(ar*akappa), akappa, ar) // min(1.0, ar*akappa))
|
|
389
435
|
{
|
|
390
|
-
// cout << "singml, add node, level = " << level << endl;
|
|
391
436
|
if (level < nodes_on_level.Size())
|
|
392
437
|
nodes_on_level[level]++;
|
|
393
438
|
}
|
|
@@ -402,7 +447,7 @@ namespace ngsbem
|
|
|
402
447
|
cc(0) += (i&1) ? r/2 : -r/2;
|
|
403
448
|
cc(1) += (i&2) ? r/2 : -r/2;
|
|
404
449
|
cc(2) += (i&4) ? r/2 : -r/2;
|
|
405
|
-
childs[i] = make_unique<Node> (cc, r/2, level+1,
|
|
450
|
+
childs[i] = make_unique<Node> (cc, r/2, level+1, mp.Kappa());
|
|
406
451
|
}
|
|
407
452
|
}
|
|
408
453
|
|
|
@@ -422,7 +467,8 @@ namespace ngsbem
|
|
|
422
467
|
|
|
423
468
|
charges.Append( tuple{x,c} );
|
|
424
469
|
|
|
425
|
-
if (r*mp.Kappa() < 1e-8) return;
|
|
470
|
+
// if (r*mp.Kappa() < 1e-8) return;
|
|
471
|
+
if (level > 20) return;
|
|
426
472
|
if (charges.Size() < maxdirect && r*mp.Kappa() < 1)
|
|
427
473
|
return;
|
|
428
474
|
|
|
@@ -537,9 +583,17 @@ namespace ngsbem
|
|
|
537
583
|
return sum;
|
|
538
584
|
}
|
|
539
585
|
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
586
|
+
// static Timer t("fmm direct eval"); RegionTimer reg(t);
|
|
587
|
+
if (mp.Kappa() < 1e-8)
|
|
588
|
+
{
|
|
589
|
+
for (auto [x,c] : charges)
|
|
590
|
+
if (double rho = L2Norm(p-x); rho > 0)
|
|
591
|
+
sum += (1/(4*M_PI))*Complex(1,rho*mp.Kappa()) / rho * c;
|
|
592
|
+
}
|
|
593
|
+
else
|
|
594
|
+
for (auto [x,c] : charges)
|
|
595
|
+
if (double rho = L2Norm(p-x); rho > 0)
|
|
596
|
+
sum += (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) / rho * c;
|
|
543
597
|
|
|
544
598
|
for (auto [x,d,c] : dipoles)
|
|
545
599
|
if (double rho = L2Norm(p-x); rho > 0)
|
|
@@ -632,7 +686,7 @@ namespace ngsbem
|
|
|
632
686
|
{
|
|
633
687
|
if (charges.Size()+dipoles.Size()+currents.Size() == 0)
|
|
634
688
|
{
|
|
635
|
-
mp = MultiPole<MPSingular,entry_type> (-1, mp.Kappa());
|
|
689
|
+
mp = MultiPole<MPSingular,entry_type> (-1, mp.Kappa(), 1.);
|
|
636
690
|
return;
|
|
637
691
|
}
|
|
638
692
|
|
|
@@ -720,8 +774,8 @@ namespace ngsbem
|
|
|
720
774
|
bool havemp = false;
|
|
721
775
|
|
|
722
776
|
public:
|
|
723
|
-
SingularMLMultiPole (Vec<3> center, double r,
|
|
724
|
-
: root(center, r, 0,
|
|
777
|
+
SingularMLMultiPole (Vec<3> center, double r, double kappa)
|
|
778
|
+
: root(center, r, 0, kappa)
|
|
725
779
|
{
|
|
726
780
|
nodes_on_level = 0;
|
|
727
781
|
nodes_on_level[0] = 1;
|
|
@@ -729,7 +783,7 @@ namespace ngsbem
|
|
|
729
783
|
|
|
730
784
|
double Kappa() const { return root.mp.Kappa(); }
|
|
731
785
|
|
|
732
|
-
void AddCharge(Vec<3> x,
|
|
786
|
+
void AddCharge(Vec<3> x, entry_type c)
|
|
733
787
|
{
|
|
734
788
|
root.AddCharge(x, c);
|
|
735
789
|
}
|
|
@@ -791,6 +845,7 @@ namespace ngsbem
|
|
|
791
845
|
for (int i = 0; i <= maxlevel; i++)
|
|
792
846
|
cout << "sing " << i << ": " << nodes_on_level[i] << endl;
|
|
793
847
|
*/
|
|
848
|
+
|
|
794
849
|
root.CalcTotalSources();
|
|
795
850
|
root.CalcMP();
|
|
796
851
|
|
|
@@ -835,8 +890,8 @@ namespace ngsbem
|
|
|
835
890
|
|
|
836
891
|
Array<const typename SingularMLMultiPole<elem_type>::Node*> singnodes;
|
|
837
892
|
|
|
838
|
-
Node (Vec<3> acenter, double ar, int alevel,
|
|
839
|
-
: center(acenter), r(ar), level(alevel), mp(MPOrder(ar*kappa), kappa, 1.0/min(1.0, 0.25*r*kappa))
|
|
893
|
+
Node (Vec<3> acenter, double ar, int alevel, double kappa)
|
|
894
|
+
: center(acenter), r(ar), level(alevel), mp(MPOrder(ar*kappa), kappa, ar) // 1.0/min(1.0, 0.25*r*kappa))
|
|
840
895
|
// : center(acenter), r(ar), level(alevel), mp(MPOrder(ar*kappa), kappa, 1.0)
|
|
841
896
|
{
|
|
842
897
|
if (level < nodes_on_level.Size())
|
|
@@ -854,7 +909,7 @@ namespace ngsbem
|
|
|
854
909
|
cc(0) += (i&1) ? r/2 : -r/2;
|
|
855
910
|
cc(1) += (i&2) ? r/2 : -r/2;
|
|
856
911
|
cc(2) += (i&4) ? r/2 : -r/2;
|
|
857
|
-
childs[i] = make_unique<Node> (cc, r/2, level+1,
|
|
912
|
+
childs[i] = make_unique<Node> (cc, r/2, level+1, mp.Kappa());
|
|
858
913
|
}
|
|
859
914
|
}
|
|
860
915
|
|
|
@@ -947,7 +1002,7 @@ namespace ngsbem
|
|
|
947
1002
|
mp.TransformAdd (ch->mp, ch->center-center);
|
|
948
1003
|
ch->LocalizeExpansion(allow_refine);
|
|
949
1004
|
}
|
|
950
|
-
mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa());
|
|
1005
|
+
mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa(), 1.);
|
|
951
1006
|
//mp.SH().Coefs()=0.0;
|
|
952
1007
|
}
|
|
953
1008
|
}
|
|
@@ -976,7 +1031,7 @@ namespace ngsbem
|
|
|
976
1031
|
sum = mp.Eval(p-center);
|
|
977
1032
|
|
|
978
1033
|
|
|
979
|
-
static Timer t("mptool direct evaluate"); RegionTimer r(t);
|
|
1034
|
+
// static Timer t("mptool direct evaluate"); RegionTimer r(t);
|
|
980
1035
|
for (auto sn : singnodes)
|
|
981
1036
|
sum += sn->EvaluateMP(p);
|
|
982
1037
|
|
|
@@ -1038,7 +1093,8 @@ namespace ngsbem
|
|
|
1038
1093
|
|
|
1039
1094
|
targets.Append( x );
|
|
1040
1095
|
|
|
1041
|
-
if (r*mp.Kappa() < 1e-8) return;
|
|
1096
|
+
// if (r*mp.Kappa() < 1e-8) return;
|
|
1097
|
+
if (level > 20) return;
|
|
1042
1098
|
if (targets.Size() < maxdirect && r*mp.Kappa() < 1)
|
|
1043
1099
|
return;
|
|
1044
1100
|
|
|
@@ -1071,7 +1127,7 @@ namespace ngsbem
|
|
|
1071
1127
|
}
|
|
1072
1128
|
|
|
1073
1129
|
if (total_targets == 0)
|
|
1074
|
-
mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa());
|
|
1130
|
+
mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa(),1.);
|
|
1075
1131
|
}
|
|
1076
1132
|
|
|
1077
1133
|
|
|
@@ -1094,8 +1150,8 @@ namespace ngsbem
|
|
|
1094
1150
|
shared_ptr<SingularMLMultiPole<elem_type>> singmp;
|
|
1095
1151
|
|
|
1096
1152
|
public:
|
|
1097
|
-
RegularMLMultiPole (shared_ptr<SingularMLMultiPole<elem_type>> asingmp, Vec<3> center, double r
|
|
1098
|
-
: root(center, r, 0,
|
|
1153
|
+
RegularMLMultiPole (shared_ptr<SingularMLMultiPole<elem_type>> asingmp, Vec<3> center, double r)
|
|
1154
|
+
: root(center, r, 0, asingmp->Kappa()), singmp(asingmp)
|
|
1099
1155
|
{
|
|
1100
1156
|
if (!singmp->havemp) throw Exception("first call Calc for singular MP");
|
|
1101
1157
|
|
|
@@ -1124,8 +1180,8 @@ namespace ngsbem
|
|
|
1124
1180
|
}
|
|
1125
1181
|
}
|
|
1126
1182
|
|
|
1127
|
-
RegularMLMultiPole (Vec<3> center, double r,
|
|
1128
|
-
: root(center, r, 0,
|
|
1183
|
+
RegularMLMultiPole (Vec<3> center, double r, double kappa)
|
|
1184
|
+
: root(center, r, 0, kappa)
|
|
1129
1185
|
{
|
|
1130
1186
|
nodes_on_level = 0;
|
|
1131
1187
|
nodes_on_level[0] = 1;
|
|
@@ -1138,6 +1194,8 @@ namespace ngsbem
|
|
|
1138
1194
|
|
|
1139
1195
|
void CalcMP(shared_ptr<SingularMLMultiPole<elem_type>> asingmp)
|
|
1140
1196
|
{
|
|
1197
|
+
static Timer t("mptool regular MLMP"); RegionTimer rg(t);
|
|
1198
|
+
|
|
1141
1199
|
singmp = asingmp;
|
|
1142
1200
|
|
|
1143
1201
|
root.CalcTotalTargets();
|
|
@@ -1154,6 +1212,7 @@ namespace ngsbem
|
|
|
1154
1212
|
cout << "reg " << i << ": " << RegularMLMultiPole::nodes_on_level[i] << endl;
|
|
1155
1213
|
*/
|
|
1156
1214
|
|
|
1215
|
+
static Timer tloc("mptool regular localize expansion"); RegionTimer rloc(tloc);
|
|
1157
1216
|
root.LocalizeExpansion(false);
|
|
1158
1217
|
}
|
|
1159
1218
|
|
|
@@ -1200,132 +1259,5 @@ namespace ngsbem
|
|
|
1200
1259
|
|
|
1201
1260
|
|
|
1202
1261
|
|
|
1203
|
-
// ******************** Coefficient Functions *********************
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
class SphericalHarmonicsCF : public CoefficientFunction
|
|
1207
|
-
{
|
|
1208
|
-
SphericalHarmonics<Complex> sh;
|
|
1209
|
-
public:
|
|
1210
|
-
SphericalHarmonicsCF (int order)
|
|
1211
|
-
: CoefficientFunction(1, true), sh(order) { }
|
|
1212
|
-
Complex & Coef(int n, int m) { return sh.Coef(n,m); }
|
|
1213
|
-
|
|
1214
|
-
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
1215
|
-
{ throw Exception("real eval not available"); }
|
|
1216
|
-
|
|
1217
|
-
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
1218
|
-
{
|
|
1219
|
-
values(0) = sh.Eval(mip.GetPoint());
|
|
1220
|
-
}
|
|
1221
|
-
|
|
1222
|
-
virtual void Evaluate (const BaseMappedIntegrationRule & ir, BareSliceMatrix<Complex> values) const override
|
|
1223
|
-
{
|
|
1224
|
-
for (int i = 0; i < ir.Size(); i++)
|
|
1225
|
-
{
|
|
1226
|
-
auto & mip = ir[i];
|
|
1227
|
-
values(i,0) = sh.Eval(mip.GetPoint());
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
auto & SH() { return sh; }
|
|
1232
|
-
};
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
template <typename entry_type> class RegularMLMultiPoleCF;
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
template <typename RADIAL, typename entry_type=Complex>
|
|
1240
|
-
class MultiPoleCF : public CoefficientFunction
|
|
1241
|
-
{
|
|
1242
|
-
MultiPole<RADIAL, entry_type> mp;
|
|
1243
|
-
Vec<3> center;
|
|
1244
|
-
public:
|
|
1245
|
-
MultiPoleCF (int order, double kappa, Vec<3> acenter, double scale = 1)
|
|
1246
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mp(order, kappa, scale), center(acenter) { }
|
|
1247
|
-
|
|
1248
|
-
entry_type & Coef(int n, int m) { return mp.Coef(n,m); }
|
|
1249
|
-
auto & SH() { return mp.SH(); }
|
|
1250
|
-
auto & MP() { return mp; }
|
|
1251
|
-
Vec<3> Center() const { return center; }
|
|
1252
|
-
|
|
1253
|
-
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
1254
|
-
{ throw Exception("real eval not available"); }
|
|
1255
|
-
|
|
1256
|
-
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
1257
|
-
{
|
|
1258
|
-
if constexpr (std::is_same<entry_type, Complex>())
|
|
1259
|
-
values(0) = mp.Eval(mip.GetPoint()-center);
|
|
1260
|
-
else
|
|
1261
|
-
values = mp.Eval(mip.GetPoint()-center);
|
|
1262
|
-
}
|
|
1263
|
-
|
|
1264
|
-
template <typename TARGET>
|
|
1265
|
-
void ShiftZ (double z, MultiPole<TARGET, entry_type> & target) { mp.ShiftZ(z, target); }
|
|
1266
|
-
|
|
1267
|
-
using CoefficientFunction::Transform;
|
|
1268
|
-
template <typename TARGET>
|
|
1269
|
-
void Transform (MultiPoleCF<TARGET, entry_type> & target)
|
|
1270
|
-
{
|
|
1271
|
-
mp.Transform (target.MP(), target.Center()-center);
|
|
1272
|
-
}
|
|
1273
|
-
};
|
|
1274
|
-
|
|
1275
|
-
template <typename entry_type>
|
|
1276
|
-
class SingularMLMultiPoleCF : public CoefficientFunction
|
|
1277
|
-
{
|
|
1278
|
-
shared_ptr<SingularMLMultiPole<entry_type>> mlmp;
|
|
1279
|
-
public:
|
|
1280
|
-
SingularMLMultiPoleCF (Vec<3> center, double r, int order, double kappa)
|
|
1281
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<SingularMLMultiPole<entry_type>>(center, r, order, kappa)} { }
|
|
1282
|
-
|
|
1283
|
-
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
1284
|
-
{ throw Exception("real eval not available"); }
|
|
1285
|
-
|
|
1286
|
-
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
1287
|
-
{
|
|
1288
|
-
// values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
1289
|
-
|
|
1290
|
-
if constexpr (std::is_same<entry_type, Complex>())
|
|
1291
|
-
values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
1292
|
-
else
|
|
1293
|
-
values = mlmp->Evaluate(mip.GetPoint());
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
shared_ptr<SingularMLMultiPole<entry_type>> MLMP() const { return mlmp; }
|
|
1299
|
-
shared_ptr<RegularMLMultiPoleCF<entry_type>> CreateRegularExpansion(Vec<3> center, double r) const;
|
|
1300
|
-
};
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
template <typename entry_type>
|
|
1304
|
-
class RegularMLMultiPoleCF : public CoefficientFunction
|
|
1305
|
-
{
|
|
1306
|
-
shared_ptr<RegularMLMultiPole<entry_type>> mlmp;
|
|
1307
|
-
public:
|
|
1308
|
-
RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPoleCF<entry_type>> asingmp, Vec<3> center, double r, int order)
|
|
1309
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp->MLMP(), center, r, order)} { }
|
|
1310
|
-
RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPole<entry_type>> asingmp, Vec<3> center, double r, int order)
|
|
1311
|
-
: CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp, center, r, order)} { }
|
|
1312
|
-
|
|
1313
|
-
virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
|
|
1314
|
-
{ throw Exception("real eval not available"); }
|
|
1315
|
-
|
|
1316
|
-
virtual void Evaluate (const BaseMappedIntegrationPoint & mip, FlatVector<Complex> values) const override
|
|
1317
|
-
{
|
|
1318
|
-
// values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
1319
|
-
|
|
1320
|
-
if constexpr (std::is_same<entry_type, Complex>())
|
|
1321
|
-
values(0) = mlmp->Evaluate(mip.GetPoint());
|
|
1322
|
-
else
|
|
1323
|
-
values = mlmp->Evaluate(mip.GetPoint());
|
|
1324
|
-
}
|
|
1325
|
-
|
|
1326
|
-
shared_ptr<RegularMLMultiPole<entry_type>> MLMP() { return mlmp; }
|
|
1327
|
-
};
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
1262
|
}
|
|
1331
1263
|
#endif
|