ngsolve 6.2.2505.post70.dev0__cp311-cp311-manylinux_2_28_x86_64.whl → 6.2.2505.post95.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 (323) hide show
  1. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/bin/ngs_nvcc +1 -1
  2. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/bin/ngscxx +2 -2
  3. ngsolve-6.2.2505.post95.dev0.data/data/bin/ngspy +2 -0
  4. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cuda_linalg.hpp +0 -1
  5. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlcurlfe.hpp +20 -0
  6. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/mptools.hpp +234 -13
  7. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/simd_complex.hpp +20 -0
  8. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/vector.hpp +2 -1
  9. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/cmake/ngsolve/NGSolveConfig.cmake +5 -5
  10. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
  11. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so +0 -0
  12. ngsolve-6.2.2505.post95.dev0.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  13. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
  14. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngstd.so +0 -0
  15. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/config.py +5 -5
  16. {ngsolve-6.2.2505.post70.dev0.dist-info → ngsolve-6.2.2505.post95.dev0.dist-info}/METADATA +2 -2
  17. ngsolve-6.2.2505.post95.dev0.dist-info/RECORD +299 -0
  18. ngsolve-6.2.2505.post70.dev0.data/data/bin/ngspy +0 -2
  19. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  20. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/__init__.pyi +0 -236
  21. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/bla.pyi +0 -1039
  22. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/bvp.pyi +0 -32
  23. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/comp/__init__.pyi +0 -5431
  24. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/comp/pml.pyi +0 -89
  25. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/config/__init__.pyi +0 -43
  26. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/config/config.pyi +0 -45
  27. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/directsolvers.pyi +0 -15
  28. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/eigenvalues.pyi +0 -30
  29. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/fem.pyi +0 -1641
  30. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/krylovspace.pyi +0 -301
  31. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/la.pyi +0 -1210
  32. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/ngstd.pyi +0 -58
  33. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.pyi +0 -97
  34. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/preconditioners.pyi +0 -7
  35. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/solve.pyi +0 -108
  36. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/solve_implementation.pyi +0 -42
  37. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/solvers.pyi +0 -14
  38. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/timestepping.pyi +0 -27
  39. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/timing.pyi +0 -54
  40. ngsolve-6.2.2505.post70.dev0.data/data/lib/python3.11/site-packages/ngsolve/utils.pyi +0 -273
  41. ngsolve-6.2.2505.post70.dev0.dist-info/RECORD +0 -320
  42. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/bin/ngs_nvlink +0 -0
  43. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/bin/ngsld +0 -0
  44. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/bin/ngsolve.tcl +0 -0
  45. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/arnoldi.hpp +0 -0
  46. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bandmatrix.hpp +0 -0
  47. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/basematrix.hpp +0 -0
  48. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/basevector.hpp +0 -0
  49. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bdbequations.hpp +0 -0
  50. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bdbintegrator.hpp +0 -0
  51. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bessel.hpp +0 -0
  52. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bilinearform.hpp +0 -0
  53. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bla.hpp +0 -0
  54. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/blockalloc.hpp +0 -0
  55. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/blockjacobi.hpp +0 -0
  56. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/bspline.hpp +0 -0
  57. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/calcinverse.hpp +0 -0
  58. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cg.hpp +0 -0
  59. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/chebyshev.hpp +0 -0
  60. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cholesky.hpp +0 -0
  61. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/clapack.h +0 -0
  62. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/code_generation.hpp +0 -0
  63. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/coefficient.hpp +0 -0
  64. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/coefficient_impl.hpp +0 -0
  65. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/coefficient_stdmath.hpp +0 -0
  66. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/commutingAMG.hpp +0 -0
  67. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/comp.hpp +0 -0
  68. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/compatibility.hpp +0 -0
  69. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/complex_wrapper.hpp +0 -0
  70. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/compressedfespace.hpp +0 -0
  71. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/contact.hpp +0 -0
  72. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cuda_ngbla.hpp +0 -0
  73. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cuda_ngstd.hpp +0 -0
  74. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/cuda_profiler.hpp +0 -0
  75. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/diagonalmatrix.hpp +0 -0
  76. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/differentialoperator.hpp +0 -0
  77. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/diffop.hpp +0 -0
  78. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/diffop_impl.hpp +0 -0
  79. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/discontinuous.hpp +0 -0
  80. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/dump.hpp +0 -0
  81. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ectypes.hpp +0 -0
  82. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/eigen.hpp +0 -0
  83. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/eigensystem.hpp +0 -0
  84. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/elasticity_equations.hpp +0 -0
  85. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/elementbyelement.hpp +0 -0
  86. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/elementtopology.hpp +0 -0
  87. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/elementtransformation.hpp +0 -0
  88. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/evalfunc.hpp +0 -0
  89. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/expr.hpp +0 -0
  90. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/facetfe.hpp +0 -0
  91. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/facetfespace.hpp +0 -0
  92. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/facethofe.hpp +0 -0
  93. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/facetsurffespace.hpp +0 -0
  94. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/fe_interfaces.hpp +0 -0
  95. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/fem.hpp +0 -0
  96. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/fesconvert.hpp +0 -0
  97. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/fespace.hpp +0 -0
  98. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/finiteelement.hpp +0 -0
  99. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/globalinterfacespace.hpp +0 -0
  100. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/globalspace.hpp +0 -0
  101. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/gridfunction.hpp +0 -0
  102. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1amg.hpp +0 -0
  103. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1hofe.hpp +0 -0
  104. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1hofe_impl.hpp +0 -0
  105. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1hofefo.hpp +0 -0
  106. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1hofefo_impl.hpp +0 -0
  107. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1hofespace.hpp +0 -0
  108. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1lofe.hpp +0 -0
  109. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/h1lumping.hpp +0 -0
  110. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurl_equations.hpp +0 -0
  111. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlcurlfespace.hpp +0 -0
  112. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlfe.hpp +0 -0
  113. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlfe_utils.hpp +0 -0
  114. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlhdiv_dshape.hpp +0 -0
  115. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlhdivfes.hpp +0 -0
  116. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlhofe.hpp +0 -0
  117. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlhofe_impl.hpp +0 -0
  118. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurlhofespace.hpp +0 -0
  119. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hcurllofe.hpp +0 -0
  120. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdiv_equations.hpp +0 -0
  121. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivdivfe.hpp +0 -0
  122. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivdivsurfacespace.hpp +0 -0
  123. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivfe.hpp +0 -0
  124. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivfe_utils.hpp +0 -0
  125. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivfes.hpp +0 -0
  126. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivhofe.hpp +0 -0
  127. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivhofe_impl.hpp +0 -0
  128. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivhofefo.hpp +0 -0
  129. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivhofespace.hpp +0 -0
  130. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivhosurfacefespace.hpp +0 -0
  131. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hdivlofe.hpp +0 -0
  132. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hidden.hpp +0 -0
  133. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/householder.hpp +0 -0
  134. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hypre_ams_precond.hpp +0 -0
  135. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/hypre_precond.hpp +0 -0
  136. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/integrator.hpp +0 -0
  137. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/integratorcf.hpp +0 -0
  138. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/interpolate.hpp +0 -0
  139. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/intrule.hpp +0 -0
  140. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/intrules_SauterSchwab.hpp +0 -0
  141. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/irspace.hpp +0 -0
  142. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/jacobi.hpp +0 -0
  143. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/l2hofe.hpp +0 -0
  144. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/l2hofe_impl.hpp +0 -0
  145. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/l2hofefo.hpp +0 -0
  146. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/l2hofespace.hpp +0 -0
  147. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/la.hpp +0 -0
  148. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/linalg_kernels.hpp +0 -0
  149. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/linearform.hpp +0 -0
  150. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/matrix.hpp +0 -0
  151. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/memusage.hpp +0 -0
  152. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/meshaccess.hpp +0 -0
  153. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/mgpre.hpp +0 -0
  154. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/mp_coefficient.hpp +0 -0
  155. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/multigrid.hpp +0 -0
  156. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/multivector.hpp +0 -0
  157. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/mumpsinverse.hpp +0 -0
  158. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/mycomplex.hpp +0 -0
  159. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ng_lapack.hpp +0 -0
  160. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngblas.hpp +0 -0
  161. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngs_defines.hpp +0 -0
  162. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngs_stdcpp_include.hpp +0 -0
  163. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngs_utils.hpp +0 -0
  164. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngsobject.hpp +0 -0
  165. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngsstream.hpp +0 -0
  166. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/ngstd.hpp +0 -0
  167. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/nodalhofe.hpp +0 -0
  168. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/nodalhofe_impl.hpp +0 -0
  169. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/normalfacetfe.hpp +0 -0
  170. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/normalfacetfespace.hpp +0 -0
  171. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/normalfacetsurfacefespace.hpp +0 -0
  172. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/order.hpp +0 -0
  173. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/parallel_matrices.hpp +0 -0
  174. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/paralleldofs.hpp +0 -0
  175. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/parallelngs.hpp +0 -0
  176. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/parallelvector.hpp +0 -0
  177. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/pardisoinverse.hpp +0 -0
  178. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/periodic.hpp +0 -0
  179. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/plateaufespace.hpp +0 -0
  180. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/pml.hpp +0 -0
  181. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/pmltrafo.hpp +0 -0
  182. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/postproc.hpp +0 -0
  183. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/potentialtools.hpp +0 -0
  184. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/precomp.hpp +0 -0
  185. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/preconditioner.hpp +0 -0
  186. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/prolongation.hpp +0 -0
  187. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/python_comp.hpp +0 -0
  188. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/python_fem.hpp +0 -0
  189. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/python_linalg.hpp +0 -0
  190. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/python_ngstd.hpp +0 -0
  191. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/recursive_pol.hpp +0 -0
  192. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/recursive_pol_tet.hpp +0 -0
  193. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/recursive_pol_trig.hpp +0 -0
  194. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/reorderedfespace.hpp +0 -0
  195. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/sample_sort.hpp +0 -0
  196. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/scalarfe.hpp +0 -0
  197. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/shapefunction_utils.hpp +0 -0
  198. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/smoother.hpp +0 -0
  199. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/solve.hpp +0 -0
  200. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/sparsecholesky.hpp +0 -0
  201. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/sparsematrix.hpp +0 -0
  202. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/sparsematrix_dyn.hpp +0 -0
  203. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/sparsematrix_impl.hpp +0 -0
  204. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/special_matrix.hpp +0 -0
  205. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/specialelement.hpp +0 -0
  206. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/statushandler.hpp +0 -0
  207. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/stringops.hpp +0 -0
  208. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/superluinverse.hpp +0 -0
  209. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/symbolicintegrator.hpp +0 -0
  210. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/symmetricmatrix.hpp +0 -0
  211. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tangentialfacetfe.hpp +0 -0
  212. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tangentialfacetfespace.hpp +0 -0
  213. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tensor.hpp +0 -0
  214. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tensorcoefficient.hpp +0 -0
  215. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tensorproductintegrator.hpp +0 -0
  216. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/thcurlfe.hpp +0 -0
  217. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/thcurlfe_impl.hpp +0 -0
  218. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/thdivfe.hpp +0 -0
  219. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/thdivfe_impl.hpp +0 -0
  220. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tpdiffop.hpp +0 -0
  221. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tpfes.hpp +0 -0
  222. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tpintrule.hpp +0 -0
  223. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/triangular.hpp +0 -0
  224. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tscalarfe.hpp +0 -0
  225. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/tscalarfe_impl.hpp +0 -0
  226. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/umfpackinverse.hpp +0 -0
  227. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/unifiedvector.hpp +0 -0
  228. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/voxelcoefficientfunction.hpp +0 -0
  229. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/vtkoutput.hpp +0 -0
  230. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/vvector.hpp +0 -0
  231. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/include/netgen/webgui.hpp +0 -0
  232. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +0 -0
  233. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/cmake/ngsolve/ngsolve-targets.cmake +0 -0
  234. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
  235. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngla.so +0 -0
  236. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
  237. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/TensorProductTools.py +0 -0
  238. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__console.py +0 -0
  239. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__expr.py +0 -0
  240. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/__init__.py +0 -0
  241. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/_scikit_build_core_dependencies.py +0 -0
  242. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/bvp.py +0 -0
  243. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/__init__.py +0 -0
  244. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/config/__main__.py +0 -0
  245. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
  246. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +0 -0
  247. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +0 -0
  248. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +0 -0
  249. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +0 -0
  250. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/__init__.py +0 -0
  251. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/__init__.py +0 -0
  252. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hhj.py +0 -0
  253. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hybrid_dg.py +0 -0
  254. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/mixed.py +0 -0
  255. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/nonlin.py +0 -0
  256. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pickling.py +0 -0
  257. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pml.py +0 -0
  258. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/taskmanager.py +0 -0
  259. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/tdnns.py +0 -0
  260. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +0 -0
  261. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG.py +0 -0
  262. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGlap.py +0 -0
  263. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGwave.py +0 -0
  264. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/__init__.py +0 -0
  265. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/adaptive.py +0 -0
  266. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/cmagnet.py +0 -0
  267. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/elasticity.py +0 -0
  268. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/navierstokes.py +0 -0
  269. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.ipynb +0 -0
  270. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.py +0 -0
  271. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
  272. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +0 -0
  273. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +0 -0
  274. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_poisson.py +0 -0
  275. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +0 -0
  276. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/directsolvers.py +0 -0
  277. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/eigenvalues.py +0 -0
  278. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/internal.py +0 -0
  279. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/krylovspace.py +0 -0
  280. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/meshes.py +0 -0
  281. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngs2petsc.py +0 -0
  282. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngscuda.so +0 -0
  283. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngscxx.py +0 -0
  284. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
  285. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.py +0 -0
  286. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/preconditioners.py +0 -0
  287. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/solve_implementation.py +0 -0
  288. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/solvers.py +0 -0
  289. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/timestepping.py +0 -0
  290. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/timing.py +0 -0
  291. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/utils.py +0 -0
  292. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/lib/python3.11/site-packages/ngsolve/webgui.py +0 -0
  293. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/beam.geo +0 -0
  294. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/beam.vol +0 -0
  295. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/chip.in2d +0 -0
  296. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/chip.vol +0 -0
  297. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/coil.geo +0 -0
  298. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/coil.vol +0 -0
  299. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/coilshield.geo +0 -0
  300. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/coilshield.vol +0 -0
  301. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/cube.geo +0 -0
  302. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/cube.vol +0 -0
  303. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  304. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  305. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d1_square.pde +0 -0
  306. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d2_chip.pde +0 -0
  307. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  308. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d4_cube.pde +0 -0
  309. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d5_beam.pde +0 -0
  310. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  311. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d7_coil.pde +0 -0
  312. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  313. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  314. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  315. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  316. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  317. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/shaft.geo +0 -0
  318. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/shaft.vol +0 -0
  319. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/square.in2d +0 -0
  320. {ngsolve-6.2.2505.post70.dev0.data → ngsolve-6.2.2505.post95.dev0.data}/data/share/ngsolve/square.vol +0 -0
  321. {ngsolve-6.2.2505.post70.dev0.dist-info → ngsolve-6.2.2505.post95.dev0.dist-info}/LICENSE +0 -0
  322. {ngsolve-6.2.2505.post70.dev0.dist-info → ngsolve-6.2.2505.post95.dev0.dist-info}/WHEEL +0 -0
  323. {ngsolve-6.2.2505.post70.dev0.dist-info → ngsolve-6.2.2505.post95.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.11/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.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
@@ -10,6 +10,6 @@ export CCACHE_NOHASHDIR=1
10
10
 
11
11
 
12
12
  if [ -f /usr/bin/ccache ]
13
- then /usr/bin/ccache $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.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 $*
13
+ then /usr/bin/ccache $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
14
+ else $NGSCXX -O3 -DNDEBUG -DHAVE_NETGEN_SOURCES -DHAVE_DLFCN_H -DHAVE_CXA_DEMANGLE -DUSE_TIMEOFDAY -DTCL -DLAPACK -DUSE_PARDISO -DNGS_PYTHON -D_GLIBCXX_USE_CXX11_ABI=1 -DNETGEN_PYTHON -DNG_PYTHON -DPYBIND11_SIMPLE_GIL_MANAGEMENT -DPARALLEL -DNG_MPI_WRAPPER -std=c++17 -DMAX_SYS_DIM=3 -march=core-avx2 -fabi-version=17 -fPIC -I/opt/_internal/cpython-3.11.11/include -I/opt/_internal/cpython-3.11.13/include/python3.11 -I$NGSCXX_DIR/../include/netgen -I$NGSCXX_DIR/../include/netgen/include $PY_INCLUDE_FLAGS $*
15
15
  fi
@@ -0,0 +1,2 @@
1
+ #! /usr/bin/bash
2
+ LD_PRELOAD=$LD_PRELOAD: /opt/_internal/cpython-3.11.13/bin/python $*
@@ -12,7 +12,6 @@
12
12
  #include <cusparse.h>
13
13
 
14
14
  #include "cuda_ngstd.hpp"
15
- using namespace ngs_cuda;
16
15
 
17
16
  namespace ngla
18
17
  {
@@ -88,6 +88,9 @@ namespace ngfem
88
88
  BareSliceVector<> coefs) const = 0;
89
89
 
90
90
 
91
+ virtual void CalcMappedShape (const SIMD<BaseMappedIntegrationPoint> & bmip,
92
+ BareSliceMatrix<SIMD<double>> shapes) const = 0;
93
+
91
94
  virtual void CalcMappedShape (const SIMD_BaseMappedIntegrationRule & bmir,
92
95
  BareSliceMatrix<SIMD<double>> shapes) const = 0;
93
96
 
@@ -931,6 +934,23 @@ namespace ngfem
931
934
  else
932
935
  throw Exception("HCurlCurl::CalcMappedCurlShape implemented only for TRIG and TET");
933
936
  }
937
+
938
+
939
+ virtual void CalcMappedShape (const SIMD<BaseMappedIntegrationPoint> & bmip,
940
+ BareSliceMatrix<SIMD<double>> shape) const override
941
+ {
942
+ Switch<4-DIM>
943
+ (bmip.DimSpace()-DIM,[this, &bmip, shape](auto CODIM)
944
+ {
945
+ constexpr auto DIMSPACE = DIM+CODIM.value;
946
+ auto & mip = static_cast<const SIMD<MappedIntegrationPoint<DIM,DIM+CODIM.value>>&> (bmip);
947
+ this->Cast() -> T_CalcShape (GetTIP(mip),
948
+ SBLambda ([shape,DIMSPACE] (size_t j, auto val)
949
+ {
950
+ shape.Rows(j*sqr(DIMSPACE), (j+1)*sqr(DIMSPACE)).Col(0).Range(0,sqr(DIMSPACE)) = val.Value().AsVector();
951
+ }));
952
+ });
953
+ }
934
954
 
935
955
  virtual void CalcMappedShape (const SIMD_BaseMappedIntegrationRule & bmir,
936
956
  BareSliceMatrix<SIMD<double>> shapes) const override
@@ -26,6 +26,137 @@ namespace ngsbem
26
26
  template<int N>
27
27
  constexpr int VecLength<Vec<N, Complex>> = N; // Specialization: Vec<N,Complex> has length N
28
28
 
29
+
30
+
31
+ constexpr int FMM_SW = 4;
32
+
33
+
34
+ // ************************ SIMD - creation (should end up in simd.hpp) *************
35
+
36
+
37
+ template <int S, typename T, int SW>
38
+ Vec<S,T> HSum (Vec<S,SIMD<T,SW>> v)
39
+ {
40
+ Vec<S,T> res;
41
+ for (int i = 0; i < S; i++)
42
+ res(i) = HSum(v(i));
43
+ // Iterate<S> ([&](auto i) {
44
+ // res.HTData().template Elem<i.value>() = HSum(v.HTData().template Elem<i.value>());
45
+ // });
46
+ return res;
47
+ }
48
+
49
+
50
+ template <typename T, size_t S> class MakeSimdCl;
51
+
52
+ template <typename T, size_t S>
53
+ auto MakeSimd (array<T,S> aa) { return MakeSimdCl(aa).Get(); }
54
+
55
+
56
+ template <typename T, size_t S>
57
+ class MakeSimdCl
58
+ {
59
+ array<T,S> a;
60
+ public:
61
+ MakeSimdCl (array<T,S> aa) : a(aa) { ; }
62
+ auto Get() const
63
+ {
64
+ SIMD<T,S> sa( [this] (auto i) { return (this->a)[i]; });
65
+ return sa;
66
+ }
67
+ };
68
+
69
+
70
+ template <typename T, size_t S, int VS>
71
+ class MakeSimdCl<Vec<VS,T>,S>
72
+ {
73
+ array<Vec<VS,T>,S> a;
74
+ public:
75
+ MakeSimdCl (array<Vec<VS,T>,S> aa) : a(aa) { ; }
76
+
77
+ auto Get() const
78
+ {
79
+ array<T,S> ai;
80
+ Vec<VS, decltype(MakeSimd(ai))> res;
81
+ for (int i = 0; i < VS; i++)
82
+ {
83
+ for (int j = 0; j < S; j++)
84
+ ai[j] = a[j](i);
85
+ res(i) = MakeSimd(ai);
86
+ }
87
+ return res;
88
+ }
89
+ };
90
+
91
+
92
+
93
+ template <size_t S>
94
+ class MakeSimdCl<Complex,S>
95
+ {
96
+ array<Complex,S> a;
97
+ public:
98
+ MakeSimdCl (array<Complex,S> aa) : a(aa) { ; }
99
+ auto Get() const
100
+ {
101
+ array<double,S> ar, ai;
102
+ for (int j = 0; j < S; j++)
103
+ {
104
+ ar[j] = Real(a[j]);
105
+ ai[j] = Imag(a[j]);
106
+ }
107
+
108
+ return SIMD<Complex,S> (MakeSimd(ar), MakeSimd(ai));
109
+ }
110
+ };
111
+
112
+
113
+
114
+
115
+
116
+
117
+ template <typename Tfirst, size_t S, typename ...Trest>
118
+ class MakeSimdCl<std::tuple<Tfirst,Trest...>,S>
119
+ {
120
+ array<std::tuple<Tfirst,Trest...>,S> a;
121
+ public:
122
+ MakeSimdCl (array<std::tuple<Tfirst,Trest...>,S> aa) : a(aa) { ; }
123
+ auto Get() const
124
+ {
125
+ array<Tfirst,S> a0;
126
+ for (int i = 0; i < S; i++)
127
+ a0[i] = std::get<0> (a[i]);
128
+
129
+ if constexpr (std::tuple_size<tuple<Tfirst,Trest...>>::value == 1)
130
+ {
131
+ return tuple(MakeSimd(a0));
132
+ }
133
+ else
134
+ {
135
+ array<tuple<Trest...>,S> arest;
136
+ for (int i = 0; i < S; i++)
137
+ arest[i] = skip_first(a[i]);
138
+
139
+ return tuple_cat ( tuple (MakeSimd(a0)), MakeSimd(arest) );
140
+ }
141
+ }
142
+
143
+ template <typename... Ts>
144
+ static auto skip_first(const std::tuple<Ts...>& t) {
145
+ return std::apply([](auto first, auto... rest) {
146
+ return std::make_tuple(rest...);
147
+ }, t);
148
+ }
149
+ };
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
29
160
  inline std::tuple<double, double, double> SphericalCoordinates(Vec<3> dist){
30
161
  double len, theta, phi;
31
162
  len = L2Norm(dist);
@@ -488,6 +619,7 @@ namespace ngsbem
488
619
  template <typename entry_type=Complex>
489
620
  class SingularMLMultiPole
490
621
  {
622
+ using simd_entry_type = decltype(MakeSimd(declval<std::array<entry_type,FMM_SW>>()));
491
623
  static Array<size_t> nodes_on_level;
492
624
 
493
625
  struct RecordingSS
@@ -601,6 +733,11 @@ namespace ngsbem
601
733
  Array<tuple<Vec<3>, entry_type>> charges;
602
734
  Array<tuple<Vec<3>, Vec<3>, entry_type>> dipoles;
603
735
  Array<tuple<Vec<3>, Vec<3>, Complex,int>> currents;
736
+
737
+ using simd_entry_type = decltype(MakeSimd(declval<std::array<entry_type,FMM_SW>>()));
738
+ Array<tuple<Vec<3,SIMD<double,FMM_SW>>, simd_entry_type>> simd_charges;
739
+ Array<tuple<Vec<3,SIMD<double,FMM_SW>>, Vec<3,SIMD<double,FMM_SW>>, simd_entry_type>> simd_dipoles;
740
+
604
741
  int total_sources;
605
742
  std::mutex node_mutex;
606
743
  atomic<bool> have_childs{false};
@@ -792,26 +929,74 @@ namespace ngsbem
792
929
  return sum;
793
930
  }
794
931
 
795
- // static Timer t("fmm direct eval"); RegionTimer reg(t);
796
- if (mp.Kappa() < 1e-8)
932
+ {
933
+ // static Timer t("fmm direct eval"); RegionTimer reg(t);
934
+ // t.AddFlops (charges.Size());
935
+ if (simd_charges.Size())
797
936
  {
798
- for (auto [x,c] : charges)
799
- if (double rho = L2Norm(p-x); rho > 0)
800
- sum += (1/(4*M_PI))*Complex(1,rho*mp.Kappa()) / rho * c;
937
+ simd_entry_type vsum{0.0};
938
+ if (mp.Kappa() < 1e-8)
939
+ for (auto [x,c] : simd_charges)
940
+ {
941
+ auto rho = L2Norm(p-x);
942
+ auto kernel = (1/(4*M_PI))*SIMD<Complex,FMM_SW> (1,rho*mp.Kappa()) / rho;
943
+ kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
944
+ vsum += kernel * c;
945
+ }
946
+ else
947
+ for (auto [x,c] : simd_charges)
948
+ {
949
+ auto rho = L2Norm(p-x);
950
+ auto [si,co] = sincos(rho*mp.Kappa());
951
+ auto kernel = (1/(4*M_PI))*SIMD<Complex,FMM_SW>(co,si) / rho;
952
+ kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
953
+ vsum += kernel * c;
954
+ }
955
+
956
+ sum += HSum(vsum);
801
957
  }
802
958
  else
803
- for (auto [x,c] : charges)
804
- if (double rho = L2Norm(p-x); rho > 0)
805
- sum += (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) / rho * c;
806
-
807
- for (auto [x,d,c] : dipoles)
959
+ {
960
+ if (mp.Kappa() < 1e-8)
961
+ {
962
+ for (auto [x,c] : charges)
963
+ if (double rho = L2Norm(p-x); rho > 0)
964
+ sum += (1/(4*M_PI))*Complex(1,rho*mp.Kappa()) / rho * c;
965
+ }
966
+ else
967
+ for (auto [x,c] : charges)
968
+ if (double rho = L2Norm(p-x); rho > 0)
969
+ sum += (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) / rho * c;
970
+ }
971
+ }
972
+
973
+ if (simd_dipoles.Size())
974
+ {
975
+ simd_entry_type vsum{0.0};
976
+ for (auto [x,d,c] : simd_dipoles)
977
+ {
978
+ auto rho = L2Norm(p-x);
979
+ auto drhodp = (1.0/rho) * (p-x);
980
+ auto [si,co] = sincos(rho*mp.Kappa());
981
+ auto dGdrho = (1/(4*M_PI))*SIMD<Complex,FMM_SW>(co,si) *
982
+ (-1.0/(rho*rho) + SIMD<Complex,FMM_SW>(0, mp.Kappa())/rho);
983
+ auto kernel = dGdrho * InnerProduct(drhodp, d);
984
+ kernel = If(rho > 0.0, kernel, SIMD<Complex,FMM_SW>(0.0));
985
+ vsum += kernel * c;
986
+ }
987
+ sum += HSum(vsum);
988
+ }
989
+ else
990
+ {
991
+ for (auto [x,d,c] : dipoles)
808
992
  if (double rho = L2Norm(p-x); rho > 0)
809
- {
993
+ {
810
994
  Vec<3> drhodp = 1.0/rho * (p-x);
811
995
  Complex dGdrho = (1/(4*M_PI))*exp(Complex(0,rho*mp.Kappa())) *
812
- (Complex(0, mp.Kappa())/rho - 1.0/sqr(rho));
996
+ (Complex(0, mp.Kappa())/rho - 1.0/sqr(rho));
813
997
  sum += dGdrho * InnerProduct(drhodp, d) * c;
814
- }
998
+ }
999
+ }
815
1000
 
816
1001
  for (auto [sp,ep,j,num] : currents)
817
1002
  {
@@ -903,6 +1088,42 @@ namespace ngsbem
903
1088
  return;
904
1089
  }
905
1090
 
1091
+ // make simd charges, comment this block for testing ...
1092
+ simd_charges.SetSize( (charges.Size()+FMM_SW-1)/FMM_SW);
1093
+ size_t i = 0, ii = 0;
1094
+ for ( ; i+FMM_SW <= charges.Size(); i+=FMM_SW, ii++)
1095
+ {
1096
+ std::array<tuple<Vec<3>,entry_type>, FMM_SW> ca;
1097
+ for (int j = 0; j < FMM_SW; j++) ca[j] = charges[i+j];
1098
+ simd_charges[ii] = MakeSimd(ca);
1099
+ }
1100
+ if (i < charges.Size())
1101
+ {
1102
+ std::array<tuple<Vec<3>,entry_type>, FMM_SW> ca;
1103
+ int j = 0;
1104
+ for ( ; i+j < charges.Size(); j++) ca[j] = charges[i+j];
1105
+ for ( ; j < FMM_SW; j++) ca[j] = tuple( get<0>(ca[0]), entry_type{0.0} );
1106
+ simd_charges[ii] = MakeSimd(ca);
1107
+ }
1108
+
1109
+ simd_dipoles.SetSize( (dipoles.Size()+FMM_SW-1)/FMM_SW);
1110
+ i = 0, ii = 0;
1111
+ for ( ; i+FMM_SW <= dipoles.Size(); i+=FMM_SW, ii++)
1112
+ {
1113
+ std::array<tuple<Vec<3>,Vec<3>,entry_type>, FMM_SW> di;
1114
+ for (int j = 0; j < FMM_SW; j++) di[j] = dipoles[i+j];
1115
+ simd_dipoles[ii] = MakeSimd(di);
1116
+ }
1117
+ if (i < dipoles.Size())
1118
+ {
1119
+ std::array<tuple<Vec<3>,Vec<3>,entry_type>, FMM_SW> di;
1120
+ int j = 0;
1121
+ for ( ; i+j < dipoles.Size(); j++) di[j] = dipoles[i+j];
1122
+ for ( ; j < FMM_SW; j++) di[j] = tuple( get<0>(di[0]), get<1>(di[0]), entry_type{0.0} );
1123
+ simd_dipoles[ii] = MakeSimd(di);
1124
+ }
1125
+
1126
+
906
1127
  if (nodes_to_process)
907
1128
  *nodes_to_process += this;
908
1129
  else {
@@ -56,6 +56,17 @@ namespace ngcore
56
56
  auto & imag() { return im; }
57
57
 
58
58
 
59
+ auto Lo() const
60
+ {
61
+ if constexpr (N == 2) return Complex(re.Lo(), im.Lo());
62
+ else return SIMD<Complex,N/2> (re.Lo(), im.Lo());
63
+ }
64
+ auto Hi() const
65
+ {
66
+ if constexpr (N == 2) return Complex(re.Hi(), im.Hi());
67
+ else return SIMD<Complex,N/2> (re.Hi(), im.Hi());
68
+ }
69
+
59
70
  // Numbers in SIMD structure are not necessarily in same order as in memory
60
71
  // for instance:
61
72
  // [x0,y0,x1,y1,x2,y2,x3,y3] -> [x0,x2,x1,x3,y0,y2,y1,y3]
@@ -266,6 +277,15 @@ namespace ngcore
266
277
  return SIMD<Complex, N> (IfPos (a.real(), b.real(), c.real()),
267
278
  IfPos (a.real(), b.imag(), c.imag()));
268
279
  }
280
+
281
+
282
+ template <int N>
283
+ INLINE SIMD<Complex, N> If (SIMD<mask64, N> a, SIMD<Complex, N> b, SIMD<Complex, N> c)
284
+ {
285
+ return SIMD<Complex, N> (If (a, b.real(), c.real()),
286
+ If (a, b.imag(), c.imag()));
287
+ }
288
+
269
289
  }
270
290
 
271
291
 
@@ -701,7 +701,8 @@ namespace ngbla
701
701
  */
702
702
 
703
703
  Vec (const Vec &) = default;
704
- auto & HTData() const { return data; }
704
+ auto & HTData() { return data; }
705
+ const auto & HTData() const { return data; }
705
706
  template <typename T2>
706
707
  Vec (const Vec<S,T2> & v2) : data(v2.HTData()) { ; }
707
708
 
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2505-70-g173a6a105")
1
+ set(PACKAGE_VERSION "6.2.2505-95-g7e589b343")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
@@ -20,7 +20,7 @@ set(NGSOLVE_CMAKE_BUILD_TYPE "Release")
20
20
  set(NGSOLVE_CMAKE_THREAD_LIBS_INIT "")
21
21
  set(NGSOLVE_MKL_LIBRARIES "MKL::MKL")
22
22
  set(NGSOLVE_PYBIND_INCLUDE_DIR "")
23
- set(NGSOLVE_PYTHON_INCLUDE_DIRS "/opt/_internal/cpython-3.11.11/include/python3.11")
23
+ set(NGSOLVE_PYTHON_INCLUDE_DIRS "/opt/_internal/cpython-3.11.13/include/python3.11")
24
24
  set(NGSOLVE_PYTHON_LIBRARIES "Python3_LIBRARY-NOTFOUND")
25
25
  set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
26
26
  set(NGSOLVE_TCL_INCLUDE_PATH "/usr/include")
@@ -30,8 +30,8 @@ set(NGSOLVE_TK_INCLUDE_PATH "/usr/include")
30
30
  set(NGSOLVE_TK_LIBRARY "/usr/lib64/libtkstub8.6.a")
31
31
  set(NGSOLVE_X11_X11_LIB "/usr/lib64/libX11.so")
32
32
  set(NGSOLVE_X11_Xmu_LIB "/usr/lib64/libXmu.so")
33
- set(NGSOLVE_ZLIB_INCLUDE_DIRS "/builds/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/linux-x86_64-3.11/cmake-build/dependencies/zlib/include")
34
- set(NGSOLVE_ZLIB_LIBRARIES "/builds/ngsolve/ngsolve/external_dependencies/netgen/_skbuild/linux-x86_64-3.11/cmake-build/dependencies/zlib/lib/libz.a")
33
+ set(NGSOLVE_ZLIB_INCLUDE_DIRS "/builds/ngsolve/netgen/_skbuild/linux-x86_64-3.11/cmake-build/dependencies/zlib/include")
34
+ set(NGSOLVE_ZLIB_LIBRARIES "/builds/ngsolve/netgen/_skbuild/linux-x86_64-3.11/cmake-build/dependencies/zlib/lib/libz.a")
35
35
 
36
36
  set(NGSOLVE_INTEL_MIC OFF)
37
37
  set(NGSOLVE_USE_CCACHE ON)
@@ -51,7 +51,7 @@ set(NGSOLVE_MAX_SYS_DIM 3)
51
51
 
52
52
  set(NGSOLVE_COMPILE_FLAGS " -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" CACHE STRING "Preprocessor definitions of ngscxx")
53
53
  set(NGSOLVE_LINK_FLAGS " -L$NGSCXX_DIR/../lib/python3.11/site-packages/netgen_mesher.libs -Wl,--rpath=$NGSCXX_DIR/../lib/python3.11/site-packages/netgen_mesher.libs" CACHE STRING "Link flags set in ngsld")
54
- set(NGSOLVE_INCLUDE_DIRS /opt/_internal/cpython-3.11.11/include;/opt/_internal/cpython-3.11.11/include/python3.11 CACHE STRING "Include dirs set in ngscxx")
54
+ set(NGSOLVE_INCLUDE_DIRS /opt/_internal/cpython-3.11.11/include;/opt/_internal/cpython-3.11.13/include/python3.11 CACHE STRING "Include dirs set in ngscxx")
55
55
 
56
56
  set(NGSOLVE_INSTALL_DIR_PYTHON lib/python3.11/site-packages)
57
57
  set(NGSOLVE_INSTALL_DIR_BIN bin)
@@ -29,15 +29,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "include/netgen"
29
29
  NGSOLVE_INSTALL_DIR_CMAKE = "lib/cmake/ngsolve"
30
30
  NGSOLVE_INSTALL_DIR_RES = "share"
31
31
 
32
- NGSOLVE_VERSION = "6.2.2505-70-g173a6a105"
33
- NGSOLVE_VERSION_GIT = "v6.2.2505-70-g173a6a105"
34
- NGSOLVE_VERSION_PYTHON = "6.2.2505.post70.dev0"
32
+ NGSOLVE_VERSION = "6.2.2505-95-g7e589b343"
33
+ NGSOLVE_VERSION_GIT = "v6.2.2505-95-g7e589b343"
34
+ NGSOLVE_VERSION_PYTHON = "6.2.2505.post95.dev0"
35
35
 
36
36
  NGSOLVE_VERSION_MAJOR = "6"
37
37
  NGSOLVE_VERSION_MINOR = "2"
38
- NGSOLVE_VERSION_TWEAK = "70"
38
+ NGSOLVE_VERSION_TWEAK = "95"
39
39
  NGSOLVE_VERSION_PATCH = "2505"
40
- NGSOLVE_VERSION_HASH = "g173a6a105"
40
+ NGSOLVE_VERSION_HASH = "g7e589b343"
41
41
 
42
42
  CMAKE_CXX_COMPILER = "/opt/rh/gcc-toolset-14/root/usr/bin/c++"
43
43
  CMAKE_CUDA_COMPILER = ""
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngsolve
3
- Version: 6.2.2505.post70.dev0
3
+ Version: 6.2.2505.post95.dev0
4
4
  Summary: NGSolve
5
5
  Author: The NGSolve team
6
6
  License: LGPL2.1
7
7
  License-File: LICENSE
8
- Requires-Dist: netgen-mesher==6.2.2505.post13.dev0
8
+ Requires-Dist: netgen-mesher==6.2.2505.post45.dev0
9
9
  Requires-Dist: mkl
10
10
  Dynamic: author
11
11
  Dynamic: license