ngsolve 6.2.2506.post45.dev0__cp311-cp311-manylinux_2_28_x86_64.whl → 6.2.2506.post73.dev0__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.

Files changed (327) hide show
  1. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/bin/ngs_nvcc +1 -1
  2. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/bin/ngscxx +2 -2
  3. ngsolve-6.2.2506.post73.dev0.data/data/bin/ngspy +2 -0
  4. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bdbequations.hpp +33 -0
  5. ngsolve-6.2.2506.post73.dev0.data/data/include/netgen/diffopwithfactor.hpp +123 -0
  6. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/kernels.hpp +98 -110
  7. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/mp_coefficient.hpp +2 -2
  8. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/mptools.hpp +45 -26
  9. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/preconditioner.hpp +2 -2
  10. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/cmake/ngsolve/NGSolveConfig.cmake +5 -5
  11. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
  12. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so +0 -0
  13. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  14. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
  15. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngstd.so +0 -0
  16. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/__init__.pyi +236 -0
  17. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/bla.pyi +1039 -0
  18. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/bvp.pyi +32 -0
  19. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/comp/__init__.pyi +5435 -0
  20. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/comp/pml.pyi +89 -0
  21. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/config/__init__.pyi +43 -0
  22. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/config.py +5 -5
  23. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/config/config.pyi +45 -0
  24. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/directsolvers.pyi +15 -0
  25. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/eigenvalues.pyi +30 -0
  26. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/fem.pyi +1641 -0
  27. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/krylovspace.pyi +301 -0
  28. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/la.pyi +1210 -0
  29. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/ngstd.pyi +58 -0
  30. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.pyi +97 -0
  31. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/preconditioners.pyi +7 -0
  32. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/solve.pyi +108 -0
  33. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/solve_implementation.py +10 -1
  34. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/solve_implementation.pyi +42 -0
  35. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/solvers.pyi +14 -0
  36. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/timestepping.pyi +27 -0
  37. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/timing.pyi +54 -0
  38. ngsolve-6.2.2506.post73.dev0.data/data/lib/python3.11/site-packages/ngsolve/utils.pyi +273 -0
  39. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post73.dev0.dist-info}/METADATA +2 -2
  40. ngsolve-6.2.2506.post73.dev0.dist-info/RECORD +324 -0
  41. ngsolve-6.2.2506.post45.dev0.data/data/bin/ngspy +0 -2
  42. ngsolve-6.2.2506.post45.dev0.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  43. ngsolve-6.2.2506.post45.dev0.dist-info/RECORD +0 -302
  44. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/bin/ngs_nvlink +0 -0
  45. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/bin/ngsld +0 -0
  46. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/bin/ngsolve.tcl +0 -0
  47. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/analytic_integrals.hpp +0 -0
  48. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/arnoldi.hpp +0 -0
  49. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bandmatrix.hpp +0 -0
  50. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/basematrix.hpp +0 -0
  51. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/basevector.hpp +0 -0
  52. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bdbintegrator.hpp +0 -0
  53. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bem_diffops.hpp +0 -0
  54. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bessel.hpp +0 -0
  55. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bilinearform.hpp +0 -0
  56. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bla.hpp +0 -0
  57. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/blockalloc.hpp +0 -0
  58. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/blockjacobi.hpp +0 -0
  59. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/bspline.hpp +0 -0
  60. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/calcinverse.hpp +0 -0
  61. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cg.hpp +0 -0
  62. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/chebyshev.hpp +0 -0
  63. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cholesky.hpp +0 -0
  64. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/clapack.h +0 -0
  65. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/code_generation.hpp +0 -0
  66. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/coefficient.hpp +0 -0
  67. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/coefficient_impl.hpp +0 -0
  68. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/coefficient_stdmath.hpp +0 -0
  69. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/commutingAMG.hpp +0 -0
  70. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/comp.hpp +0 -0
  71. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/compatibility.hpp +0 -0
  72. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/complex_wrapper.hpp +0 -0
  73. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/compressedfespace.hpp +0 -0
  74. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/contact.hpp +0 -0
  75. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cuda_linalg.hpp +0 -0
  76. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cuda_ngbla.hpp +0 -0
  77. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cuda_ngstd.hpp +0 -0
  78. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/cuda_profiler.hpp +0 -0
  79. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/diagonalmatrix.hpp +0 -0
  80. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/differentialoperator.hpp +0 -0
  81. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/diffop.hpp +0 -0
  82. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/diffop_impl.hpp +0 -0
  83. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/discontinuous.hpp +0 -0
  84. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/dump.hpp +0 -0
  85. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ectypes.hpp +0 -0
  86. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/eigen.hpp +0 -0
  87. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/eigensystem.hpp +0 -0
  88. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/elasticity_equations.hpp +0 -0
  89. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/elementbyelement.hpp +0 -0
  90. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/elementtopology.hpp +0 -0
  91. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/elementtransformation.hpp +0 -0
  92. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/evalfunc.hpp +0 -0
  93. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/expr.hpp +0 -0
  94. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/facetfe.hpp +0 -0
  95. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/facetfespace.hpp +0 -0
  96. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/facethofe.hpp +0 -0
  97. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/facetsurffespace.hpp +0 -0
  98. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/fe_interfaces.hpp +0 -0
  99. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/fem.hpp +0 -0
  100. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/fesconvert.hpp +0 -0
  101. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/fespace.hpp +0 -0
  102. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/finiteelement.hpp +0 -0
  103. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/globalinterfacespace.hpp +0 -0
  104. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/globalspace.hpp +0 -0
  105. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/gridfunction.hpp +0 -0
  106. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1amg.hpp +0 -0
  107. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1hofe.hpp +0 -0
  108. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1hofe_impl.hpp +0 -0
  109. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1hofefo.hpp +0 -0
  110. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1hofefo_impl.hpp +0 -0
  111. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1hofespace.hpp +0 -0
  112. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1lofe.hpp +0 -0
  113. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/h1lumping.hpp +0 -0
  114. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurl_equations.hpp +0 -0
  115. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlcurlfe.hpp +0 -0
  116. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlcurlfespace.hpp +0 -0
  117. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlfe.hpp +0 -0
  118. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlfe_utils.hpp +0 -0
  119. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlhdiv_dshape.hpp +0 -0
  120. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlhdivfes.hpp +0 -0
  121. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlhofe.hpp +0 -0
  122. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlhofe_impl.hpp +0 -0
  123. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurlhofespace.hpp +0 -0
  124. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hcurllofe.hpp +0 -0
  125. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdiv_equations.hpp +0 -0
  126. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivdivfe.hpp +0 -0
  127. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivdivsurfacespace.hpp +0 -0
  128. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivfe.hpp +0 -0
  129. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivfe_utils.hpp +0 -0
  130. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivfes.hpp +0 -0
  131. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivhofe.hpp +0 -0
  132. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivhofe_impl.hpp +0 -0
  133. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivhofefo.hpp +0 -0
  134. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivhofespace.hpp +0 -0
  135. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivhosurfacefespace.hpp +0 -0
  136. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hdivlofe.hpp +0 -0
  137. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hidden.hpp +0 -0
  138. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/householder.hpp +0 -0
  139. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hypre_ams_precond.hpp +0 -0
  140. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/hypre_precond.hpp +0 -0
  141. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/integrator.hpp +0 -0
  142. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/integratorcf.hpp +0 -0
  143. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/interpolate.hpp +0 -0
  144. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/intrule.hpp +0 -0
  145. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/intrules_SauterSchwab.hpp +0 -0
  146. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/irspace.hpp +0 -0
  147. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/jacobi.hpp +0 -0
  148. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/l2hofe.hpp +0 -0
  149. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/l2hofe_impl.hpp +0 -0
  150. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/l2hofefo.hpp +0 -0
  151. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/l2hofespace.hpp +0 -0
  152. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/la.hpp +0 -0
  153. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/linalg_kernels.hpp +0 -0
  154. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/linearform.hpp +0 -0
  155. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/matrix.hpp +0 -0
  156. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/memusage.hpp +0 -0
  157. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/meshaccess.hpp +0 -0
  158. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/mgpre.hpp +0 -0
  159. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/multigrid.hpp +0 -0
  160. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/multivector.hpp +0 -0
  161. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/mumpsinverse.hpp +0 -0
  162. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/mycomplex.hpp +0 -0
  163. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ng_lapack.hpp +0 -0
  164. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngblas.hpp +0 -0
  165. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngs_defines.hpp +0 -0
  166. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngs_stdcpp_include.hpp +0 -0
  167. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngs_utils.hpp +0 -0
  168. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngsobject.hpp +0 -0
  169. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngsstream.hpp +0 -0
  170. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/ngstd.hpp +0 -0
  171. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/nodalhofe.hpp +0 -0
  172. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/nodalhofe_impl.hpp +0 -0
  173. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/normalfacetfe.hpp +0 -0
  174. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/normalfacetfespace.hpp +0 -0
  175. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/normalfacetsurfacefespace.hpp +0 -0
  176. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/order.hpp +0 -0
  177. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/parallel_matrices.hpp +0 -0
  178. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/paralleldofs.hpp +0 -0
  179. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/parallelngs.hpp +0 -0
  180. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/parallelvector.hpp +0 -0
  181. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/pardisoinverse.hpp +0 -0
  182. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/periodic.hpp +0 -0
  183. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/plateaufespace.hpp +0 -0
  184. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/pml.hpp +0 -0
  185. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/pmltrafo.hpp +0 -0
  186. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/postproc.hpp +0 -0
  187. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/potentialtools.hpp +0 -0
  188. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/precomp.hpp +0 -0
  189. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/prolongation.hpp +0 -0
  190. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/python_comp.hpp +0 -0
  191. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/python_fem.hpp +0 -0
  192. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/python_linalg.hpp +0 -0
  193. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/python_ngstd.hpp +0 -0
  194. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/recursive_pol.hpp +0 -0
  195. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/recursive_pol_tet.hpp +0 -0
  196. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/recursive_pol_trig.hpp +0 -0
  197. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/reorderedfespace.hpp +0 -0
  198. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/sample_sort.hpp +0 -0
  199. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/scalarfe.hpp +0 -0
  200. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/shapefunction_utils.hpp +0 -0
  201. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/simd_complex.hpp +0 -0
  202. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/smoother.hpp +0 -0
  203. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/solve.hpp +0 -0
  204. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/sparsecholesky.hpp +0 -0
  205. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/sparsematrix.hpp +0 -0
  206. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/sparsematrix_dyn.hpp +0 -0
  207. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/sparsematrix_impl.hpp +0 -0
  208. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/special_matrix.hpp +0 -0
  209. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/specialelement.hpp +0 -0
  210. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/statushandler.hpp +0 -0
  211. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/stringops.hpp +0 -0
  212. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/superluinverse.hpp +0 -0
  213. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/symbolicintegrator.hpp +0 -0
  214. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/symmetricmatrix.hpp +0 -0
  215. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tangentialfacetfe.hpp +0 -0
  216. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tangentialfacetfespace.hpp +0 -0
  217. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tensor.hpp +0 -0
  218. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tensorcoefficient.hpp +0 -0
  219. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tensorproductintegrator.hpp +0 -0
  220. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/thcurlfe.hpp +0 -0
  221. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/thcurlfe_impl.hpp +0 -0
  222. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/thdivfe.hpp +0 -0
  223. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/thdivfe_impl.hpp +0 -0
  224. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tpdiffop.hpp +0 -0
  225. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tpfes.hpp +0 -0
  226. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tpintrule.hpp +0 -0
  227. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/triangular.hpp +0 -0
  228. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tscalarfe.hpp +0 -0
  229. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/tscalarfe_impl.hpp +0 -0
  230. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/umfpackinverse.hpp +0 -0
  231. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/unifiedvector.hpp +0 -0
  232. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/vector.hpp +0 -0
  233. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/voxelcoefficientfunction.hpp +0 -0
  234. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/vtkoutput.hpp +0 -0
  235. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/vvector.hpp +0 -0
  236. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/include/netgen/webgui.hpp +0 -0
  237. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +0 -0
  238. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/cmake/ngsolve/ngsolve-targets.cmake +0 -0
  239. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
  240. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngla.so +0 -0
  241. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
  242. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/TensorProductTools.py +0 -0
  243. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__console.py +0 -0
  244. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__expr.py +0 -0
  245. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__init__.py +0 -0
  246. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/_scikit_build_core_dependencies.py +0 -0
  247. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/bvp.py +0 -0
  248. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/__init__.py +0 -0
  249. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/__main__.py +0 -0
  250. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
  251. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +0 -0
  252. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +0 -0
  253. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +0 -0
  254. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +0 -0
  255. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/__init__.py +0 -0
  256. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/__init__.py +0 -0
  257. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hhj.py +0 -0
  258. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hybrid_dg.py +0 -0
  259. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/mixed.py +0 -0
  260. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/nonlin.py +0 -0
  261. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pickling.py +0 -0
  262. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pml.py +0 -0
  263. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/taskmanager.py +0 -0
  264. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/tdnns.py +0 -0
  265. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +0 -0
  266. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG.py +0 -0
  267. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGlap.py +0 -0
  268. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGwave.py +0 -0
  269. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/__init__.py +0 -0
  270. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/adaptive.py +0 -0
  271. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/cmagnet.py +0 -0
  272. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/elasticity.py +0 -0
  273. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/navierstokes.py +0 -0
  274. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.ipynb +0 -0
  275. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.py +0 -0
  276. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
  277. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +0 -0
  278. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +0 -0
  279. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_poisson.py +0 -0
  280. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +0 -0
  281. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/directsolvers.py +0 -0
  282. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/eigenvalues.py +0 -0
  283. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/internal.py +0 -0
  284. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/krylovspace.py +0 -0
  285. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/meshes.py +0 -0
  286. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngs2petsc.py +0 -0
  287. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngscuda.so +0 -0
  288. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngscxx.py +0 -0
  289. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
  290. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.py +0 -0
  291. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/preconditioners.py +0 -0
  292. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/solvers.py +0 -0
  293. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/timestepping.py +0 -0
  294. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/timing.py +0 -0
  295. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/utils.py +0 -0
  296. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/lib/python3.11/site-packages/ngsolve/webgui.py +0 -0
  297. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  298. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  299. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  300. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  301. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  302. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  303. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  304. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  305. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  306. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  307. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  308. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  309. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  310. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  311. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  312. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  313. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  314. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  315. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  316. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  317. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  318. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  319. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  320. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  321. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  322. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  323. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  324. {ngsolve-6.2.2506.post45.dev0.data → ngsolve-6.2.2506.post73.dev0.data}/data/share/ngsolve/square.vol +0 -0
  325. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post73.dev0.dist-info}/LICENSE +0 -0
  326. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post73.dev0.dist-info}/WHEEL +0 -0
  327. {ngsolve-6.2.2506.post45.dev0.dist-info → ngsolve-6.2.2506.post73.dev0.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.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
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.11/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.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 $*
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.11/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.11/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
15
15
  fi
@@ -0,0 +1,2 @@
1
+ #! /usr/bin/bash
2
+ LD_PRELOAD=$LD_PRELOAD: /opt/_internal/cpython-3.11.11/bin/python $*
@@ -2344,6 +2344,39 @@ namespace ngfem
2344
2344
  mat.Rows(DIM_SPC*i, DIM_SPC*(i+1)).Cols(fel.GetRange(i)) = Trans(hmat);
2345
2345
  }
2346
2346
 
2347
+ static int DimRef() { return DIM_SPC*DIM_ELEMENT; }
2348
+
2349
+ template <typename IP, typename MAT>
2350
+ static void GenerateMatrixRef (const FiniteElement & bfel, const IP & ip,
2351
+ MAT && mat, LocalHeap & lh)
2352
+ {
2353
+ HeapReset hr(lh);
2354
+ auto & fel = static_cast<const VectorFiniteElement&> (bfel);
2355
+ auto & feli = static_cast<const ScalarFiniteElement<DIM_ELEMENT>&> (fel[0]);
2356
+ FlatMatrix<> hmat(feli.GetNDof(), DIM_ELEMENT, lh);
2357
+ feli.CalcDShape(ip, hmat);
2358
+ int ndof = feli.GetNDof();
2359
+ mat.Rows(DIM_SPACE*DIM_ELEMENT).Cols(DIM_SPC*ndof) = 0.0;
2360
+ for (int i = 0; i < DIM_SPACE; i++)
2361
+ mat.Rows(i*DIM_ELEMENT, (i+1)*DIM_ELEMENT).Cols(i*ndof,(i+1)*ndof)
2362
+ = Trans(hmat);
2363
+ }
2364
+
2365
+ template <typename MIP, typename MAT>
2366
+ static void CalcTransformationMatrix (const MIP & mip,
2367
+ MAT & mat, LocalHeap & lh)
2368
+ {
2369
+ FlatMatrix<> hmat(DIM_SPC, DIM_ELEMENT, lh);
2370
+ hmat = Trans(static_cast<const MappedIntegrationPoint<DIM_ELEMENT,DIM_SPC>&>(mip).GetJacobianInverse());
2371
+ mat.Rows(DIM_DMAT).Cols(DIM_ELEMENT*DIM_SPC) = 0.0;
2372
+ for (int i = 0; i < DIM_SPACE; i++)
2373
+ mat.Rows(i*DIM_SPC, (i+1)*DIM_SPC).Cols(i*DIM_ELEMENT, (i+1)*DIM_ELEMENT) = hmat;
2374
+ }
2375
+
2376
+
2377
+
2378
+
2379
+
2347
2380
 
2348
2381
  static void GenerateMatrixSIMDIR (const FiniteElement & bfel,
2349
2382
  const SIMD_BaseMappedIntegrationRule & mir,
@@ -0,0 +1,123 @@
1
+ #ifndef DIFFOPWITHFACTOR_HPP
2
+ #define DIFFOPWITHFACTOR_HPP
3
+
4
+
5
+
6
+ namespace ngsbem
7
+ {
8
+ using namespace ngfem;
9
+
10
+ class DifferentialOperatorWithFactor : public DifferentialOperator
11
+ {
12
+ shared_ptr<DifferentialOperator> diffop;
13
+ shared_ptr<CoefficientFunction> factor;
14
+
15
+ public:
16
+ DifferentialOperatorWithFactor (shared_ptr<DifferentialOperator> adiffop,
17
+ shared_ptr<CoefficientFunction> afactor)
18
+ : DifferentialOperator(afactor->Dimensions()[0], 1, adiffop->VB(), adiffop->DiffOrder()),
19
+ diffop(adiffop), factor(afactor)
20
+ {
21
+ ;
22
+ }
23
+
24
+ int DimRef() const override { return diffop->DimRef(); }
25
+
26
+ virtual IntRange UsedDofs(const FiniteElement & fel) const override { return diffop->UsedDofs(fel); }
27
+
28
+ auto BaseDiffOp() const { return diffop; }
29
+
30
+ void CalcMatrix (const FiniteElement & fel,
31
+ const BaseMappedIntegrationPoint & mip,
32
+ BareSliceMatrix<double,ColMajor> mat,
33
+ LocalHeap & lh) const override
34
+ {
35
+ FlatMatrix<double,ColMajor> hmat(diffop->Dim(), fel.GetNDof(), lh);
36
+ diffop -> CalcMatrix (fel, mip, hmat, lh);
37
+
38
+ auto dims = factor->Dimensions();
39
+ FlatMatrix<double> factorx(dims[0], dims[1], lh);
40
+ factor->Evaluate (mip, factorx.AsVector());
41
+
42
+ IntRange used = diffop->UsedDofs(fel);
43
+ mat.Cols(used) = factorx * hmat.Cols(used);
44
+ }
45
+
46
+ void CalcMatrix (const FiniteElement & fel,
47
+ const SIMD_BaseMappedIntegrationRule & mir,
48
+ BareSliceMatrix<SIMD<double>> mat) const override
49
+ {
50
+ // *testout << "CalcMatrix SIMD" << endl;
51
+ Matrix<SIMD<double>> hmat (fel.GetNDof()*diffop->Dim(), mir.Size());
52
+ // hmat = SIMD<double>(0.0);
53
+ diffop -> CalcMatrix (fel, mir, hmat);
54
+
55
+ Matrix<SIMD<double>> fac(factor->Dimension(), mir.Size());
56
+ factor -> Evaluate (mir, fac);
57
+
58
+ auto dims = factor -> Dimensions();
59
+
60
+ mat.Rows(fel.GetNDof()*dims[1]).Cols(mir.Size()) = SIMD<double>(0.0);
61
+
62
+ for (size_t i = 0; i < mir.Size(); i++)
63
+ for (size_t j = 0; j < dims[0]; j++)
64
+ for (size_t k = 0; k < dims[1]; k++)
65
+ mat.Col(i).Slice(j,dims[0]) += fac(j*dims[1]+k, i) * hmat.Col(i).Slice(k, dims[1]);
66
+ }
67
+
68
+
69
+ void CalcMatrix (const FiniteElement & fel,
70
+ const IntegrationPoint & ip,
71
+ BareSliceMatrix<double,ColMajor> mat,
72
+ LocalHeap & lh) const override
73
+ {
74
+ diffop -> CalcMatrix(fel, ip, mat, lh);
75
+ /*
76
+ *testout << "calcmatrix mip" << endl
77
+ << mat.Rows(Dim()).Cols(fel.GetNDof()) << endl;
78
+ */
79
+ }
80
+
81
+ void CalcTransformationMatrix (const BaseMappedIntegrationPoint & mip,
82
+ SliceMatrix<double> trans,
83
+ LocalHeap & lh) const override
84
+ {
85
+ HeapReset hr(lh);
86
+ auto dims = factor->Dimensions();
87
+
88
+ FlatMatrix<double> factorx(dims[0], dims[1], lh);
89
+ factor->Evaluate (mip, factorx.AsVector());
90
+
91
+ FlatMatrix<double> basetrans(diffop->Dim(), diffop->DimRef(), lh);
92
+ diffop -> CalcTransformationMatrix(mip, basetrans, lh);
93
+
94
+ trans = factorx * basetrans;
95
+ // *testout << "trans = " << trans << endl;
96
+ }
97
+
98
+
99
+ void Apply (const FiniteElement & fel,
100
+ const SIMD_BaseMappedIntegrationRule & mir,
101
+ BareSliceVector<double> x,
102
+ BareSliceMatrix<SIMD<double>> flux) const override
103
+ {
104
+ auto dims = factor->Dimensions();
105
+
106
+ Matrix<SIMD<double>> tmpflux(dims[1], mir.Size());
107
+ Matrix<SIMD<double>> factorx(dims[0]*dims[1], mir.Size());
108
+
109
+ diffop -> Apply (fel, mir, x, tmpflux);
110
+ factor -> Evaluate (mir, factorx);
111
+ flux.Rows(0, dims[0]).Cols(0, mir.Size()) = SIMD<double>(0.0);
112
+ for (int i = 0; i < dims[0]; i++)
113
+ for (int j = 0; j < dims[1]; j++)
114
+ flux.Row(i).Range(mir.Size()) += pw_mult(factorx.Row(i*dims[1]+j), tmpflux.Row(j));
115
+ }
116
+
117
+
118
+ };
119
+
120
+
121
+ }
122
+
123
+ #endif
@@ -2,6 +2,7 @@
2
2
  #define KERNELS_hpp
3
3
 
4
4
  #include "mptools.hpp"
5
+ #include <type_traits>
5
6
 
6
7
 
7
8
  // **************************** The kernels **********************************
@@ -62,18 +63,26 @@ namespace ngsbem
62
63
 
63
64
  /** LaplaceSLkernel is the kernel for the single layer potential of
64
65
  the Laplace equation $ \Delta u = 0 \,.$ */
65
- template <int DIM> class LaplaceSLKernel;
66
+ template <int DIM, int COMPS=1> class LaplaceSLKernel;
66
67
 
67
68
  /** LaplaceSLkernel in 3D reads
68
69
  $$ G(x-y) = \frac{1}{4\,\pi \, | x-y| }, \quad x, y \in \mathbb R^3, \; x\not=y\,. $$ */
69
- template<>
70
- class LaplaceSLKernel<3> : public BaseKernel
70
+ template<int COMPS>
71
+ class LaplaceSLKernel<3, COMPS> : public BaseKernel
71
72
  {
72
73
  public:
73
- LaplaceSLKernel<3> () = default;
74
+ LaplaceSLKernel<3,COMPS>()
75
+ {
76
+ for (size_t i = 0; i < COMPS; i++)
77
+ terms += {1.0, 0, i, i};
78
+ };
74
79
  typedef double value_type;
80
+ using mp_type = typename std::conditional<COMPS == 1,
81
+ Complex,
82
+ Vec<COMPS, Complex>>::type;
83
+
75
84
  static string Name() { return "LaplaceSL"; }
76
- static auto Shape() { return IVec<2>(1,1); }
85
+ static auto Shape() { return IVec<2>(COMPS,COMPS); }
77
86
 
78
87
  template <typename T>
79
88
  auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
@@ -83,45 +92,59 @@ namespace ngsbem
83
92
  return Vec<1,T> (1.0 / (4 * M_PI * norm));
84
93
  }
85
94
 
86
- Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
95
+ Array<KernelTerm> terms;
87
96
 
88
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
97
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
89
98
  {
90
- return make_shared<SingularMLExpansion<Complex>> (c, r, 1e-16);
99
+ return make_shared<SingularMLExpansion<mp_type>> (c, r, 1e-16, fmm_params);
91
100
  }
92
101
 
93
- auto CreateLocalExpansion (Vec<3> c, double r) const
102
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
94
103
  {
95
- return make_shared<RegularMLExpansion<Complex>> (c, r, 1e-16);
104
+ return make_shared<RegularMLExpansion<mp_type>> (c, r, 1e-16, fmm_params);
96
105
  }
97
106
 
98
- void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
107
+ void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
99
108
  {
100
- mp.AddCharge (pnt, val(0));
109
+ if constexpr (COMPS == 1)
110
+ mp.AddCharge (pnt, val(0));
111
+ else
112
+ mp.AddCharge (pnt, val);
101
113
  }
102
114
 
103
- void EvaluateMP (RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
115
+ void EvaluateMP (RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
104
116
  {
105
- val(0) = Real(mp.Evaluate (pnt));
117
+ if constexpr (COMPS == 1)
118
+ val(0) = Real(mp.Evaluate (pnt));
119
+ else
120
+ val = Real(mp.Evaluate (pnt));
106
121
  }
107
122
  };
108
123
 
109
124
 
110
125
  /** LaplaceDLkernel is the kernel for the double layer potential of
111
126
  the Laplace equation $ \Delta u = 0 \,.$ */
112
- template <int DIM> class LaplaceDLKernel;
127
+ template <int DIM, int COMPS=1> class LaplaceDLKernel;
113
128
 
114
129
  /** LaplaceDLkernel in 3D reads
115
130
  $$ \frac{\partial }{ \partial n_y} G(x-y) = \frac{1}{4\,\pi} \,
116
131
  \frac{ \langle n(y), x-y\rangle }{ | x-y|^3 },
117
132
  \quad x, y \in \mathbb R^3, \; x\not=y\,. $$ */
118
- template<>
119
- class LaplaceDLKernel<3> : public BaseKernel
133
+ template<int COMPS>
134
+ class LaplaceDLKernel<3, COMPS> : public BaseKernel
120
135
  {
121
136
  public:
137
+ LaplaceDLKernel<3,COMPS>()
138
+ {
139
+ for (size_t i = 0; i < COMPS; i++)
140
+ terms += {1.0, 0, i, i};
141
+ };
122
142
  typedef double value_type;
143
+ using mp_type = typename std::conditional<COMPS == 1,
144
+ Complex,
145
+ Vec<COMPS, Complex>>::type;
123
146
  static string Name() { return "LaplaceDL"; }
124
- static auto Shape() { return IVec<2>(1,1); }
147
+ static auto Shape() { return IVec<2>(COMPS,COMPS); }
125
148
 
126
149
  template <typename T>
127
150
  auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
@@ -132,83 +155,48 @@ namespace ngsbem
132
155
  return Vec<1,T> (nxy / (4 * M_PI * norm*norm*norm));
133
156
  }
134
157
 
135
- Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
136
-
137
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
138
- {
139
- return make_shared<SingularMLExpansion<Complex>> (c, r, 1e-16);
140
- }
141
-
142
- auto CreateLocalExpansion (Vec<3> c, double r) const
143
- {
144
- return make_shared<RegularMLExpansion<Complex>> (c, r, 1e-16);
145
- }
146
-
147
- void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
148
- {
149
- mp.AddDipole(pnt, -nv, val(0));
150
- }
151
-
152
- void AddSourceTrans(SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
153
- {
154
- mp.AddCharge(pnt, val(0));
155
- }
156
-
157
- void EvaluateMP (RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
158
- {
159
- val(0) = Real(mp.Evaluate (pnt));
160
- }
158
+ Array<KernelTerm> terms;
161
159
 
162
- void EvaluateMPTrans(RegularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
160
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
163
161
  {
164
- val(0) = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
162
+ return make_shared<SingularMLExpansion<mp_type>> (c, r, 1e-16, fmm_params);
165
163
  }
166
- };
167
164
 
168
-
169
- template <int DIM> class LaplaceHSKernel;
170
-
171
- template<>
172
- class LaplaceHSKernel<3> : public BaseKernel
173
- {
174
- public:
175
- typedef double value_type;
176
- static string Name() { return "LaplaceHL"; }
177
- static auto Shape() { return IVec<2>(3,3); }
178
-
179
- template <typename T>
180
- auto Evaluate (Vec<3,T> x, Vec<3,T> y, Vec<3,T> nx, Vec<3,T> ny) const
165
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
181
166
  {
182
- T norm = L2Norm(x-y);
183
- // return 1.0 / (4 * M_PI * norm);
184
- return Vec<1,T> (1.0 / (4 * M_PI * norm));
167
+ return make_shared<RegularMLExpansion<mp_type>> (c, r, 1e-16, fmm_params);
185
168
  }
186
-
187
- Array<KernelTerm> terms =
188
- {
189
- KernelTerm{1.0, 0, 0, 0},
190
- KernelTerm{1.0, 0, 1, 1},
191
- KernelTerm{1.0, 0, 2, 2},
192
- };
193
169
 
194
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
170
+ void AddSource (SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
195
171
  {
196
- return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
172
+ if constexpr (COMPS == 1)
173
+ mp.AddDipole(pnt, -nv, val(0));
174
+ else
175
+ mp.AddDipole(pnt, -nv, val);
197
176
  }
198
177
 
199
- auto CreateLocalExpansion (Vec<3> c, double r) const
178
+ void AddSourceTrans(SingularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
200
179
  {
201
- return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, 1e-16);
180
+ if constexpr (COMPS == 1)
181
+ mp.AddCharge (pnt, val(0));
182
+ else
183
+ mp.AddCharge (pnt, val);
202
184
  }
203
185
 
204
- void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
186
+ void EvaluateMP (RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
205
187
  {
206
- mp.AddCharge(pnt, val);
188
+ if constexpr (COMPS == 1)
189
+ val(0) = Real(mp.Evaluate (pnt));
190
+ else
191
+ val = Real(mp.Evaluate (pnt));
207
192
  }
208
193
 
209
- void EvaluateMP (RegularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
194
+ void EvaluateMPTrans(RegularMLExpansion<mp_type> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<double> val) const
210
195
  {
211
- val = Real(mp.Evaluate (pnt));
196
+ if constexpr (COMPS == 1)
197
+ val(0) = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
198
+ else
199
+ val = Real(mp.EvaluateDirectionalDerivative(pnt, nv));
212
200
  }
213
201
  };
214
202
 
@@ -243,14 +231,14 @@ namespace ngsbem
243
231
  double GetKappa() const { return kappa; }
244
232
  Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
245
233
 
246
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
234
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
247
235
  {
248
- return make_shared<SingularMLExpansion<Complex>> (c, r, kappa);
236
+ return make_shared<SingularMLExpansion<Complex>> (c, r, kappa, fmm_params);
249
237
  }
250
238
 
251
- auto CreateLocalExpansion (Vec<3> c, double r) const
239
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
252
240
  {
253
- return make_shared<RegularMLExpansion<Complex>> (c, r, kappa);
241
+ return make_shared<RegularMLExpansion<Complex>> (c, r, kappa, fmm_params);
254
242
  }
255
243
 
256
244
  void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -297,14 +285,14 @@ namespace ngsbem
297
285
  double GetKappa() const { return kappa; }
298
286
  Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
299
287
 
300
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
288
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
301
289
  {
302
- return make_shared<SingularMLExpansion<Complex>> (c, r, kappa);
290
+ return make_shared<SingularMLExpansion<Complex>> (c, r, kappa, fmm_params);
303
291
  }
304
292
 
305
- auto CreateLocalExpansion (Vec<3> c, double r) const
293
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
306
294
  {
307
- return make_shared<RegularMLExpansion<Complex>> (c, r, kappa);
295
+ return make_shared<RegularMLExpansion<Complex>> (c, r, kappa, fmm_params);
308
296
  }
309
297
 
310
298
  void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -357,14 +345,14 @@ namespace ngsbem
357
345
  KernelTerm{1.0, 0, 2, 2},
358
346
  };
359
347
 
360
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
348
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
361
349
  {
362
- return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, kappa);
350
+ return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
363
351
  }
364
352
 
365
- auto CreateLocalExpansion (Vec<3> c, double r) const
353
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
366
354
  {
367
- return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, kappa);
355
+ return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
368
356
  }
369
357
 
370
358
  void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -410,14 +398,14 @@ namespace ngsbem
410
398
  KernelTerm{1.0, 1, 3, 3},
411
399
  };
412
400
 
413
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
401
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
414
402
  {
415
- return make_shared<SingularMLExpansion<Vec<6,Complex>>> (c, r, kappa);
403
+ return make_shared<SingularMLExpansion<Vec<6,Complex>>> (c, r, kappa, fmm_params);
416
404
  }
417
405
 
418
- auto CreateLocalExpansion (Vec<3> c, double r) const
406
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
419
407
  {
420
- return make_shared<RegularMLExpansion<Vec<6,Complex>>> (c, r, kappa);
408
+ return make_shared<RegularMLExpansion<Vec<6,Complex>>> (c, r, kappa, fmm_params);
421
409
  }
422
410
 
423
411
  void AddSource (SingularMLExpansion<Vec<6,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -473,14 +461,14 @@ namespace ngsbem
473
461
  double GetKappa() const { return kappa; }
474
462
  Array<KernelTerm> terms = { KernelTerm{1.0, 0, 0, 0}, };
475
463
 
476
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
464
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
477
465
  {
478
- return make_shared<SingularMLExpansion<Complex>> (c, r, kappa);
466
+ return make_shared<SingularMLExpansion<Complex>> (c, r, kappa, fmm_params);
479
467
  }
480
468
 
481
- auto CreateLocalExpansion (Vec<3> c, double r) const
469
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
482
470
  {
483
- return make_shared<RegularMLExpansion<Complex>> (c, r, kappa);
471
+ return make_shared<RegularMLExpansion<Complex>> (c, r, kappa, fmm_params);
484
472
  }
485
473
 
486
474
  void AddSource (SingularMLExpansion<Complex> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -531,14 +519,14 @@ namespace ngsbem
531
519
  double GetKappa() const { return kappa; }
532
520
  Array<KernelTerm> terms;
533
521
 
534
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
522
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
535
523
  {
536
- return make_shared<SingularMLExpansion<Vec<4,Complex>>> (c, r, kappa);
524
+ return make_shared<SingularMLExpansion<Vec<4,Complex>>> (c, r, kappa, fmm_params);
537
525
  }
538
526
 
539
- auto CreateLocalExpansion (Vec<3> c, double r) const
527
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
540
528
  {
541
- return make_shared<RegularMLExpansion<Vec<4,Complex>>> (c, r, kappa);
529
+ return make_shared<RegularMLExpansion<Vec<4,Complex>>> (c, r, kappa, fmm_params);
542
530
  }
543
531
 
544
532
  void AddSource (SingularMLExpansion<Vec<4,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -598,14 +586,14 @@ namespace ngsbem
598
586
  KernelTerm{-1.0, 2, 1, 0},
599
587
  };
600
588
 
601
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
589
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
602
590
  {
603
- return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, kappa);
591
+ return make_shared<SingularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
604
592
  }
605
593
 
606
- auto CreateLocalExpansion (Vec<3> c, double r) const
594
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
607
595
  {
608
- return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, kappa);
596
+ return make_shared<RegularMLExpansion<Vec<3,Complex>>> (c, r, kappa, fmm_params);
609
597
  }
610
598
 
611
599
  void AddSource (SingularMLExpansion<Vec<3,Complex>> & mp, Vec<3> pnt, Vec<3> nv, BareSliceVector<Complex> val) const
@@ -712,14 +700,14 @@ namespace ngsbem
712
700
  }
713
701
 
714
702
 
715
- auto CreateMultipoleExpansion (Vec<3> c, double r) const
703
+ auto CreateMultipoleExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
716
704
  {
717
- return make_shared<SingularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16);
705
+ return make_shared<SingularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16, fmm_params);
718
706
  }
719
707
 
720
- auto CreateLocalExpansion (Vec<3> c, double r) const
708
+ auto CreateLocalExpansion (Vec<3> c, double r, FMM_Parameters fmm_params) const
721
709
  {
722
- return make_shared<RegularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16);
710
+ return make_shared<RegularMLExpansion<Vec<6,Complex>>> (c, r, 1e-16, fmm_params);
723
711
  }
724
712
 
725
713
 
@@ -119,9 +119,9 @@ namespace ngsbem
119
119
  shared_ptr<RegularMLExpansion<entry_type>> mlmp;
120
120
  public:
121
121
  RegularMLExpansionCF (shared_ptr<SingularMLExpansionCF<entry_type>> asingmp, Vec<3> center, double r)
122
- : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp->MLExpansion(), center, r)} { }
122
+ : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp->MLExpansion(), center, r, FMM_Parameters())} { }
123
123
  RegularMLExpansionCF (shared_ptr<SingularMLExpansion<entry_type>> asingmp, Vec<3> center, double r)
124
- : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp, center, r)} { }
124
+ : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLExpansion<entry_type>>(asingmp, center, r, FMM_Parameters())} { }
125
125
 
126
126
  virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
127
127
  { throw Exception("real eval not available"); }