ngstrefftz 0.3.2504.dev2__tar.gz → 0.3.2505.dev1__tar.gz

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.
Files changed (153) hide show
  1. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.gitmodules +1 -1
  2. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/CMakeLists.txt +9 -1
  3. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/PKG-INFO +2 -2
  4. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/_version.py +2 -2
  5. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/requirements.txt +2 -2
  6. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/.github/workflows/build.yml +5 -5
  7. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/pyproject.toml +6 -5
  8. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/CMakeLists.txt +1 -1
  9. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/paralleldepend.hpp +6 -2
  10. ngstrefftz-0.3.2505.dev1/external_dependencies/ngstents/src/python_tents.cpp +139 -0
  11. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +3 -0
  12. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/tents.cpp +31 -27
  13. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/tents.hpp +3 -3
  14. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/pyproject.toml +2 -2
  15. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/twavetents.cpp +3 -3
  16. ngstrefftz-0.3.2504.dev2/external_dependencies/ngstents/src/python_tents.cpp +0 -141
  17. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.clang-format +0 -0
  18. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/build.yml +0 -0
  19. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/fix_auditwheel_policy.py +0 -0
  20. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/pyodide/Dockerfile +0 -0
  21. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  22. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/pyodide/merge.py +0 -0
  23. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.github/workflows/pyodide/requirements.txt +0 -0
  24. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/.gitignore +0 -0
  25. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/CONTRIBUTING.md +0 -0
  26. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/Dockerfile +0 -0
  27. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/LICENSE +0 -0
  28. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/README.md +0 -0
  29. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/Doxyfile.in +0 -0
  30. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/_static/breadcrumbs.html +0 -0
  31. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/_static/css/mytheme.css +0 -0
  32. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/conf.py +0 -0
  33. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/contrib.rst +0 -0
  34. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/docu.rst +0 -0
  35. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/index.rst +0 -0
  36. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/intro.rst +0 -0
  37. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  38. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz-helm.ipynb +0 -0
  39. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  40. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  41. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  42. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/embTrefftz.ipynb +0 -0
  43. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/helmholtz.ipynb +0 -0
  44. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/index.ipynb +0 -0
  45. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/laplace.ipynb +0 -0
  46. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/qtelliptic.ipynb +0 -0
  47. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/qtwave.ipynb +0 -0
  48. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/tunfitted.ipynb +0 -0
  49. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/twave.ipynb +0 -0
  50. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/notebooks/twavetents.ipynb +0 -0
  51. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/paper/codemeta.json +0 -0
  52. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/paper/paper.bib +0 -0
  53. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/paper/paper.md +0 -0
  54. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/docs/readme.rst +0 -0
  55. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/.gitignore +0 -0
  56. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/README.md +0 -0
  57. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  58. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  59. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  60. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  61. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  62. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  63. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  64. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  65. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  66. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  67. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  68. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  69. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  70. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  71. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  72. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  73. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  74. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  75. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  76. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  77. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  78. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  79. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  80. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  81. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  82. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/_config.yml +0 -0
  83. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/_toc.yml +0 -0
  84. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/conf.py +0 -0
  85. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  86. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  87. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  88. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  89. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/index.rst +0 -0
  90. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/intro.md +0 -0
  91. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/readme.rst +0 -0
  92. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  93. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/py/__init__.py +0 -0
  94. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  95. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  96. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  97. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  98. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/advection.cpp +0 -0
  99. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  100. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  101. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  102. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/euler.cpp +0 -0
  103. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  104. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/ngsolve_addon.cmake +0 -0
  105. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  106. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  107. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  108. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  109. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  110. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  111. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/src/wave.cpp +0 -0
  112. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  113. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  114. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  115. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  116. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  117. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/__init__.py +0 -0
  118. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/airy.cpp +0 -0
  119. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/boxintegral.cpp +0 -0
  120. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/boxintegral.hpp +0 -0
  121. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/condensedg.cpp +0 -0
  122. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/condensedg.hpp +0 -0
  123. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/diffopmapped.hpp +0 -0
  124. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/embtrefftz.cpp +0 -0
  125. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/embtrefftz.hpp +0 -0
  126. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/mesh1dtents.cpp +0 -0
  127. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/mesh1dtents.hpp +0 -0
  128. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/monomialfespace.cpp +0 -0
  129. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/monomialfespace.hpp +0 -0
  130. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/ngsttd.hpp +0 -0
  131. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/planewavefe.cpp +0 -0
  132. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/planewavefe.hpp +0 -0
  133. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/pufe.cpp +0 -0
  134. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/pufe.hpp +0 -0
  135. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/pufespace.cpp +0 -0
  136. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/pufespace.hpp +0 -0
  137. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/python_trefftz.cpp +0 -0
  138. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/scalarmappedfe.cpp +0 -0
  139. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/scalarmappedfe.hpp +0 -0
  140. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/specialcoefficientfunction.cpp +0 -0
  141. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/specialcoefficientfunction.hpp +0 -0
  142. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/specialintegrator.cpp +0 -0
  143. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/specialintegrator.hpp +0 -0
  144. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/src/twavetents.hpp +0 -0
  147. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/boxint.py +0 -0
  148. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/conforming_trefftz.py +0 -0
  149. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/dg.py +0 -0
  150. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/embt.py +0 -0
  151. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/embtrefftz_gtest.cpp +0 -0
  152. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/tents.py +0 -0
  153. {ngstrefftz-0.3.2504.dev2 → ngstrefftz-0.3.2505.dev1}/test/trefftz.py +0 -0
@@ -1,3 +1,3 @@
1
1
  [submodule "external_dependencies/ngstents"]
2
2
  path = external_dependencies/ngstents
3
- url = https://github.com/PaulSt/ngstents.git
3
+ url = https://github.com/jayggg/ngstents.git
@@ -18,7 +18,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_BINARY_DIR}/cmake_modules)
18
18
 
19
19
  set(addon_name ngstrefftz)
20
20
  project(ngstrefftz)
21
- include_directories(${CMAKE_SOURCE_DIR}/external_dependencies/ngstents/src)
21
+ include_directories(SYSTEM ${CMAKE_SOURCE_DIR}/external_dependencies/ngstents/src) # SYSTEM to suppress warnings from headers
22
22
  include(${CMAKE_BINARY_DIR}/cmake_modules/ngsolve_addon.cmake)
23
23
  add_ngsolve_addon(ngstrefftz
24
24
  ${CMAKE_SOURCE_DIR}/external_dependencies/ngstents/src/tents.cpp
@@ -50,6 +50,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
50
50
  -Wpedantic
51
51
  -Wno-vla # ngsolve uses VLAs anyway
52
52
  )
53
+ set_source_files_properties(
54
+ ${CMAKE_SOURCE_DIR}/external_dependencies/ngstents/src/tents.cpp
55
+ PROPERTIES COMPILE_FLAGS "-w" #suppress all warnings
56
+ )
53
57
  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
54
58
  target_compile_options(ngstrefftz PRIVATE
55
59
  -Wall
@@ -58,6 +62,10 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
58
62
  -Wtype-limits
59
63
  -Wuninitialized
60
64
  )
65
+ set_source_files_properties(
66
+ ${CMAKE_SOURCE_DIR}/external_dependencies/ngstents/src/tents.cpp
67
+ PROPERTIES COMPILE_FLAGS "-w" #suppress all warnings
68
+ )
61
69
  endif()
62
70
 
63
71
  ### user options
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngstrefftz
3
- Version: 0.3.2504.dev2
3
+ Version: 0.3.2505.dev1
4
4
  Summary: NGSTrefftz is an add-on to NGSolve for Trefftz methods.
5
5
  Author-Email: Paul Stocker <paul.stocker@univie.ac.at>
6
6
  Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
7
7
  Project-URL: Documentation, https://paulst.github.io/NGSTrefftz
8
8
  Project-URL: Repository, https://github.com/PaulSt/ngstrefftz
9
9
  Requires-Python: >=3.9
10
- Requires-Dist: ngsolve==6.2.2503
10
+ Requires-Dist: ngsolve==6.2.2504
11
11
  Description-Content-Type: text/markdown
12
12
 
13
13
  # NGSTrefftz
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.3.2504.dev2'
21
- __version_tuple__ = version_tuple = (0, 3, 2504, 'dev2')
20
+ __version__ = version = '0.3.2505.dev1'
21
+ __version_tuple__ = version_tuple = (0, 3, 2505, 'dev1')
@@ -21,6 +21,6 @@ myst_parser>=3.0.1
21
21
  numpy>=2.0.0
22
22
  scipy>=1.13.1
23
23
  webgui-jupyter-widgets>=0.2.35
24
- #ngstrefftz==0.3.2503
24
+ #ngstrefftz==0.3.2504
25
25
  #ngsolve==6.2.2404.post22.dev0
26
- xfem==2.1.2503
26
+ xfem==2.1.2504
@@ -15,9 +15,9 @@ jobs:
15
15
  matrix:
16
16
  os: [ubuntu-latest, macos-13]
17
17
  include:
18
- - os: windows-2019
18
+ - os: windows-2022
19
19
  cibw-arch: AMD64
20
- cmake-generator: "Visual Studio 16 2019"
20
+ cmake-generator: "Visual Studio 17 2022"
21
21
  cmake_generator_platform: "x64"
22
22
 
23
23
  steps:
@@ -81,7 +81,7 @@ jobs:
81
81
  pages: write
82
82
  id-token: write
83
83
  steps:
84
- - uses: actions/checkout@v3
84
+ - uses: actions/checkout@v4
85
85
  with:
86
86
  fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
87
87
  submodules: 'False'
@@ -100,10 +100,10 @@ jobs:
100
100
  python3 -m pip install --break-system-packages jupyter-book
101
101
  jupyter-book build .
102
102
  - name: Upload artifact
103
- uses: actions/upload-pages-artifact@v2
103
+ uses: actions/upload-pages-artifact@v3
104
104
  with:
105
105
  path: "docs/_build/html"
106
106
  - name: Deploy to GitHub Pages
107
107
  if: github.ref == 'refs/heads/master'
108
108
  id: deployment
109
- uses: actions/deploy-pages@v2
109
+ uses: actions/deploy-pages@v4
@@ -1,18 +1,18 @@
1
1
  [project]
2
2
  name = "ngstents"
3
- dynamic = ["version", "dependencies"]
3
+ dynamic = ["dependencies", "version"]
4
4
  authors = [{name="Jay Gopalakrishnan", email= "gjay@pdx.edu"}]
5
5
  description = "Spacetime tent facilities for solving hyperbolic equations"
6
6
  urls = {github="https://github.com/jayggg/ngstents"}
7
7
  readme = "README.md"
8
- requires-python = ">=3.8"
9
- dependencies = ["matplotlib"]
8
+ requires-python = ">=3.9"
9
+ # dependencies = ["matplotlib"]
10
10
  classifiers = [
11
11
  "License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)"
12
12
  ]
13
13
 
14
14
  [build-system]
15
- requires = ["ngsolve>=6.2.2404.post16", "matplotlib", "setuptools>=45", "setuptools_scm[toml]>=8", "toml", "scikit-build-core>=0.3.3", "pybind11_stubgen", "cmake>=3.26.1"]
15
+ requires = ["ngsolve>=6.2.2503", "matplotlib", "cmake", "setuptools>=45", "setuptools_scm[toml]>=8", "toml", "scikit-build-core>=0.3.3", "pybind11_stubgen", "cmake>=3.26.1"]
16
16
  build-backend = "scikit_build_core.build"
17
17
 
18
18
  ##########################################################################
@@ -31,6 +31,7 @@ metadata.dependencies.provider="ngsolve._scikit_build_core_dependencies"
31
31
  local_scheme = "no-local-version"
32
32
 
33
33
  [tool.cibuildwheel]
34
+ manylinux-x86_64-image = "cerbsim/manylinux_2_28_x86_64_cuda_12.8"
34
35
  skip = """
35
36
  pp*
36
37
  *_i686
@@ -39,7 +40,7 @@ skip = """
39
40
  """
40
41
 
41
42
  [tool.cibuildwheel.linux]
42
- repair-wheel-command = "mv {wheel} {dest_dir} && rename linux_x86_64 manylinux_2_17_x86_64.manylinux2014_x86_64 {dest_dir}/*-linux_x86_64*.whl"
43
+ repair-wheel-command = "mv {wheel} {dest_dir} && rename linux_x86_64 manylinux_2_28_x86_64.manylinux2014_x86_64 {dest_dir}/*-linux_x86_64*.whl"
43
44
 
44
45
  [tool.cibuildwheel.macos]
45
46
  environment = {MACOSX_DEPLOYMENT_TARGET="10.15"}
@@ -42,4 +42,4 @@ install(FILES
42
42
  ../py/conslaw/__init__.py
43
43
  DESTINATION ${install_dir}/conslaw)
44
44
 
45
- ngsolve_generate_stub_files(ngstents)
45
+ # ngsolve_generate_stub_files(ngstents)
@@ -5,10 +5,14 @@
5
5
  using namespace ngsolve;
6
6
  #include "concurrentqueue.h"
7
7
 
8
+
9
+ namespace ngstents {
10
+
8
11
  typedef moodycamel::ConcurrentQueue<int> TQueue;
9
12
  typedef moodycamel::ProducerToken TPToken;
10
13
  typedef moodycamel::ConsumerToken TCToken;
11
14
 
15
+
12
16
  static TQueue queue;
13
17
 
14
18
  using namespace ngstd;
@@ -68,7 +72,7 @@ void RunParallelDependency (const Table<int> & dag, TFUNC func)
68
72
 
69
73
 
70
74
  task_manager -> CreateJob
71
- ([&] (const TaskInfo &)
75
+ ([&] (const TaskInfo & ti)
72
76
  {
73
77
  TPToken ptoken(queue);
74
78
  TCToken ctoken(queue);
@@ -126,5 +130,5 @@ void RunParallelDependency (const Table<int> & dag, TFUNC func)
126
130
  */
127
131
  }
128
132
 
129
-
133
+ }
130
134
  #endif
@@ -0,0 +1,139 @@
1
+ #include "tents.hpp"
2
+ #include <python_ngstd.hpp>
3
+
4
+ typedef CoefficientFunction CF;
5
+
6
+ // python export of tent mesh
7
+ auto ExportTimeSlab(py::module &m)
8
+ {
9
+ auto pyname = "TentSlab";
10
+ auto pydocu = "Tent pitched slab in D + 1 time dimensions";
11
+ py::class_<TentPitchedSlab, shared_ptr<TentPitchedSlab>>
12
+ (m, pyname, pydocu)
13
+ .def(py::init([](shared_ptr<MeshAccess> ma, string method_name, int heapsize)
14
+ {
15
+ ngstents::PitchingMethod method = [method_name]{
16
+ if(method_name == "edge") return ngstents::EEdgeGrad;
17
+ else if(method_name == "vol") return ngstents::EVolGrad;
18
+ else//just for static analyzers. the code should not reach this case
19
+ {
20
+ cout << "Invalid method! Setting edge algorithm as default..." << endl;
21
+ return ngstents::EEdgeGrad;
22
+ }
23
+ }();
24
+ auto tps = TentPitchedSlab(ma, heapsize);
25
+ tps.SetPitchingMethod(method);
26
+ return tps;
27
+ }),
28
+ py::arg("mesh"), py::arg("method") = "edge", py::arg("heapsize") = 1000000
29
+ )
30
+ .def_readonly("mesh", &TentPitchedSlab::ma)
31
+ .def_property_readonly("gradphi",[](shared_ptr<TentPitchedSlab> self) -> shared_ptr<CF>
32
+ {
33
+ return self->cfgradphi;
34
+ })
35
+ .def("SetMaxWavespeed", [](shared_ptr<TentPitchedSlab> self, py::object wavespeed)
36
+ {
37
+ if (auto ws = py::extract<double> (wavespeed); ws.check())
38
+ self->SetMaxWavespeed(ws());
39
+ else if (auto ws = py::extract<shared_ptr<CF>>(wavespeed); ws.check())
40
+ self->SetMaxWavespeed(ws());
41
+ else
42
+ throw Exception("wrong argument type in SetMaxWavespeed");
43
+ })
44
+ .def("PitchTents",[](shared_ptr<TentPitchedSlab> self,
45
+ const double dt,
46
+ const bool local_ct, const double global_ct)
47
+ {
48
+ int dim = self->ma->GetDimension();
49
+ bool success = false;
50
+ switch(dim){
51
+ case 1:
52
+ success = self->PitchTents<1>(dt,local_ct,global_ct);
53
+ break;
54
+ case 2:
55
+ success = self->PitchTents<2>(dt,local_ct,global_ct);
56
+ break;
57
+ case 3:
58
+ success = self->PitchTents<3>(dt,local_ct,global_ct);
59
+ break;
60
+ default:
61
+ throw Exception("TentPitchedSlab not available for dimension "+ToString(dim));
62
+ }
63
+ return success;
64
+ },
65
+ py::arg("dt"), py::arg("local_ct")=false, py::arg("global_ct")=1.0,
66
+ R"(
67
+ Parameters:--
68
+ dt: spacetime slab's height in time.
69
+ local_ct: if True, constrain tent slope by scaling 1/wavespeed
70
+ with a further local mesh-dependent factor.
71
+ global_ct: an additional factor to constrain tent slope, which
72
+ gives flatter tents for smaller values.
73
+
74
+ Returns True upon successful tent meshing.
75
+ -------------)"
76
+ )
77
+ .def("GetNTents", &TentPitchedSlab::GetNTents)
78
+ .def("GetNLayers", &TentPitchedSlab::GetNLayers)
79
+ .def("GetSlabHeight", &TentPitchedSlab::GetSlabHeight)
80
+ .def("MaxSlope", &TentPitchedSlab::MaxSlope)
81
+ .def("GetTent", &TentPitchedSlab::GetTent, pybind11::return_value_policy::reference_internal)
82
+ ////////////////////////////
83
+ // visualization functions
84
+ ////////////////////////////
85
+ .def("TentData1D", [](shared_ptr<TentPitchedSlab> self)
86
+ {
87
+ py::list ret;
88
+ for(int i = 0; i < self->GetNTents(); i++)
89
+ {
90
+ const Tent & tent = self->GetTent(i);
91
+ py::list reti;
92
+ reti.append(py::make_tuple(tent.vertex, tent.ttop,
93
+ tent.tbot, tent.level));
94
+ for(int j = 0; j< tent.nbv.Size(); j++)
95
+ reti.append(py::make_tuple(tent.nbv[j],tent.nbtime[j]));
96
+ ret.append(reti);
97
+ }
98
+ return ret;
99
+ })
100
+ .def("DrawPitchedTentsVTK", [](shared_ptr<TentPitchedSlab> self,
101
+ string vtkfilename)
102
+ {
103
+ if(self->ma->GetDimension() != 2)
104
+ throw Exception("VTK export is only supported for 2D spatial meshes");
105
+ else
106
+ self->DrawPitchedTentsVTK(vtkfilename);
107
+ },
108
+ py::arg("vtkfilename")="vtkoutput",
109
+ R"(
110
+ Export the mesh of tents and intermediate advancing fronts
111
+ to VTK file format for visualization in Paraview.)"
112
+ )
113
+ ;
114
+ }
115
+
116
+
117
+ void ExportTents(py::module & m) {
118
+
119
+ py::class_<Tent, shared_ptr<Tent>>(m, "Tent", "Tent structure")
120
+ .def_readonly("vertex", &Tent::vertex)
121
+ .def_readonly("ttop", &Tent::ttop)
122
+ .def_readonly("tbot", &Tent::tbot)
123
+ .def_readonly("nbv", &Tent::nbv)
124
+ .def_readonly("nbtime", &Tent::nbtime)
125
+ .def_readonly("els", &Tent::els)
126
+ .def_readonly("level", &Tent::level)
127
+ .def_readonly("internal_facets", &Tent::internal_facets)
128
+ .def("MaxSlope", &Tent::MaxSlope);
129
+
130
+ ExportTimeSlab(m);
131
+ }
132
+
133
+
134
+ PYBIND11_MODULE(_pytents, m) {
135
+ py::module_::import("ngsolve");
136
+ m.attr("__name__") = "ngstents";
137
+ m.attr("__package__") = "ngstents";
138
+ ExportTents(m);
139
+ }
@@ -5,6 +5,9 @@
5
5
  #include "paralleldepend.hpp"
6
6
  #include "tentsolver_impl.hpp"
7
7
 
8
+ using namespace ngstents;
9
+
10
+
8
11
  template <typename EQUATION, int DIM, int COMP, int ECOMP, bool SYMBOLIC>
9
12
  void T_ConservationLaw<EQUATION, DIM, COMP, ECOMP, SYMBOLIC>::
10
13
  CalcFluxTent(const Tent & tent, const FlatMatrixFixWidth<COMP> u,
@@ -6,8 +6,10 @@
6
6
 
7
7
  ///////////////////// GradPhiCoefficientFunction ///////////////////////////
8
8
 
9
- void GradPhiCoefficientFunction::GenerateCode(Code &code, FlatArray<int>, int index) const
9
+ void GradPhiCoefficientFunction::GenerateCode(Code &code, FlatArray<int> inputs, int index) const
10
10
  {
11
+ auto dims = Dimensions();
12
+
11
13
  string header = "\n\
12
14
  {flatmatrix} {values};\n\
13
15
  ProxyUserData * {ud} = (ProxyUserData*)mir.GetTransformation().userdata;\n\
@@ -27,7 +29,7 @@ void GradPhiCoefficientFunction::GenerateCode(Code &code, FlatArray<int>, int in
27
29
 
28
30
  string body = "";
29
31
 
30
- for (size_t i = 0; i < this->Dimension(); i++) {
32
+ for (int i = 0; i < this->Dimension(); i++) {
31
33
  body += Var(index, i, this->Dimensions()).Declare("{scal_type}", 0.0);
32
34
  string values = "{values}";
33
35
  if(code.is_simd)
@@ -250,8 +252,8 @@ bool TentPitchedSlab::PitchTents(const double dt, const bool calc_local_ct, cons
250
252
  }
251
253
  //check if slab is complete
252
254
  slab_complete = true;
253
- for(size_t i = 0; i < ma->GetNV(); i++)
254
- if(vmap[i] == int(i))
255
+ for(int i = 0; i < ma->GetNV(); i++)
256
+ if(vmap[i] == i)
255
257
  if(complete_vertices[i] == false)
256
258
  {
257
259
  slab_complete = false;
@@ -264,9 +266,9 @@ bool TentPitchedSlab::PitchTents(const double dt, const bool calc_local_ct, cons
264
266
  {
265
267
  const auto &vrefdt = slabpitcher->GetVerticesReferenceHeight();
266
268
  cout << "Error: the algorithm could not pitch the whole slab" << endl;
267
- size_t iv;
269
+ int iv;
268
270
  for(iv = 0; iv < ma->GetNV(); iv++)
269
- if(vmap[iv] == int(iv) && !complete_vertices[iv]) break;
271
+ if(vmap[iv] == iv && !complete_vertices[iv]) break;
270
272
  if(iv == ma->GetNV())//just as a precaution, let us check that it really didnt pitch.
271
273
  {
272
274
  cout << "Inconsistent data structure. Aborting..." << endl;
@@ -274,7 +276,7 @@ bool TentPitchedSlab::PitchTents(const double dt, const bool calc_local_ct, cons
274
276
  }
275
277
  for(iv = 0; iv < ma->GetNV(); iv++)
276
278
  {
277
- if(vmap[iv] == int(iv) && !complete_vertices[iv])
279
+ if(vmap[iv] == iv && !complete_vertices[iv])
278
280
  {
279
281
  const auto relkt = ktilde[iv] / vrefdt[iv];
280
282
  if(relkt < 1e-10) {continue;}
@@ -391,8 +393,8 @@ bool TentSlabPitcher::GetReadyVertices(double &adv_factor, bool reset_adv_factor
391
393
  const double initial_adv_factor = adv_factor;
392
394
  for(auto ia = 0; ia < n_attempts; ia++)
393
395
  {
394
- for (size_t iv = 0; iv < ma->GetNV(); iv++)
395
- if(vmap[iv] == int(iv) && !complete_vertices[iv])
396
+ for (auto iv = 0; iv < ma->GetNV(); iv++)
397
+ if(vmap[iv] == iv && !complete_vertices[iv])
396
398
  {
397
399
  if (ktilde[iv] > adv_factor * vertex_refdt[iv])
398
400
  if (!vertex_ready[iv])
@@ -418,8 +420,8 @@ bool TentSlabPitcher::GetReadyVertices(double &adv_factor, bool reset_adv_factor
418
420
  void TentSlabPitcher::ComputeVerticesReferenceHeight(const Table<int> &v2v, const Table<int> &v2e, const FlatArray<double> &tau, LocalHeap &lh)
419
421
  {
420
422
  this->vertex_refdt = std::numeric_limits<double>::max();
421
- for (size_t i = 0; i < this->ma->GetNV(); i++)
422
- if(vmap[i]==int(i)) // non-periodic
423
+ for (auto i = 0; i < this->ma->GetNV(); i++)
424
+ if(vmap[i]==i) // non-periodic
423
425
  {
424
426
  this->vertex_refdt[i] = this->GetPoleHeight(i, tau, v2v[i],v2e[i],lh);
425
427
  }
@@ -427,11 +429,11 @@ void TentSlabPitcher::ComputeVerticesReferenceHeight(const Table<int> &v2v, cons
427
429
  }
428
430
 
429
431
  std::tuple<int,int> TentSlabPitcher::PickNextVertexForPitching(const FlatArray<int> &ready_vertices,
430
- const FlatArray<double> &,
432
+ const FlatArray<double> &ktilde,
431
433
  const FlatArray<int> &vertices_level){
432
434
  int minlevel = std::numeric_limits<int>::max();
433
435
  int posmin = -1;
434
- for(size_t i = 0; i < ready_vertices.Size(); i++)
436
+ for(auto i = 0; i < ready_vertices.Size(); i++)
435
437
  if(vertices_level[ready_vertices[i]] < minlevel)
436
438
  {
437
439
  minlevel = vertices_level[ready_vertices[i]];
@@ -541,7 +543,7 @@ std::tuple<Table<int>,Table<int>> TentSlabPitcher::InitializeMeshData(LocalHeap
541
543
  for ( ; !create_per_verts.Done(); create_per_verts++)
542
544
  {
543
545
  for(auto i : Range(vmap))
544
- if(vmap[i]!=int(i))
546
+ if(vmap[i]!=i)
545
547
  create_per_verts.Add(vmap[i],i);
546
548
  }
547
549
 
@@ -555,7 +557,7 @@ std::tuple<Table<int>,Table<int>> TentSlabPitcher::InitializeMeshData(LocalHeap
555
557
  }
556
558
  else
557
559
  {
558
- this->local_ctau = [](const int, const int){return 1;};
560
+ this->local_ctau = [](const int v, const int el_or_edge){return 1;};
559
561
  }
560
562
  return std::make_tuple(v2v, v2e);
561
563
  }
@@ -622,7 +624,7 @@ void TentSlabPitcher::RemovePeriodicEdges(BitArray &fine_edges)
622
624
 
623
625
 
624
626
 
625
- template <int DIM> double VolumeGradientPitcher<DIM>::GetPoleHeight(const int vi, const FlatArray<double> & tau, FlatArray<int>, FlatArray<int>, LocalHeap & lh) const{
627
+ template <int DIM> double VolumeGradientPitcher<DIM>::GetPoleHeight(const int vi, const FlatArray<double> & tau, FlatArray<int> nbv, FlatArray<int> nbe, LocalHeap & lh) const{
626
628
  HeapReset hr(lh);
627
629
  constexpr auto el_type = EL_TYPE(DIM);
628
630
  //number of vertices of the current element (always the simplex associated to DIM)
@@ -645,7 +647,7 @@ template <int DIM> double VolumeGradientPitcher<DIM>::GetPoleHeight(const int vi
645
647
  //numerical tolerance (NOT YET SCALED)
646
648
  constexpr double num_tol = std::numeric_limits<double>::epsilon();
647
649
  const auto nels = els.Size();
648
- for (size_t iel = 0; iel < nels; iel++)
650
+ for (int iel = 0; iel < nels; iel++)
649
651
  {
650
652
  const auto el = els[iel];
651
653
  ElementId ei(VOL,el);
@@ -715,7 +717,9 @@ template <int DIM> double VolumeGradientPitcher<DIM>::GetPoleHeight(const int vi
715
717
  }
716
718
 
717
719
  template <int DIM>
718
- Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Table<int> &){
720
+ Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Table<int> &v2e){
721
+ constexpr auto el_type = EL_TYPE(DIM);//simplex of dimension dim
722
+ constexpr auto n_el_vertices = DIM + 1;//number of vertices of that simplex
719
723
 
720
724
  const auto n_mesh_vertices = ma->GetNV();
721
725
  //this table will contain the local mesh-dependent constant
@@ -726,10 +730,10 @@ Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Tab
726
730
  //just calculating the size of the table
727
731
  for(auto vi : IntRange(0, n_mesh_vertices))
728
732
  {
729
- if(vi != size_t(vmap[vi])) {continue;}
733
+ if(vi != vmap[vi]) {continue;}
730
734
  this->GetVertexElements(vi,vertex_els);
731
735
  const auto n_vert_els = vertex_els.Size();
732
- for(auto _ : IntRange(0, n_vert_els))
736
+ for(auto el : IntRange(0, n_vert_els))
733
737
  {create_local_ctau.Add(vi,0);}
734
738
  }
735
739
  create_local_ctau++;// it is in insert mode
@@ -739,7 +743,7 @@ Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Tab
739
743
  //therefore it must be ensured that ctau <=1
740
744
  for(auto vi : IntRange(0,n_mesh_vertices))
741
745
  {
742
- if(vi != size_t(vmap[vi])){continue;}
746
+ if(vi != vmap[vi]){continue;}
743
747
  this->GetVertexElements(vi,vertex_els);
744
748
  for(auto iel : IntRange(0,vertex_els.Size()))
745
749
  {
@@ -769,7 +773,7 @@ Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Tab
769
773
  for(auto edge : face_edges)
770
774
  {
771
775
  auto pnts = ma->GetEdgePNums(edge);
772
- if(size_t(vmap[pnts[0]]) != vi && size_t(vmap[pnts[1]]) != vi)
776
+ if(vmap[pnts[0]] != vi && vmap[pnts[1]] != vi)
773
777
  {
774
778
  opposite_edge = edge_len[edge];
775
779
  }
@@ -790,7 +794,7 @@ Table<double> VolumeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Tab
790
794
  }
791
795
 
792
796
  template <int DIM>
793
- double EdgeGradientPitcher<DIM>::GetPoleHeight(const int vi, const FlatArray<double> & tau, FlatArray<int> nbv, FlatArray<int> nbe, LocalHeap &) const{
797
+ double EdgeGradientPitcher<DIM>::GetPoleHeight(const int vi, const FlatArray<double> & tau, FlatArray<int> nbv, FlatArray<int> nbe, LocalHeap & lh) const{
794
798
  double kt = std::numeric_limits<double>::max();
795
799
  for (int nb_index : nbv.Range())
796
800
  {
@@ -821,9 +825,9 @@ Table<double> EdgeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Table
821
825
  //just calculating the size of the table
822
826
  for(auto vi : IntRange(0, n_mesh_vertices))
823
827
  {
824
- if(vi != size_t(vmap[vi])) {continue;}
828
+ if(vi != vmap[vi]) {continue;}
825
829
  const auto n_edges_vert = v2e[vi].Size();
826
- for(auto _ : IntRange(0, n_edges_vert))
830
+ for(auto el : IntRange(0, n_edges_vert))
827
831
  {create_local_ctau.Add(vi,0);}
828
832
  }
829
833
  create_local_ctau++;// it is in insert mode
@@ -844,7 +848,7 @@ Table<double> EdgeGradientPitcher<DIM>::CalcLocalCTau(LocalHeap &lh, const Table
844
848
  //projection of the gradient over the respective face
845
849
  for(auto vi : IntRange(0, n_mesh_vertices))
846
850
  {
847
- if(vi != size_t(vmap[vi])){continue;}
851
+ if(vi != vmap[vi]){continue;}
848
852
  for(auto edge : v2e[vi])
849
853
  {
850
854
  //gets the elements that have this edge as a side
@@ -1034,7 +1038,7 @@ void TentPitchedSlab::DrawPitchedTentsVTK(string filename)
1034
1038
 
1035
1039
 
1036
1040
  out << "CELL_TYPES " << cells.Size() << endl;
1037
- for (auto _ : cells)
1041
+ for (auto c : cells)
1038
1042
  out << "10 " << endl;
1039
1043
 
1040
1044
  out << "CELL_DATA " << cells.Size() << endl;
@@ -141,7 +141,7 @@ public:
141
141
  : CoefficientFunction(adim)
142
142
  { }
143
143
 
144
- double Evaluate(const BaseMappedIntegrationPoint &) const
144
+ double Evaluate(const BaseMappedIntegrationPoint & ip) const
145
145
  {
146
146
  throw Exception ("Evaluate not implemented for BaseMappedIntegrationPoint!");
147
147
  }
@@ -199,8 +199,8 @@ public:
199
199
 
200
200
  // Constructor and initializers
201
201
  TentPitchedSlab(shared_ptr<MeshAccess> ama, int heapsize) :
202
- dt(0), cmax(nullptr), has_been_pitched(false), nlayers(0),
203
- lh(heapsize, "Tents heap"), ma(ama)
202
+ dt(0), ma(ama), cmax(nullptr), nlayers(0),
203
+ has_been_pitched(false), lh(heapsize, "Tents heap")
204
204
  {
205
205
  cfgradphi = make_shared<GradPhiCoefficientFunction>(ma->GetDimension());
206
206
  };
@@ -9,7 +9,7 @@ classifiers = [
9
9
  "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
10
10
  ]
11
11
  dependencies = [
12
- "ngsolve==6.2.2503",
12
+ "ngsolve==6.2.2504",
13
13
  ]
14
14
 
15
15
 
@@ -18,7 +18,7 @@ Documentation = "https://paulst.github.io/NGSTrefftz"
18
18
  Repository = "https://github.com/PaulSt/ngstrefftz"
19
19
 
20
20
  [build-system]
21
- requires = ["ngsolve==6.2.2503",
21
+ requires = ["ngsolve==6.2.2504",
22
22
  "scikit-build-core>=0.9.0",
23
23
  "pybind11_stubgen",
24
24
  "setuptools>=45",
@@ -63,7 +63,7 @@ namespace ngcomp
63
63
 
64
64
  CSR basismat = TWaveBasis<D + 1>::Basis (order, 0, fosystem);
65
65
 
66
- RunParallelDependency (tps->tent_dependency, [&] (int tentnr) {
66
+ ngstents::RunParallelDependency (tps->tent_dependency, [&] (int tentnr) {
67
67
  LocalHeap slh = lh.Split (); // split to threads
68
68
  const Tent *tent = &tps->GetTent (tentnr);
69
69
 
@@ -880,7 +880,7 @@ namespace ngcomp
880
880
  template <int D> double TWaveTents<D>::MaxAdiam ()
881
881
  {
882
882
  double h = 0.0;
883
- RunParallelDependency (tps->tent_dependency, [&] (int tentnr) {
883
+ ngstents::RunParallelDependency (tps->tent_dependency, [&] (int tentnr) {
884
884
  const Tent *tent = &tps->GetTent (tentnr);
885
885
  h = max (h, TentAdiam (tent));
886
886
  });
@@ -948,7 +948,7 @@ namespace ngcomp
948
948
  // cout << "solving qt " << (this->tps)->GetNTents() << " tents in " << D
949
949
  // << "+1 dimensions..." << endl;
950
950
 
951
- RunParallelDependency ((this->tps)->tent_dependency, [&] (int tentnr) {
951
+ ngstents::RunParallelDependency ((this->tps)->tent_dependency, [&] (int tentnr) {
952
952
  LocalHeap slh = lh.Split (); // split to threads
953
953
  const Tent *tent = &(this->tps)->GetTent (tentnr);
954
954