ngsolve 6.2.2506.post75.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.
Potentially problematic release.
This version of ngsolve might be problematic. Click here for more details.
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngs_nvcc +14 -0
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngs_nvlink +14 -0
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngscxx +15 -0
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngsld +11 -0
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngsolve.tcl +648 -0
- ngsolve-6.2.2506.post75.dev0.data/data/bin/ngspy +2 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/analytic_integrals.hpp +10 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/arnoldi.hpp +55 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bandmatrix.hpp +334 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/basematrix.hpp +957 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/basevector.hpp +1268 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bdbequations.hpp +2805 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bdbintegrator.hpp +1660 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bem_diffops.hpp +475 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bessel.hpp +1064 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bilinearform.hpp +963 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bla.hpp +29 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/blockalloc.hpp +95 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/blockjacobi.hpp +328 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/bspline.hpp +116 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/calcinverse.hpp +141 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cg.hpp +368 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/chebyshev.hpp +44 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cholesky.hpp +720 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/clapack.h +7254 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/code_generation.hpp +296 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient.hpp +2033 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient_impl.hpp +19 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/coefficient_stdmath.hpp +167 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/commutingAMG.hpp +106 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/comp.hpp +79 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/compatibility.hpp +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/complex_wrapper.hpp +73 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/compressedfespace.hpp +110 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/contact.hpp +235 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_linalg.hpp +175 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_ngbla.hpp +226 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_ngstd.hpp +527 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/cuda_profiler.hpp +240 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diagonalmatrix.hpp +154 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/differentialoperator.hpp +276 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffop.hpp +1286 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffop_impl.hpp +328 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/diffopwithfactor.hpp +123 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/discontinuous.hpp +84 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/dump.hpp +949 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ectypes.hpp +121 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/eigen.hpp +60 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/eigensystem.hpp +18 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elasticity_equations.hpp +595 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementbyelement.hpp +195 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementtopology.hpp +1760 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/elementtransformation.hpp +339 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/evalfunc.hpp +405 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/expr.hpp +1686 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetfe.hpp +175 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetfespace.hpp +180 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facethofe.hpp +111 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/facetsurffespace.hpp +112 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fe_interfaces.hpp +32 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fem.hpp +87 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fesconvert.hpp +14 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/fespace.hpp +1449 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/finiteelement.hpp +286 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/globalinterfacespace.hpp +77 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/globalspace.hpp +115 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/gridfunction.hpp +525 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1amg.hpp +124 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofe.hpp +188 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofe_impl.hpp +1262 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofefo.hpp +148 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofefo_impl.hpp +185 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1hofespace.hpp +167 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1lofe.hpp +1240 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/h1lumping.hpp +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurl_equations.hpp +1381 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlcurlfe.hpp +2241 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlcurlfespace.hpp +78 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlfe.hpp +259 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlfe_utils.hpp +107 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhdiv_dshape.hpp +857 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhdivfes.hpp +308 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofe.hpp +175 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofe_impl.hpp +1871 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurlhofespace.hpp +193 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hcurllofe.hpp +1146 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdiv_equations.hpp +880 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivdivfe.hpp +2923 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivdivsurfacespace.hpp +76 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfe.hpp +206 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfe_utils.hpp +717 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivfes.hpp +75 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofe.hpp +447 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofe_impl.hpp +1107 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofefo.hpp +229 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhofespace.hpp +177 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivhosurfacefespace.hpp +106 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hdivlofe.hpp +773 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hidden.hpp +74 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/householder.hpp +181 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hypre_ams_precond.hpp +123 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/hypre_precond.hpp +73 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/integrator.hpp +2012 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/integratorcf.hpp +253 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/interpolate.hpp +49 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/intrule.hpp +2542 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/intrules_SauterSchwab.hpp +25 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/irspace.hpp +49 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/jacobi.hpp +153 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/kernels.hpp +762 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofe.hpp +194 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofe_impl.hpp +564 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofefo.hpp +542 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/l2hofespace.hpp +344 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/la.hpp +38 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/linalg_kernels.hpp +102 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/linearform.hpp +266 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/matrix.hpp +2140 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/memusage.hpp +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/meshaccess.hpp +1359 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mgpre.hpp +204 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mp_coefficient.hpp +145 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mptools.hpp +2281 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/multigrid.hpp +42 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/multivector.hpp +447 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mumpsinverse.hpp +187 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/mycomplex.hpp +361 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ng_lapack.hpp +1661 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngblas.hpp +1232 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_defines.hpp +30 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_stdcpp_include.hpp +106 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngs_utils.hpp +121 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngsobject.hpp +1019 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngsstream.hpp +113 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/ngstd.hpp +72 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/nodalhofe.hpp +96 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/nodalhofe_impl.hpp +141 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetfe.hpp +223 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetfespace.hpp +98 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/normalfacetsurfacefespace.hpp +84 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/order.hpp +251 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallel_matrices.hpp +222 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/paralleldofs.hpp +340 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallelngs.hpp +23 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/parallelvector.hpp +269 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pardisoinverse.hpp +200 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/periodic.hpp +129 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/plateaufespace.hpp +25 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pml.hpp +275 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/pmltrafo.hpp +631 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/postproc.hpp +142 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/potentialtools.hpp +22 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/precomp.hpp +60 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/preconditioner.hpp +602 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/prolongation.hpp +377 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_comp.hpp +107 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_fem.hpp +89 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_linalg.hpp +58 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/python_ngstd.hpp +386 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol.hpp +4896 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol_tet.hpp +395 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/recursive_pol_trig.hpp +492 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/reorderedfespace.hpp +81 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sample_sort.hpp +105 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/scalarfe.hpp +335 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/shapefunction_utils.hpp +113 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/simd_complex.hpp +329 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/smoother.hpp +253 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/solve.hpp +89 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsecholesky.hpp +313 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix.hpp +1038 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix_dyn.hpp +90 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/sparsematrix_impl.hpp +1013 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/special_matrix.hpp +463 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/specialelement.hpp +125 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/statushandler.hpp +33 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/stringops.hpp +12 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/superluinverse.hpp +136 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/symbolicintegrator.hpp +850 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/symmetricmatrix.hpp +144 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tangentialfacetfe.hpp +224 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tangentialfacetfespace.hpp +91 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensor.hpp +522 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensorcoefficient.hpp +446 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tensorproductintegrator.hpp +113 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thcurlfe.hpp +128 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thcurlfe_impl.hpp +380 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thdivfe.hpp +80 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/thdivfe_impl.hpp +492 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpdiffop.hpp +461 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpfes.hpp +133 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tpintrule.hpp +224 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/triangular.hpp +465 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tscalarfe.hpp +245 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/tscalarfe_impl.hpp +1029 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/umfpackinverse.hpp +148 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/unifiedvector.hpp +103 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vector.hpp +1273 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/voxelcoefficientfunction.hpp +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vtkoutput.hpp +198 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/vvector.hpp +208 -0
- ngsolve-6.2.2506.post75.dev0.data/data/include/netgen/webgui.hpp +92 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/NGSolveConfig.cmake +102 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +89 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/cmake/ngsolve/ngsolve-targets.cmake +173 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngbla.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngfem.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngla.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/netgen_mesher.libs/libngstd.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/TensorProductTools.py +210 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__console.py +94 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__expr.py +181 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/__init__.py +148 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/_scikit_build_core_dependencies.py +30 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/bvp.py +78 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__init__.py +1 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/__main__.py +4 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/config/config.py +60 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/__init__.py +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/__init__.py +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hhj.py +44 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/hybrid_dg.py +53 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/mixed.py +30 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/nonlin.py +29 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pickling.py +26 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/pml.py +31 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/taskmanager.py +20 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/tdnns.py +47 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +45 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDG.py +38 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGlap.py +42 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/howto/timeDGwave.py +61 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/__init__.py +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/adaptive.py +123 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/cmagnet.py +59 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/elasticity.py +76 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/navierstokes.py +74 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.ipynb +170 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/intro/poisson.py +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_poisson.py +89 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +82 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/directsolvers.py +26 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/eigenvalues.py +364 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/internal.py +89 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/krylovspace.py +1013 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/meshes.py +748 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngs2petsc.py +310 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscuda.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngscxx.py +42 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/ngslib.so +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/nonlinearsolvers.py +203 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/preconditioners.py +11 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/solve_implementation.py +168 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/solvers.py +7 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/timestepping.py +185 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/timing.py +108 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/utils.py +167 -0
- ngsolve-6.2.2506.post75.dev0.data/data/lib/python3.14/site-packages/ngsolve/webgui.py +670 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/beam.geo +17 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/beam.vol +240 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/chip.in2d +41 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/chip.vol +614 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coil.geo +12 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coil.vol +2560 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coilshield.geo +24 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/coilshield.vol +3179 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/cube.geo +19 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/cube.vol +1832 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d1_square.pde +43 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d2_chip.pde +35 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d4_cube.pde +46 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d5_beam.pde +74 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d6_shaft.pde +73 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d7_coil.pde +50 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d8_coilshield.pde +49 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/doubleglazing.in2d +27 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/doubleglazing.vol +737 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/shaft.geo +73 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/shaft.vol +4291 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/square.in2d +17 -0
- ngsolve-6.2.2506.post75.dev0.data/data/share/ngsolve/square.vol +149 -0
- ngsolve-6.2.2506.post75.dev0.dist-info/METADATA +14 -0
- ngsolve-6.2.2506.post75.dev0.dist-info/RECORD +303 -0
- ngsolve-6.2.2506.post75.dev0.dist-info/WHEEL +5 -0
- ngsolve-6.2.2506.post75.dev0.dist-info/licenses/LICENSE +504 -0
- ngsolve-6.2.2506.post75.dev0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#ifndef FILE_COEFFICIENT_IMPL
|
|
2
|
+
#define FILE_COEFFICIENT_IMPL
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
namespace ngfem
|
|
6
|
+
{
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
struct GenericIdentity
|
|
10
|
+
{
|
|
11
|
+
template <typename T> T operator() (T x) const { return x; }
|
|
12
|
+
static string Name() { return " "; }
|
|
13
|
+
template <typename T> T Diff (T x) const { throw Exception("no GenericIdentity::Diff"); }
|
|
14
|
+
void DoArchive(Archive& ar) {}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#endif
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
#ifndef FILE_COEFFICIENT_STDMATH
|
|
2
|
+
#define FILE_COEFFICIENT_STDMATH
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
namespace ngfem
|
|
6
|
+
{
|
|
7
|
+
|
|
8
|
+
struct GenericSqrt {
|
|
9
|
+
template <typename T> T operator() (T x) const { return sqrt(x); }
|
|
10
|
+
static string Name() { return "sqrt"; }
|
|
11
|
+
void DoArchive(Archive& ar) {}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
struct GenericSin {
|
|
15
|
+
template <typename T> T operator() (T x) const { return sin(x); }
|
|
16
|
+
template <typename T> T Diff (T x) const { return cos(x); }
|
|
17
|
+
static string Name() { return "sin"; }
|
|
18
|
+
void DoArchive(Archive& ar) {}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
struct GenericCos {
|
|
22
|
+
template <typename T> T operator() (T x) const { return cos(x); }
|
|
23
|
+
template <typename T> T Diff (T x) const { return -sin(x); }
|
|
24
|
+
static string Name() { return "cos"; }
|
|
25
|
+
void DoArchive(Archive& ar) {}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
struct GenericTan {
|
|
29
|
+
template <typename T> T operator() (T x) const { return tan(x); }
|
|
30
|
+
static string Name() { return "tan"; }
|
|
31
|
+
void DoArchive(Archive& ar) {}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
struct GenericATan {
|
|
35
|
+
template <typename T> T operator() (T x) const { return atan(x); }
|
|
36
|
+
static string Name() { return "atan"; }
|
|
37
|
+
void DoArchive(Archive& ar) {}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
struct GenericACos {
|
|
41
|
+
template <typename T> T operator() (T x) const { return acos(x); }
|
|
42
|
+
static string Name() { return "acos"; }
|
|
43
|
+
void DoArchive(Archive& ar) {}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
struct GenericASin {
|
|
47
|
+
template <typename T> T operator() (T x) const { return asin(x); }
|
|
48
|
+
static string Name() { return "asin"; }
|
|
49
|
+
void DoArchive(Archive& ar) {}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
struct GenericSinh {
|
|
56
|
+
template <typename T> T operator() (T x) const { return sinh(x); }
|
|
57
|
+
template <typename T> T Diff (T x) const { return cosh(x); }
|
|
58
|
+
static string Name() { return "sinh"; }
|
|
59
|
+
void DoArchive(Archive& ar) {}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
struct GenericCosh {
|
|
63
|
+
template <typename T> T operator() (T x) const { return cosh(x); }
|
|
64
|
+
template <typename T> T Diff (T x) const { return sinh(x); }
|
|
65
|
+
static string Name() { return "cosh"; }
|
|
66
|
+
void DoArchive(Archive& ar) {}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
struct GenericExp {
|
|
72
|
+
template <typename T> T operator() (T x) const { return exp(x); }
|
|
73
|
+
template <typename T> T Diff (T x) const { return exp(x); }
|
|
74
|
+
static string Name() { return "exp"; }
|
|
75
|
+
void DoArchive(Archive& ar) {}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
struct GenericLog {
|
|
79
|
+
template <typename T> T operator() (T x) const { return log(x); }
|
|
80
|
+
static string Name() { return "log"; }
|
|
81
|
+
auto Diff (shared_ptr<CoefficientFunction> x) const {
|
|
82
|
+
return OneVectorCF(x->Dimensions()) / x;
|
|
83
|
+
}
|
|
84
|
+
void DoArchive(Archive& ar) {}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
struct GenericErf {
|
|
89
|
+
template <typename T> T operator() (T x) const { return erf(x); }
|
|
90
|
+
Complex operator() (Complex x) const { throw Exception("no erf for Complex"); }
|
|
91
|
+
SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no erf for simd(complex)"); }
|
|
92
|
+
static string Name() { return "erf"; }
|
|
93
|
+
void DoArchive(Archive& ar) {}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
struct GenericFloor {
|
|
99
|
+
template <typename T> T operator() (T x) const { return floor(x); }
|
|
100
|
+
Complex operator() (Complex x) const { throw Exception("no floor for Complex"); }
|
|
101
|
+
// SIMD<double> operator() (SIMD<double> x) const { throw ExceptionNOSIMD("no floor for simd"); }
|
|
102
|
+
SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no floor for simd"); }
|
|
103
|
+
// AutoDiff<1> operator() (AutoDiff<1> x) const { throw Exception("no floor for AD"); }
|
|
104
|
+
AutoDiffDiff<1> operator() (AutoDiffDiff<1> x) const { throw Exception("no floor for ADD"); }
|
|
105
|
+
template <typename T> T Diff (T x) const { throw Exception("Generic Floor not differentiable"); }
|
|
106
|
+
static string Name() { return "floor"; }
|
|
107
|
+
void DoArchive(Archive& ar) {}
|
|
108
|
+
};
|
|
109
|
+
struct GenericCeil {
|
|
110
|
+
template <typename T> T operator() (T x) const { return ceil(x); }
|
|
111
|
+
Complex operator() (Complex x) const { throw Exception("no ceil for Complex"); }
|
|
112
|
+
// SIMD<double> operator() (SIMD<double> x) const { throw ExceptionNOSIMD("no ceil for simd"); }
|
|
113
|
+
SIMD<Complex> operator() (SIMD<Complex> x) const { throw ExceptionNOSIMD("no ceil for simd"); }
|
|
114
|
+
// AutoDiff<1> operator() (AutoDiff<1> x) const { throw Exception("no ceil for AD"); }
|
|
115
|
+
AutoDiffDiff<1> operator() (AutoDiffDiff<1> x) const { throw Exception("no ceil for ADD"); }
|
|
116
|
+
template <typename T> T Diff (T x) const { throw Exception("Generic Ceil not differentiable"); }
|
|
117
|
+
static string Name() { return "ceil"; }
|
|
118
|
+
void DoArchive(Archive& ar) {}
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
using std::sqrt;
|
|
124
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> sqrt(shared_ptr<CoefficientFunction> x);
|
|
125
|
+
|
|
126
|
+
using std::sin;
|
|
127
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> sin(shared_ptr<CoefficientFunction> x);
|
|
128
|
+
|
|
129
|
+
using std::cos;
|
|
130
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> cos(shared_ptr<CoefficientFunction> x);
|
|
131
|
+
|
|
132
|
+
using std::tan;
|
|
133
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> tan(shared_ptr<CoefficientFunction> x);
|
|
134
|
+
|
|
135
|
+
using std::asin;
|
|
136
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> asin(shared_ptr<CoefficientFunction> x);
|
|
137
|
+
|
|
138
|
+
using std::acos;
|
|
139
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> acos(shared_ptr<CoefficientFunction> x);
|
|
140
|
+
|
|
141
|
+
using std::atan;
|
|
142
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> atan(shared_ptr<CoefficientFunction> x);
|
|
143
|
+
|
|
144
|
+
using std::sinh;
|
|
145
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> sinh(shared_ptr<CoefficientFunction> x);
|
|
146
|
+
|
|
147
|
+
using std::cosh;
|
|
148
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> cosh(shared_ptr<CoefficientFunction> x);
|
|
149
|
+
|
|
150
|
+
using std::exp;
|
|
151
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> exp(shared_ptr<CoefficientFunction> x);
|
|
152
|
+
|
|
153
|
+
using std::log;
|
|
154
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> log(shared_ptr<CoefficientFunction> x);
|
|
155
|
+
|
|
156
|
+
using std::erf;
|
|
157
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> erf(shared_ptr<CoefficientFunction> x);
|
|
158
|
+
|
|
159
|
+
using std::floor;
|
|
160
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> floor(shared_ptr<CoefficientFunction> x);
|
|
161
|
+
|
|
162
|
+
using std::ceil;
|
|
163
|
+
NGS_DLL_HEADER shared_ptr<CoefficientFunction> ceil(shared_ptr<CoefficientFunction> x);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
#endif
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
#ifndef FILE_COMMUTING_AMG
|
|
2
|
+
#define FILE_COMMUTING_AMG
|
|
3
|
+
|
|
4
|
+
/* *************************************************************************/
|
|
5
|
+
/* File: commuting_amg.hoo */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 15. Aug. 2002 */
|
|
8
|
+
/* *************************************************************************/
|
|
9
|
+
|
|
10
|
+
namespace ngla
|
|
11
|
+
{
|
|
12
|
+
|
|
13
|
+
class CommutingAMG : public BaseMatrix
|
|
14
|
+
{
|
|
15
|
+
protected:
|
|
16
|
+
const BaseSparseMatrix * pmat;
|
|
17
|
+
CommutingAMG * recAMG;
|
|
18
|
+
|
|
19
|
+
SparseMatrixTM<double> * prol;
|
|
20
|
+
|
|
21
|
+
shared_ptr<BaseSparseMatrix> coarsemat;
|
|
22
|
+
shared_ptr<BaseJacobiPrecond> jacobi;
|
|
23
|
+
shared_ptr<BaseBlockJacobiPrecond> bjacobi;
|
|
24
|
+
shared_ptr<BaseMatrix> inv;
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
CommutingAMG ()
|
|
28
|
+
{ ; }
|
|
29
|
+
virtual ~CommutingAMG ()
|
|
30
|
+
{ ; }
|
|
31
|
+
|
|
32
|
+
virtual bool IsComplex() const override { return false; }
|
|
33
|
+
|
|
34
|
+
virtual void ComputeMatrices (const BaseSparseMatrix & mat) = 0;
|
|
35
|
+
virtual void Mult (const BaseVector & x, BaseVector & y) const override = 0;
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
virtual int VHeight() const override { return pmat->Height(); }
|
|
39
|
+
virtual int VWidth() const override { return pmat->Width(); }
|
|
40
|
+
|
|
41
|
+
virtual size_t NZE() const override = 0;
|
|
42
|
+
virtual AutoVector CreateVector () const override
|
|
43
|
+
{
|
|
44
|
+
return pmat->CreateColVector();
|
|
45
|
+
}
|
|
46
|
+
virtual AutoVector CreateColVector () const override
|
|
47
|
+
{
|
|
48
|
+
return pmat->CreateRowVector();
|
|
49
|
+
}
|
|
50
|
+
virtual AutoVector CreateRowVector () const override
|
|
51
|
+
{
|
|
52
|
+
return pmat->CreateColVector();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class AMG_H1 : public CommutingAMG
|
|
58
|
+
{
|
|
59
|
+
public:
|
|
60
|
+
|
|
61
|
+
AMG_H1 (const BaseMatrix & sysmat,
|
|
62
|
+
Array<ngstd::IVec<2> > & e2v,
|
|
63
|
+
Array<double> & weighte,
|
|
64
|
+
int levels);
|
|
65
|
+
|
|
66
|
+
virtual ~AMG_H1 ();
|
|
67
|
+
|
|
68
|
+
virtual void ComputeMatrices (const BaseSparseMatrix & mat);
|
|
69
|
+
virtual size_t NZE() const;
|
|
70
|
+
|
|
71
|
+
virtual void Mult (const BaseVector & x, BaseVector & y) const;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class AMG_HCurl : public CommutingAMG
|
|
78
|
+
{
|
|
79
|
+
SparseMatrixTM<double> * grad;
|
|
80
|
+
|
|
81
|
+
shared_ptr<BaseSparseMatrix> h1mat;
|
|
82
|
+
AMG_H1 * h1AMG;
|
|
83
|
+
|
|
84
|
+
public:
|
|
85
|
+
|
|
86
|
+
AMG_HCurl (const BaseMatrix & sysmat,
|
|
87
|
+
const Array<Vec<3> > & vertices,
|
|
88
|
+
Array<ngstd::IVec<2> > & e2v,
|
|
89
|
+
Array<ngstd::IVec<4> > & f2v,
|
|
90
|
+
Array<double> & weighte,
|
|
91
|
+
Array<double> & weightf,
|
|
92
|
+
int levels);
|
|
93
|
+
|
|
94
|
+
virtual ~AMG_HCurl ();
|
|
95
|
+
|
|
96
|
+
virtual void ComputeMatrices (const BaseSparseMatrix & mat);
|
|
97
|
+
virtual size_t NZE() const;
|
|
98
|
+
|
|
99
|
+
virtual void Mult (const BaseVector & x, BaseVector & y) const;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
#endif
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#ifndef FILE_COMP
|
|
2
|
+
#define FILE_COMP
|
|
3
|
+
|
|
4
|
+
/*********************************************************************/
|
|
5
|
+
/* File: comp.hpp */
|
|
6
|
+
/* Author: Joachim Schoeberl */
|
|
7
|
+
/* Date: 25. Mar. 2000 */
|
|
8
|
+
/*********************************************************************/
|
|
9
|
+
|
|
10
|
+
#include <fem.hpp>
|
|
11
|
+
#include <finiteelement.hpp>
|
|
12
|
+
#include <la.hpp>
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
namespace for NGS-components.
|
|
16
|
+
It contains the access to the mesh topology MeshAccess,
|
|
17
|
+
finite element spaces derived from FESpace, and global objects such as
|
|
18
|
+
Gridfunction, LinearForm, and BilinearForm, or a Preconditioner.
|
|
19
|
+
Computational functions such as SetValues and CalcFlux.
|
|
20
|
+
*/
|
|
21
|
+
namespace ngcomp
|
|
22
|
+
{
|
|
23
|
+
using namespace std;
|
|
24
|
+
using namespace ngstd;
|
|
25
|
+
|
|
26
|
+
using ngfem::ELEMENT_TYPE;
|
|
27
|
+
|
|
28
|
+
using namespace ngla;
|
|
29
|
+
using namespace ngfem;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
namespace ngmg
|
|
34
|
+
{
|
|
35
|
+
class Prolongation;
|
|
36
|
+
class TwoLevelMatrix;
|
|
37
|
+
class MultigridPreconditioner;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
#include <parallelngs.hpp>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
// #include "pmltrafo.hpp"
|
|
45
|
+
#include "meshaccess.hpp"
|
|
46
|
+
#include "ngsobject.hpp"
|
|
47
|
+
#include "fespace.hpp"
|
|
48
|
+
|
|
49
|
+
#include "gridfunction.hpp"
|
|
50
|
+
#include "bilinearform.hpp"
|
|
51
|
+
#include "linearform.hpp"
|
|
52
|
+
#include "preconditioner.hpp"
|
|
53
|
+
|
|
54
|
+
#include "postproc.hpp"
|
|
55
|
+
#include "interpolate.hpp"
|
|
56
|
+
|
|
57
|
+
#include "tpfes.hpp"
|
|
58
|
+
#include "hcurlhdivfes.hpp"
|
|
59
|
+
#include "hdivfes.hpp"
|
|
60
|
+
#include "h1hofespace.hpp"
|
|
61
|
+
#include "l2hofespace.hpp"
|
|
62
|
+
#include "hdivhofespace.hpp"
|
|
63
|
+
#include "hdivhosurfacefespace.hpp"
|
|
64
|
+
#include "hcurlhofespace.hpp"
|
|
65
|
+
// #include "facetfespace.hpp"
|
|
66
|
+
// #include "vectorfacetfespace.hpp"
|
|
67
|
+
// #include "h1lumping.hpp"
|
|
68
|
+
#include "periodic.hpp"
|
|
69
|
+
#include "discontinuous.hpp"
|
|
70
|
+
#include "hidden.hpp"
|
|
71
|
+
#include "reorderedfespace.hpp"
|
|
72
|
+
|
|
73
|
+
#include "facetsurffespace.hpp"
|
|
74
|
+
#include "normalfacetsurfacefespace.hpp"
|
|
75
|
+
#include "fesconvert.hpp"
|
|
76
|
+
|
|
77
|
+
// #include "bddc.hpp"
|
|
78
|
+
|
|
79
|
+
#endif
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
|
|
3
|
+
You may want to include this file to keep your application compatible with
|
|
4
|
+
different versions of ngsolve.
|
|
5
|
+
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
#ifdef FILE_POSTPROC
|
|
12
|
+
|
|
13
|
+
namespace ngcomp
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
// // argument MeshAccess ma was removed since it is available in GridFunction u
|
|
17
|
+
// // change: ngsolve-5.1 - r1177, 20130404
|
|
18
|
+
// NGS_DLL_HEADER
|
|
19
|
+
// inline void SetValues (const MeshAccess & ma,
|
|
20
|
+
// const CoefficientFunction & coef,
|
|
21
|
+
// GridFunction & u,
|
|
22
|
+
// bool vb,
|
|
23
|
+
// DifferentialOperator * diffop, // NULL is FESpace evaluator
|
|
24
|
+
// LocalHeap & clh)
|
|
25
|
+
// {
|
|
26
|
+
// SetValues (coef, u, vb, diffop, clh);
|
|
27
|
+
// }
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
#define L2HighOrderFiniteElement DGFiniteElement
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#ifndef COMPLEX_WRAPPER
|
|
2
|
+
#define COMPLEX_WRAPPER
|
|
3
|
+
|
|
4
|
+
#include <complex>
|
|
5
|
+
|
|
6
|
+
#ifdef USE_MYCOMPLEX
|
|
7
|
+
#include <mycomplex.hpp>
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// #ifdef __clang__
|
|
14
|
+
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
|
15
|
+
namespace std
|
|
16
|
+
{
|
|
17
|
+
// avoid expensive call to complex mult by using the grammar school implementation
|
|
18
|
+
INLINE std::complex<double> operator* (std::complex<double> a, std::complex<double> b)
|
|
19
|
+
{
|
|
20
|
+
return std::complex<double> (a.real()*b.real()-a.imag()*b.imag(),
|
|
21
|
+
a.real()*b.imag()+a.imag()*b.real());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
namespace ngcore
|
|
29
|
+
{
|
|
30
|
+
#ifdef USE_MYCOMPLEX
|
|
31
|
+
typedef ngstd::MyComplex<double> Complex;
|
|
32
|
+
using std::fabs;
|
|
33
|
+
inline double fabs (Complex v) { return ngstd::abs (v); }
|
|
34
|
+
#else
|
|
35
|
+
typedef std::complex<double> Complex;
|
|
36
|
+
using std::fabs;
|
|
37
|
+
inline double fabs (Complex v) { return std::abs (v); }
|
|
38
|
+
#endif
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/// namespace for basic linear algebra
|
|
44
|
+
namespace ngbla
|
|
45
|
+
{
|
|
46
|
+
using ngcore::Complex;
|
|
47
|
+
|
|
48
|
+
using ngcore::AtomicAdd;
|
|
49
|
+
inline void AtomicAdd (Complex & x, Complex y)
|
|
50
|
+
{
|
|
51
|
+
auto real = y.real();
|
|
52
|
+
ngcore::AtomicAdd (reinterpret_cast<double(&)[2]>(x)[0], real);
|
|
53
|
+
auto imag = y.imag();
|
|
54
|
+
ngcore::AtomicAdd (reinterpret_cast<double(&)[2]>(x)[1], imag);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
inline bool IsComplex(double v) { return false; }
|
|
58
|
+
inline bool IsComplex(Complex v) { return true; }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
namespace ngstd
|
|
63
|
+
{
|
|
64
|
+
using ngcore::Complex;
|
|
65
|
+
INLINE Complex IfPos (Complex a, Complex b, Complex c)
|
|
66
|
+
{
|
|
67
|
+
return a.real() > 0 ? b : c;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
#endif
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
/*********************************************************************/
|
|
3
|
+
/* File: wrapperfespace.hpp */
|
|
4
|
+
/* Author: Christoph Lehrenfeld */
|
|
5
|
+
/* Date: 12. July 2018 */
|
|
6
|
+
/*********************************************************************/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include "fespace.hpp"
|
|
10
|
+
|
|
11
|
+
namespace ngcomp
|
|
12
|
+
{
|
|
13
|
+
|
|
14
|
+
class NGS_DLL_HEADER CompressedFESpace : public FESpace
|
|
15
|
+
{
|
|
16
|
+
protected:
|
|
17
|
+
shared_ptr<FESpace> space;
|
|
18
|
+
Array<DofId> comp2all;
|
|
19
|
+
Array<DofId> all2comp;
|
|
20
|
+
shared_ptr<BitArray> active_dofs = nullptr;
|
|
21
|
+
|
|
22
|
+
//TODO: flag to hide HIDDEN_DOFs
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
CompressedFESpace (shared_ptr<FESpace> bfes);
|
|
26
|
+
virtual ~CompressedFESpace () {};
|
|
27
|
+
void Update() override;
|
|
28
|
+
shared_ptr<FESpace> GetBaseSpace() const { return space; }
|
|
29
|
+
|
|
30
|
+
void WrapDofs(Array<DofId> & dnums) const
|
|
31
|
+
{
|
|
32
|
+
/*
|
|
33
|
+
// (JS): this is buggy: dnums[i] may be -1
|
|
34
|
+
for (int i : Range(dnums.Size()))
|
|
35
|
+
if (all2comp[dnums[i]] != -1)
|
|
36
|
+
dnums[i] = all2comp[dnums[i]];
|
|
37
|
+
else
|
|
38
|
+
dnums[i] = -1;
|
|
39
|
+
*/
|
|
40
|
+
for (DofId & d : dnums)
|
|
41
|
+
if (IsRegularDof (d))
|
|
42
|
+
d = all2comp[d];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
virtual FiniteElement & GetFE (ElementId ei, Allocator & lh) const override;
|
|
46
|
+
|
|
47
|
+
FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
|
|
48
|
+
|
|
49
|
+
virtual void GetDofNrs (ElementId ei, Array<DofId> & dnums) const override;
|
|
50
|
+
virtual void GetDofNrs (NodeId ni, Array<DofId> & dnums) const override;
|
|
51
|
+
|
|
52
|
+
virtual SymbolTable<shared_ptr<DifferentialOperator>> GetAdditionalEvaluators () const override
|
|
53
|
+
{ return space->GetAdditionalEvaluators (); }
|
|
54
|
+
|
|
55
|
+
/// get dof-nrs of the element of certain coupling type
|
|
56
|
+
virtual void GetElementDofsOfType (ElementId ei, Array<DofId> & dnums, COUPLING_TYPE ctype) const override;
|
|
57
|
+
|
|
58
|
+
virtual void SetActiveDofs(shared_ptr<BitArray> actdof)
|
|
59
|
+
{
|
|
60
|
+
active_dofs = actdof;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
shared_ptr<BitArray> GetActiveDofs() const { return active_dofs; }
|
|
64
|
+
|
|
65
|
+
// a name for our new fe-space
|
|
66
|
+
virtual string GetClassName () const override
|
|
67
|
+
{
|
|
68
|
+
return "CompressedFESpace(" + space->GetClassName() + ")";
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// update element coloring
|
|
72
|
+
void FinalizeUpdate() override
|
|
73
|
+
{
|
|
74
|
+
space->FinalizeUpdate();
|
|
75
|
+
FESpace::FinalizeUpdate();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
ProxyNode MakeProxyFunction (bool testfunction,
|
|
79
|
+
const function<shared_ptr<ProxyFunction>(shared_ptr<ProxyFunction>)> & addblock) const override;
|
|
80
|
+
|
|
81
|
+
virtual bool DefinedOn (ElementId id) const
|
|
82
|
+
{
|
|
83
|
+
return space->DefinedOn(id);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
virtual void GetVertexDofNrs (int vnr, Array<DofId> & dnums) const override;
|
|
87
|
+
/// get dofs on edge enr
|
|
88
|
+
virtual void GetEdgeDofNrs (int ednr, Array<DofId> & dnums) const override;
|
|
89
|
+
/// get dofs on face fnr
|
|
90
|
+
virtual void GetFaceDofNrs (int fanr, Array<DofId> & dnums) const override;
|
|
91
|
+
/// get dofs on element (=cell) elnr
|
|
92
|
+
virtual void GetInnerDofNrs (int elnr, Array<DofId> & dnums) const override;
|
|
93
|
+
|
|
94
|
+
virtual void VTransformMR (ElementId ei,
|
|
95
|
+
SliceMatrix<double> mat, TRANSFORM_TYPE tt) const override
|
|
96
|
+
{ space-> VTransformMR(ei, mat, tt); }
|
|
97
|
+
virtual void VTransformMC (ElementId ei,
|
|
98
|
+
SliceMatrix<Complex> mat, TRANSFORM_TYPE tt) const override
|
|
99
|
+
{ space->VTransformMC (ei, mat, tt); }
|
|
100
|
+
virtual void VTransformVR (ElementId ei,
|
|
101
|
+
SliceVector<double> vec, TRANSFORM_TYPE tt) const override
|
|
102
|
+
{ space->VTransformVR(ei, vec, tt); }
|
|
103
|
+
virtual void VTransformVC (ElementId ei,
|
|
104
|
+
SliceVector<Complex> vec, TRANSFORM_TYPE tt) const override
|
|
105
|
+
{ space->VTransformVC(ei, vec, tt); }
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
}
|