ngsolve 6.2.2502__cp311-cp311-manylinux_2_28_x86_64.whl → 6.2.2502.post18.dev1__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 (319) hide show
  1. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngs_nvcc +1 -1
  2. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngscxx +2 -2
  3. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/fespace.hpp +3 -2
  4. ngsolve-6.2.2502.post18.dev1.data/data/include/netgen/intrules_SauterSchwab.hpp +25 -0
  5. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/mptools.hpp +19 -6
  6. ngsolve-6.2.2502.post18.dev1.data/data/include/netgen/potentialtools.hpp +20 -0
  7. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/prolongation.hpp +126 -3
  8. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/sparsematrix_impl.hpp +71 -5
  9. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tangentialfacetfespace.hpp +7 -22
  10. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/cmake/ngsolve/NGSolveConfig.cmake +1 -1
  11. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/cmake/ngsolve/ngsolve-targets-release.cmake +10 -0
  12. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/cmake/ngsolve/ngsolve-targets.cmake +9 -2
  13. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngbla.so +0 -0
  14. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngcomp.so +0 -0
  15. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so +0 -0
  16. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngla.so +0 -0
  17. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so +0 -0
  18. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngscudalib.so +0 -0
  19. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngsolve.so +0 -0
  20. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/netgen_mesher.libs/libngstd.so +0 -0
  21. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/__init__.pyi +234 -0
  22. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/bla.pyi +1027 -0
  23. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/bvp.pyi +32 -0
  24. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/comp/__init__.pyi +5382 -0
  25. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/comp/pml.pyi +89 -0
  26. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/__init__.pyi +43 -0
  27. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/config/config.py +5 -5
  28. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/config/config.pyi +45 -0
  29. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/directsolvers.pyi +15 -0
  30. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/eigenvalues.pyi +30 -0
  31. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/fem.pyi +1635 -0
  32. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/krylovspace.pyi +301 -0
  33. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/la.pyi +1210 -0
  34. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/ngscuda.so +0 -0
  35. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
  36. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/ngstd.pyi +58 -0
  37. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.pyi +97 -0
  38. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/preconditioners.pyi +6 -0
  39. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/solve.pyi +108 -0
  40. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/solvers.pyi +14 -0
  41. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/timestepping.pyi +27 -0
  42. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/timing.pyi +54 -0
  43. ngsolve-6.2.2502.post18.dev1.data/data/lib/python3.11/site-packages/ngsolve/utils.pyi +272 -0
  44. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2502.post18.dev1.dist-info}/METADATA +2 -2
  45. ngsolve-6.2.2502.post18.dev1.dist-info/RECORD +317 -0
  46. ngsolve-6.2.2502.data/data/lib/python3.11/site-packages/ngsolve/ngslib.so +0 -0
  47. ngsolve-6.2.2502.dist-info/RECORD +0 -294
  48. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngs_nvlink +0 -0
  49. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngsld +0 -0
  50. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngsolve.tcl +0 -0
  51. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/bin/ngspy +0 -0
  52. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/arnoldi.hpp +0 -0
  53. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bandmatrix.hpp +0 -0
  54. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/basematrix.hpp +0 -0
  55. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/basevector.hpp +0 -0
  56. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bdbequations.hpp +0 -0
  57. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bdbintegrator.hpp +0 -0
  58. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bessel.hpp +0 -0
  59. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bilinearform.hpp +0 -0
  60. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bla.hpp +0 -0
  61. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/blockalloc.hpp +0 -0
  62. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/blockjacobi.hpp +0 -0
  63. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/bspline.hpp +0 -0
  64. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/calcinverse.hpp +0 -0
  65. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cg.hpp +0 -0
  66. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/chebyshev.hpp +0 -0
  67. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cholesky.hpp +0 -0
  68. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/clapack.h +0 -0
  69. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/code_generation.hpp +0 -0
  70. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/coefficient.hpp +0 -0
  71. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/coefficient_impl.hpp +0 -0
  72. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/coefficient_stdmath.hpp +0 -0
  73. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/commutingAMG.hpp +0 -0
  74. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/comp.hpp +0 -0
  75. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/compatibility.hpp +0 -0
  76. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/complex_wrapper.hpp +0 -0
  77. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/compressedfespace.hpp +0 -0
  78. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/contact.hpp +0 -0
  79. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cuda_linalg.hpp +0 -0
  80. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cuda_ngbla.hpp +0 -0
  81. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cuda_ngstd.hpp +0 -0
  82. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/cuda_profiler.hpp +0 -0
  83. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/diagonalmatrix.hpp +0 -0
  84. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/differentialoperator.hpp +0 -0
  85. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/diffop.hpp +0 -0
  86. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/diffop_impl.hpp +0 -0
  87. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/discontinuous.hpp +0 -0
  88. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/dump.hpp +0 -0
  89. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ectypes.hpp +0 -0
  90. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/eigen.hpp +0 -0
  91. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/eigensystem.hpp +0 -0
  92. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/elasticity_equations.hpp +0 -0
  93. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/elementbyelement.hpp +0 -0
  94. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/elementtopology.hpp +0 -0
  95. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/elementtransformation.hpp +0 -0
  96. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/evalfunc.hpp +0 -0
  97. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/expr.hpp +0 -0
  98. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/facetfe.hpp +0 -0
  99. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/facetfespace.hpp +0 -0
  100. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/facethofe.hpp +0 -0
  101. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/facetsurffespace.hpp +0 -0
  102. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/fe_interfaces.hpp +0 -0
  103. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/fem.hpp +0 -0
  104. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/fesconvert.hpp +0 -0
  105. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/finiteelement.hpp +0 -0
  106. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/globalinterfacespace.hpp +0 -0
  107. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/globalspace.hpp +0 -0
  108. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/gridfunction.hpp +0 -0
  109. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1amg.hpp +0 -0
  110. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1hofe.hpp +0 -0
  111. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1hofe_impl.hpp +0 -0
  112. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1hofefo.hpp +0 -0
  113. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1hofefo_impl.hpp +0 -0
  114. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1hofespace.hpp +0 -0
  115. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1lofe.hpp +0 -0
  116. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/h1lumping.hpp +0 -0
  117. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurl_equations.hpp +0 -0
  118. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlcurlfe.hpp +0 -0
  119. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlcurlfespace.hpp +0 -0
  120. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlfe.hpp +0 -0
  121. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlfe_utils.hpp +0 -0
  122. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlhdiv_dshape.hpp +0 -0
  123. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlhdivfes.hpp +0 -0
  124. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlhofe.hpp +0 -0
  125. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlhofe_impl.hpp +0 -0
  126. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurlhofespace.hpp +0 -0
  127. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hcurllofe.hpp +0 -0
  128. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdiv_equations.hpp +0 -0
  129. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivdivfe.hpp +0 -0
  130. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivdivsurfacespace.hpp +0 -0
  131. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivfe.hpp +0 -0
  132. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivfe_utils.hpp +0 -0
  133. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivfes.hpp +0 -0
  134. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivhofe.hpp +0 -0
  135. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivhofe_impl.hpp +0 -0
  136. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivhofefo.hpp +0 -0
  137. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivhofespace.hpp +0 -0
  138. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivhosurfacefespace.hpp +0 -0
  139. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hdivlofe.hpp +0 -0
  140. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hidden.hpp +0 -0
  141. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/householder.hpp +0 -0
  142. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hypre_ams_precond.hpp +0 -0
  143. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/hypre_precond.hpp +0 -0
  144. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/integrator.hpp +0 -0
  145. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/integratorcf.hpp +0 -0
  146. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/interpolate.hpp +0 -0
  147. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/intrule.hpp +0 -0
  148. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/irspace.hpp +0 -0
  149. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/jacobi.hpp +0 -0
  150. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/l2hofe.hpp +0 -0
  151. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/l2hofe_impl.hpp +0 -0
  152. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/l2hofefo.hpp +0 -0
  153. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/l2hofespace.hpp +0 -0
  154. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/la.hpp +0 -0
  155. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/linalg_kernels.hpp +0 -0
  156. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/linearform.hpp +0 -0
  157. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/matrix.hpp +0 -0
  158. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/memusage.hpp +0 -0
  159. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/meshaccess.hpp +0 -0
  160. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/mgpre.hpp +0 -0
  161. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/multigrid.hpp +0 -0
  162. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/multivector.hpp +0 -0
  163. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/mumpsinverse.hpp +0 -0
  164. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/mycomplex.hpp +0 -0
  165. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ng_lapack.hpp +0 -0
  166. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngblas.hpp +0 -0
  167. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngs_defines.hpp +0 -0
  168. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngs_stdcpp_include.hpp +0 -0
  169. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngs_utils.hpp +0 -0
  170. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngsobject.hpp +0 -0
  171. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngsstream.hpp +0 -0
  172. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/ngstd.hpp +0 -0
  173. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/nodalhofe.hpp +0 -0
  174. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/nodalhofe_impl.hpp +0 -0
  175. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/normalfacetfe.hpp +0 -0
  176. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/normalfacetfespace.hpp +0 -0
  177. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/normalfacetsurfacefespace.hpp +0 -0
  178. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/order.hpp +0 -0
  179. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/parallel_matrices.hpp +0 -0
  180. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/paralleldofs.hpp +0 -0
  181. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/parallelngs.hpp +0 -0
  182. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/parallelvector.hpp +0 -0
  183. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/pardisoinverse.hpp +0 -0
  184. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/periodic.hpp +0 -0
  185. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/plateaufespace.hpp +0 -0
  186. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/pml.hpp +0 -0
  187. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/pmltrafo.hpp +0 -0
  188. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/postproc.hpp +0 -0
  189. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/precomp.hpp +0 -0
  190. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/preconditioner.hpp +0 -0
  191. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/python_comp.hpp +0 -0
  192. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/python_fem.hpp +0 -0
  193. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/python_linalg.hpp +0 -0
  194. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/python_ngstd.hpp +0 -0
  195. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/recursive_pol.hpp +0 -0
  196. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/recursive_pol_tet.hpp +0 -0
  197. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/recursive_pol_trig.hpp +0 -0
  198. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/reorderedfespace.hpp +0 -0
  199. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/sample_sort.hpp +0 -0
  200. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/scalarfe.hpp +0 -0
  201. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/shapefunction_utils.hpp +0 -0
  202. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/simd_complex.hpp +0 -0
  203. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/smoother.hpp +0 -0
  204. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/solve.hpp +0 -0
  205. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/sparsecholesky.hpp +0 -0
  206. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/sparsematrix.hpp +0 -0
  207. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/sparsematrix_dyn.hpp +0 -0
  208. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/special_matrix.hpp +0 -0
  209. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/specialelement.hpp +0 -0
  210. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/statushandler.hpp +0 -0
  211. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/stringops.hpp +0 -0
  212. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/superluinverse.hpp +0 -0
  213. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/symbolicintegrator.hpp +0 -0
  214. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/symmetricmatrix.hpp +0 -0
  215. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tangentialfacetfe.hpp +0 -0
  216. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tensor.hpp +0 -0
  217. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tensorcoefficient.hpp +0 -0
  218. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tensorproductintegrator.hpp +0 -0
  219. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/thcurlfe.hpp +0 -0
  220. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/thcurlfe_impl.hpp +0 -0
  221. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/thdivfe.hpp +0 -0
  222. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/thdivfe_impl.hpp +0 -0
  223. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tpdiffop.hpp +0 -0
  224. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tpfes.hpp +0 -0
  225. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tpintrule.hpp +0 -0
  226. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/triangular.hpp +0 -0
  227. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tscalarfe.hpp +0 -0
  228. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/tscalarfe_impl.hpp +0 -0
  229. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/umfpackinverse.hpp +0 -0
  230. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/unifiedvector.hpp +0 -0
  231. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/vector.hpp +0 -0
  232. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/voxelcoefficientfunction.hpp +0 -0
  233. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/vtkoutput.hpp +0 -0
  234. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/vvector.hpp +0 -0
  235. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/include/netgen/webgui.hpp +0 -0
  236. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/TensorProductTools.py +0 -0
  237. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/__console.py +0 -0
  238. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/__expr.py +0 -0
  239. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/__init__.py +0 -0
  240. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/_scikit_build_core_dependencies.py +0 -0
  241. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/bvp.py +0 -0
  242. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/config/__init__.py +0 -0
  243. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/config/__main__.py +0 -0
  244. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/__init__.py +0 -0
  245. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +0 -0
  246. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +0 -0
  247. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +0 -0
  248. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +0 -0
  249. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/__init__.py +0 -0
  250. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/__init__.py +0 -0
  251. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hhj.py +0 -0
  252. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/hybrid_dg.py +0 -0
  253. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/mixed.py +0 -0
  254. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/nonlin.py +0 -0
  255. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pickling.py +0 -0
  256. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/pml.py +0 -0
  257. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/taskmanager.py +0 -0
  258. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/tdnns.py +0 -0
  259. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG-skeleton.py +0 -0
  260. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDG.py +0 -0
  261. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGlap.py +0 -0
  262. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/howto/timeDGwave.py +0 -0
  263. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/__init__.py +0 -0
  264. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/adaptive.py +0 -0
  265. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/cmagnet.py +0 -0
  266. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/elasticity.py +0 -0
  267. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/navierstokes.py +0 -0
  268. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.ipynb +0 -0
  269. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/intro/poisson.py +0 -0
  270. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/__init__.py +0 -0
  271. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_cmagnet.py +0 -0
  272. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_navierstokes.py +0 -0
  273. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_poisson.py +0 -0
  274. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/demos/mpi/mpi_timeDG.py +0 -0
  275. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/directsolvers.py +0 -0
  276. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/eigenvalues.py +0 -0
  277. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/internal.py +0 -0
  278. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/krylovspace.py +0 -0
  279. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/meshes.py +0 -0
  280. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/ngs2petsc.py +0 -0
  281. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/ngscxx.py +0 -0
  282. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/nonlinearsolvers.py +0 -0
  283. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/preconditioners.py +0 -0
  284. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/solvers.py +0 -0
  285. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/timestepping.py +0 -0
  286. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/timing.py +0 -0
  287. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/utils.py +0 -0
  288. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/lib/python3.11/site-packages/ngsolve/webgui.py +0 -0
  289. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/beam.geo +0 -0
  290. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/beam.vol +0 -0
  291. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/chip.in2d +0 -0
  292. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/chip.vol +0 -0
  293. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/coil.geo +0 -0
  294. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/coil.vol +0 -0
  295. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/coilshield.geo +0 -0
  296. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/coilshield.vol +0 -0
  297. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/cube.geo +0 -0
  298. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/cube.vol +0 -0
  299. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
  300. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
  301. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d1_square.pde +0 -0
  302. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d2_chip.pde +0 -0
  303. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
  304. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d4_cube.pde +0 -0
  305. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d5_beam.pde +0 -0
  306. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d6_shaft.pde +0 -0
  307. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d7_coil.pde +0 -0
  308. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
  309. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
  310. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
  311. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/doubleglazing.vol +0 -0
  312. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  313. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/shaft.geo +0 -0
  314. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/shaft.vol +0 -0
  315. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/square.in2d +0 -0
  316. {ngsolve-6.2.2502.data → ngsolve-6.2.2502.post18.dev1.data}/data/share/ngsolve/square.vol +0 -0
  317. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2502.post18.dev1.dist-info}/LICENSE +0 -0
  318. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2502.post18.dev1.dist-info}/WHEEL +0 -0
  319. {ngsolve-6.2.2502.dist-info → ngsolve-6.2.2502.post18.dev1.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=19 -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.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=19 -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=19 -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.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
@@ -256,7 +256,7 @@ ANY 1 1 1 1 | 15
256
256
 
257
257
  virtual void UpdateDofTables() { ; }
258
258
  virtual void UpdateCouplingDofArray() { ; }
259
-
259
+ virtual void UpdateFreeDofs();
260
260
  /// update element coloring
261
261
  virtual void FinalizeUpdate();
262
262
 
@@ -640,7 +640,7 @@ ANY 1 1 1 1 | 15
640
640
  /// Set multigrid prolongation
641
641
  // void SetProlongation (ngmg::Prolongation * aprol)
642
642
  // { prol = aprol; }
643
- virtual void SetHarmonicProlongation (shared_ptr<BilinearForm> bfa);
643
+ virtual void SetHarmonicProlongation (shared_ptr<BilinearForm> bfa, string inverse);
644
644
 
645
645
  /// returns function-evaluator
646
646
  shared_ptr<DifferentialOperator> GetEvaluator (VorB vb = VOL) const
@@ -1109,6 +1109,7 @@ ANY 1 1 1 1 | 15
1109
1109
 
1110
1110
  /// copies dofcoupling from components
1111
1111
  void UpdateCouplingDofArray() override;
1112
+ virtual void UpdateFreeDofs() override;
1112
1113
 
1113
1114
  void SetDefinedOn (VorB vb, const BitArray& defon) override;
1114
1115
 
@@ -0,0 +1,25 @@
1
+ #ifndef INTRULES_HPP
2
+ #define INTRULES_HPP
3
+
4
+ #include <bla.hpp>
5
+
6
+ namespace ngsbem
7
+ {
8
+ using namespace ngbla;
9
+
10
+ // x, y in triangle [(0,0), (1,0), (0,1)]
11
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> IdenticPanelIntegrationRule (int order);
12
+
13
+
14
+ // x, y in triangle [(0,0), (1,0), (0,1)]
15
+ // x=(0,0) and y=(0,0) are common vertices
16
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> CommonVertexIntegrationRule (int order);
17
+
18
+
19
+ // x, y in triangle [(0,0), (1,0), (0,1)]
20
+ // x in [(0,0),(1,0)] and y in [(0,0),(1,0)] are common edges
21
+ tuple<Array<Vec<2>>, Array<Vec<2>>, Array<double>> CommonEdgeIntegrationRule (int order);
22
+
23
+ }
24
+
25
+ #endif
@@ -10,9 +10,16 @@
10
10
  #include <coefficient.hpp>
11
11
  #include <recursive_pol.hpp>
12
12
 
13
- namespace ngfem
13
+
14
+ namespace ngcomp
14
15
  {
16
+ class Region;
17
+ }
15
18
 
19
+ namespace ngsbem
20
+ {
21
+ using namespace ngfem;
22
+
16
23
 
17
24
  template <typename entry_type = Complex>
18
25
  class NGS_DLL_HEADER SphericalHarmonics
@@ -570,7 +577,7 @@ namespace ngfem
570
577
 
571
578
  entry_type EvaluateDeriv(Vec<3> p, Vec<3> d) const
572
579
  {
573
- entry_type sum = 0;
580
+ entry_type sum{0.0};
574
581
  if (childs[0])
575
582
  {
576
583
  for (auto & child : childs)
@@ -727,7 +734,7 @@ namespace ngfem
727
734
  root.AddCharge(x, c);
728
735
  }
729
736
 
730
- void AddDipole(Vec<3> x, Vec<3> d, Complex c)
737
+ void AddDipole(Vec<3> x, Vec<3> d, entry_type c)
731
738
  {
732
739
  root.AddDipole(x, d, c);
733
740
  }
@@ -756,7 +763,7 @@ namespace ngfem
756
763
  }
757
764
  */
758
765
  }
759
-
766
+
760
767
  void Print (ostream & ost) const
761
768
  {
762
769
  root.Print(ost);
@@ -1064,7 +1071,7 @@ namespace ngfem
1064
1071
  }
1065
1072
 
1066
1073
  if (total_targets == 0)
1067
- mp = MultiPole<MPRegular>(-1, mp.Kappa());
1074
+ mp = MultiPole<MPRegular,elem_type>(-1, mp.Kappa());
1068
1075
  }
1069
1076
 
1070
1077
 
@@ -1226,6 +1233,9 @@ namespace ngfem
1226
1233
 
1227
1234
 
1228
1235
 
1236
+ template <typename entry_type> class RegularMLMultiPoleCF;
1237
+
1238
+
1229
1239
  template <typename RADIAL, typename entry_type=Complex>
1230
1240
  class MultiPoleCF : public CoefficientFunction
1231
1241
  {
@@ -1285,7 +1295,8 @@ namespace ngfem
1285
1295
 
1286
1296
  }
1287
1297
 
1288
- shared_ptr<SingularMLMultiPole<entry_type>> MLMP() { return mlmp; }
1298
+ shared_ptr<SingularMLMultiPole<entry_type>> MLMP() const { return mlmp; }
1299
+ shared_ptr<RegularMLMultiPoleCF<entry_type>> CreateRegularExpansion(Vec<3> center, double r) const;
1289
1300
  };
1290
1301
 
1291
1302
 
@@ -1296,6 +1307,8 @@ namespace ngfem
1296
1307
  public:
1297
1308
  RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPoleCF<entry_type>> asingmp, Vec<3> center, double r, int order)
1298
1309
  : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp->MLMP(), center, r, order)} { }
1310
+ RegularMLMultiPoleCF (shared_ptr<SingularMLMultiPole<entry_type>> asingmp, Vec<3> center, double r, int order)
1311
+ : CoefficientFunction(sizeof(entry_type)/sizeof(Complex), true), mlmp{make_shared<RegularMLMultiPole<entry_type>>(asingmp, center, r, order)} { }
1299
1312
 
1300
1313
  virtual double Evaluate (const BaseMappedIntegrationPoint & ip) const override
1301
1314
  { throw Exception("real eval not available"); }
@@ -0,0 +1,20 @@
1
+ #ifndef FILE_POTENTIALS
2
+ #define FILE_POTENTIALS
3
+
4
+ /*
5
+ tools for computing with potentials using multipoles
6
+ */
7
+
8
+
9
+ #include <mptools.hpp>
10
+ #include <meshaccess.hpp>
11
+
12
+
13
+ namespace ngsbem
14
+ {
15
+
16
+ extern void AddCurrentDensity (SingularMLMultiPole<Vec<3,Complex>> & mp, shared_ptr<CoefficientFunction> current, ngcomp::Region reg);
17
+
18
+ }
19
+
20
+ #endif
@@ -233,12 +233,14 @@ namespace ngmg
233
233
  class NGS_DLL_HEADER HarmonicProlongation : public Prolongation
234
234
  {
235
235
  shared_ptr<Prolongation> baseprol;
236
- shared_ptr<BilinearForm> bfa;
236
+ weak_ptr<BilinearForm> wbfa;
237
237
  Array<shared_ptr<BaseMatrix>> innerinverses;
238
- Array<size_t> edges_on_level;
238
+ Array<size_t> facets_on_level;
239
+ Array<shared_ptr<BitArray>> freedofs;
240
+ string inverse;
239
241
  public:
240
242
  HarmonicProlongation (shared_ptr<Prolongation> abaseprol,
241
- shared_ptr<BilinearForm> abfa);
243
+ shared_ptr<BilinearForm> abfa, string ainverse);
242
244
 
243
245
  virtual void Update (const FESpace & fes) override;
244
246
 
@@ -248,6 +250,127 @@ namespace ngmg
248
250
  virtual void ProlongateInline (int finelevel, BaseVector & v) const override;
249
251
  virtual void RestrictInline (int finelevel, BaseVector & v) const override;
250
252
  };
253
+
254
+
255
+
256
+
257
+
258
+ template <int DIM>
259
+ class FacetProlongation : public Prolongation
260
+ {
261
+ protected:
262
+ shared_ptr<MeshAccess> ma;
263
+
264
+ int dofs_per_facet = -1;
265
+ Array<Array<int>> first_dofs;
266
+ Array<int> prol_class; // which prol to use ?
267
+ Array<size_t> facets_on_level;
268
+
269
+ static constexpr int NUMPROL = (DIM==2) ? 2 : 32;
270
+ array<Matrix<double>,NUMPROL> facetprol;
271
+
272
+ bool haveprols = false;
273
+
274
+ public:
275
+ FacetProlongation (shared_ptr<MeshAccess> ama)
276
+ : ma(ama) { }
277
+
278
+
279
+ virtual shared_ptr<SparseMatrix< double >> CreateProlongationMatrix( int finelevel ) const override
280
+ {
281
+ return nullptr; // or NULL ?
282
+ }
283
+
284
+
285
+ virtual void ProlongateInline (int finelevel, BaseVector & v) const override
286
+ {
287
+ auto fv = v.FV<double>();
288
+ Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
289
+ tmp = 0.0;
290
+
291
+ for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
292
+ {
293
+ IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
294
+ if (r.Size() > 0)
295
+ tmp.Row(i) = fv.Range(r);
296
+ }
297
+
298
+ if constexpr (DIM==2)
299
+ {
300
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
301
+ if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
302
+ {
303
+ int pe = parents[0];
304
+ tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
305
+ }
306
+ }
307
+ else
308
+ {
309
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
310
+ if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
311
+ {
312
+ int pe = parents[0];
313
+ tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
314
+ }
315
+ }
316
+
317
+ for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
318
+ {
319
+ IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
320
+ if (r.Size() > 0)
321
+ fv.Range(r) = tmp.Row(i);
322
+ }
323
+ }
324
+
325
+ virtual void RestrictInline (int finelevel, BaseVector & v) const override
326
+ {
327
+ auto fv = v.FV<double>();
328
+ Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
329
+ tmp = 0.0;
330
+
331
+ for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
332
+ {
333
+ IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
334
+ if (r.Size() > 0)
335
+ tmp.Row(i) = fv.Range(r);
336
+ }
337
+
338
+
339
+ if constexpr (DIM==2)
340
+ {
341
+ for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
342
+ if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
343
+ {
344
+ int pe = parents[0];
345
+ tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
346
+ }
347
+ }
348
+ else
349
+ {
350
+ // for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
351
+ for (int i = facets_on_level[finelevel]-1; i >= facets_on_level[finelevel-1]; i--)
352
+ if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
353
+ {
354
+ int pe = parents[0];
355
+ tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
356
+ tmp.Row(i) = 0.0; // optional, for testing
357
+ }
358
+ }
359
+
360
+ fv = 0.0;
361
+ for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
362
+ {
363
+ IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
364
+ if (r.Size() > 0)
365
+ fv.Range(r) = tmp.Row(i);
366
+ }
367
+
368
+ }
369
+
370
+ };
371
+
372
+
373
+
251
374
  }
252
375
 
253
376
 
@@ -51,28 +51,94 @@ namespace ngla
51
51
  FlatArray<TM> val, size_t h, size_t w)
52
52
  {
53
53
  static Timer t("SparseMatrix::CreateFromCOO"); RegionTimer r(t);
54
- Array<int> cnt(h);
54
+ static Timer t1("SparseMatrix::CreateFromCOO 1");
55
+ static Timer t2("SparseMatrix::CreateFromCOO 2");
56
+ static Timer t3("SparseMatrix::CreateFromCOO 3");
55
57
 
56
58
  /*
57
- cnt = 0;
58
- for (auto i : indi) cnt[i]++;
59
- */
59
+ {
60
+ Array<int> cnt(h);
60
61
 
62
+ t1.Start();
61
63
  DynamicTable<int> tab(h);
62
64
  for (size_t i = 0; i < indi.Size(); i++)
63
65
  tab.AddUnique(indi[i], indj[i]);
66
+ t1.Stop();
64
67
  for (size_t i = 0; i < h; i++)
65
68
  cnt[i] = tab.EntrySize(i);
66
69
 
67
70
  auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
71
+ t2.Start();
68
72
  for (auto k : ngstd::Range(indi))
69
73
  matrix->CreatePosition(indi[k], indj[k]);
74
+ t2.Stop();
70
75
  matrix->SetZero();
71
76
 
77
+ t3.Start();
72
78
  for (auto k : ngstd::Range(indi))
73
79
  (*matrix)(indi[k], indj[k]) += val[k];
80
+ t3.Stop();
81
+ // return matrix;
82
+ }
83
+ */
84
+
85
+ Array<int> cnt(h);
86
+ cnt = 0;
87
+ for (auto i : indi)
88
+ cnt[i]++;
89
+
90
+ Table<int> tab(cnt);
91
+ cnt = 0;
92
+
93
+ for (auto [i,j] : Zip(indi, indj))
94
+ tab[i][cnt[i]++] = j;
95
+
96
+ cnt = 0;
97
+ // for (int i = 0; i < tab.Size(); i++)
98
+ ParallelFor (tab.Size(), [&] (size_t i)
99
+ {
100
+ QuickSort (tab[i]);
101
+
102
+ int prev = -1;
103
+ for (auto j : tab[i])
104
+ {
105
+ if (j != prev) cnt[i]++;
106
+ prev = j;
107
+ }
108
+ });
109
+
110
+ auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
111
+ t2.Start();
112
+ // for (auto k : ngstd::Range(indi))
113
+ // matrix->CreatePosition(indi[k], indj[k]);
74
114
 
75
- return matrix;
115
+ cnt = 0;
116
+ for (int i = 0; i < tab.Size(); i++)
117
+ {
118
+ int prev = -1;
119
+ for (auto j : tab[i])
120
+ {
121
+ auto cols = matrix->GetRowIndices(i);
122
+ if (j != prev)
123
+ cols[cnt[i]++] = j;
124
+ prev = j;
125
+ }
126
+ }
127
+
128
+ t2.Stop();
129
+ matrix->SetZero();
130
+
131
+ t3.Start();
132
+ /*
133
+ for (auto k : ngstd::Range(indi))
134
+ (*matrix)(indi[k], indj[k]) += val[k];
135
+ */
136
+ ParallelFor (indi.Size(), [&](size_t k)
137
+ {
138
+ AtomicAdd ( (*matrix)(indi[k], indj[k]), val[k]);
139
+ });
140
+ t3.Stop();
141
+ return matrix;
76
142
  }
77
143
 
78
144
 
@@ -16,34 +16,22 @@ namespace ngcomp
16
16
  class NGS_DLL_HEADER TangentialFacetFESpace : public FESpace
17
17
  {
18
18
  protected:
19
- /// Level
20
- // int level;
21
- /// Number of Facets
22
- // int nfacets;
23
- ///
24
- // int ncfacets;
25
- ///
26
- // int nel;
27
-
28
19
  Array<int> first_facet_dof;
29
20
  Array<int> first_inner_dof; // for highest_order_dc
30
- // int ndof_lo;
31
21
 
32
22
  int rel_order;
33
23
 
34
24
  Array<IVec<2> > order_facet;
35
25
  Array<bool> fine_facet;
36
26
 
37
- // int ndof;
38
- // Array<int> ndlevel;
39
27
  bool var_order;
40
28
  bool print;
41
29
 
42
30
  bool highest_order_dc;
43
31
  bool hide_highest_order_dc;
32
+ bool all_dofs_together;
44
33
 
45
34
  public:
46
- ///
47
35
  TangentialFacetFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
48
36
  bool parseflags = false );
49
37
 
@@ -61,20 +49,11 @@ namespace ngcomp
61
49
  virtual void SetOrder (NodeId ni, int order) override;
62
50
  virtual int GetOrder (NodeId ni) const override;
63
51
 
64
-
65
- // virtual size_t GetNDof() const throw() override { return ndof; }
66
- // virtual size_t GetNDofLevel ( int i ) const override { return ndlevel[i]; }
67
-
68
52
  virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
69
53
 
70
- // virtual int GetNDofLowOrder () const
71
- // { return ndof_lo; }
72
54
 
73
55
  virtual FiniteElement & GetFE(ElementId ei, Allocator & lh) const override;
74
56
 
75
- // virtual const FiniteElement & GetFE ( int elnr, LocalHeap & lh ) const;
76
- // virtual const FiniteElement & GetSFE ( int selnr, LocalHeap & lh ) const;
77
-
78
57
  virtual void GetFacetDofNrs (int felnr, Array<DofId> & dnums) const;
79
58
 
80
59
  virtual int GetNFacetDofs (int felnr) const;
@@ -90,6 +69,12 @@ namespace ngcomp
90
69
  virtual IVec<2> GetFacetOrder(int fnr) const;
91
70
 
92
71
  virtual int GetFirstFacetDof(int fanr) const;
72
+ const auto & GetFirstFacetDof() const { return first_facet_dof; }
73
+
74
+ IntRange GetFacetDofs (int nr) const
75
+ {
76
+ return IntRange (first_facet_dof[nr], first_facet_dof[nr+1]);
77
+ }
93
78
 
94
79
  virtual bool UsesHighestOrderDiscontinuous() const {return highest_order_dc;};
95
80
 
@@ -1,4 +1,4 @@
1
- set(PACKAGE_VERSION "6.2.2502")
1
+ set(PACKAGE_VERSION "6.2.2502-18-g193f3645a")
2
2
  find_package(Netgen CONFIG REQUIRED HINTS
3
3
  ${CMAKE_CURRENT_LIST_DIR}
4
4
  ${CMAKE_CURRENT_LIST_DIR}/..
@@ -45,6 +45,16 @@ set_target_properties(ngfem PROPERTIES
45
45
  list(APPEND _cmake_import_check_targets ngfem )
46
46
  list(APPEND _cmake_import_check_files_for_ngfem "${_IMPORT_PREFIX}/lib/python3.11/site-packages/netgen_mesher.libs/libngfem.so" )
47
47
 
48
+ # Import target "ngsbem" for configuration "Release"
49
+ set_property(TARGET ngsbem APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
50
+ set_target_properties(ngsbem PROPERTIES
51
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so"
52
+ IMPORTED_SONAME_RELEASE "libngsbem.so"
53
+ )
54
+
55
+ list(APPEND _cmake_import_check_targets ngsbem )
56
+ list(APPEND _cmake_import_check_files_for_ngsbem "${_IMPORT_PREFIX}/lib/python3.11/site-packages/netgen_mesher.libs/libngsbem.so" )
57
+
48
58
  # Import target "ngcomp" for configuration "Release"
49
59
  set_property(TARGET ngcomp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
50
60
  set_target_properties(ngcomp PROPERTIES
@@ -19,7 +19,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
19
19
  set(_cmake_targets_defined "")
20
20
  set(_cmake_targets_not_defined "")
21
21
  set(_cmake_expected_targets "")
22
- foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngcomp ngsolve ngscudalib)
22
+ foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngsbem ngcomp ngsolve ngscudalib)
23
23
  list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
24
  if(TARGET "${_cmake_expected_target}")
25
25
  list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
@@ -107,6 +107,13 @@ set_target_properties(ngfem PROPERTIES
107
107
  INTERFACE_LINK_LIBRARIES "ngbla;ngstd"
108
108
  )
109
109
 
110
+ # Create imported target ngsbem
111
+ add_library(ngsbem SHARED IMPORTED)
112
+
113
+ set_target_properties(ngsbem PROPERTIES
114
+ INTERFACE_LINK_LIBRARIES "ngcomp;ngfem;ngla;ngbla;ngstd"
115
+ )
116
+
110
117
  # Create imported target ngcomp
111
118
  add_library(ngcomp SHARED IMPORTED)
112
119
 
@@ -118,7 +125,7 @@ set_target_properties(ngcomp PROPERTIES
118
125
  add_library(ngsolve SHARED IMPORTED)
119
126
 
120
127
  set_target_properties(ngsolve PROPERTIES
121
- INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngbla;ngla;ngstd"
128
+ INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
122
129
  )
123
130
 
124
131
  # Create imported target ngscudalib