ngstrefftz 0.3.2602.dev4__tar.gz → 0.3.2602.dev9__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 (159) hide show
  1. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/build.yml +11 -10
  2. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/PKG-INFO +4 -2
  3. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/_version.py +3 -3
  4. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/requirements.txt +2 -2
  5. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/.github/workflows/build.yml +5 -38
  6. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/_config.yml +5 -17
  7. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/_toc.yml +2 -3
  8. ngstrefftz-0.3.2602.dev9/external_dependencies/ngstents/docs/assets/css/style.scss +2 -0
  9. ngstrefftz-0.3.2602.dev9/external_dependencies/ngstents/docs/do +2 -0
  10. ngstrefftz-0.3.2602.dev9/external_dependencies/ngstents/docs/figs/ngsTentsLogo.png +0 -0
  11. ngstrefftz-0.3.2602.dev9/external_dependencies/ngstents/docs/index.ipynb +49 -0
  12. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/pyproject.toml +8 -1
  13. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/pyproject.toml +7 -4
  14. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/embtrefftz.cpp +64 -19
  15. ngstrefftz-0.3.2602.dev9/src/planewavefe.hpp +402 -0
  16. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/specialintegrator.cpp +4 -4
  17. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/trefftzfespace.cpp +3 -4
  18. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/twavetents.cpp +24 -0
  19. ngstrefftz-0.3.2602.dev4/external_dependencies/ngstents/docs/INDEX.ipynb +0 -43
  20. ngstrefftz-0.3.2602.dev4/external_dependencies/ngstents/docs/conf.py +0 -99
  21. ngstrefftz-0.3.2602.dev4/external_dependencies/ngstents/docs/index.rst +0 -41
  22. ngstrefftz-0.3.2602.dev4/external_dependencies/ngstents/docs/intro.md +0 -0
  23. ngstrefftz-0.3.2602.dev4/external_dependencies/ngstents/docs/readme.rst +0 -2
  24. ngstrefftz-0.3.2602.dev4/src/planewavefe.hpp +0 -381
  25. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.clang-format +0 -0
  26. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/fix_auditwheel_policy.py +0 -0
  27. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/pyodide/Dockerfile +0 -0
  28. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  29. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/pyodide/merge.py +0 -0
  30. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.github/workflows/pyodide/requirements.txt +0 -0
  31. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.gitignore +0 -0
  32. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/.gitmodules +0 -0
  33. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/CMakeLists.txt +0 -0
  34. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/CONTRIBUTING.md +0 -0
  35. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/Dockerfile +0 -0
  36. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/LICENSE +0 -0
  37. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/README.md +0 -0
  38. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/Doxyfile.in +0 -0
  39. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/_static/breadcrumbs.html +0 -0
  40. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/_static/css/mytheme.css +0 -0
  41. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/conf.py +0 -0
  42. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/contrib.rst +0 -0
  43. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/docu.rst +0 -0
  44. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/index.rst +0 -0
  45. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/intro.rst +0 -0
  46. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  47. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz-helm.ipynb +0 -0
  48. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  49. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  50. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  51. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/embTrefftz.ipynb +0 -0
  52. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/helmholtz.ipynb +0 -0
  53. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/index.ipynb +0 -0
  54. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/laplace.ipynb +0 -0
  55. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/qtelliptic.ipynb +0 -0
  56. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/qtwave.ipynb +0 -0
  57. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/tunfitted.ipynb +0 -0
  58. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/twave.ipynb +0 -0
  59. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/notebooks/twavetents.ipynb +0 -0
  60. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/paper/codemeta.json +0 -0
  61. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/paper/paper.bib +0 -0
  62. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/paper/paper.md +0 -0
  63. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/docs/readme.rst +0 -0
  64. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/.gitignore +0 -0
  65. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/README.md +0 -0
  66. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  67. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  68. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  69. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  70. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  71. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  72. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  73. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  74. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  75. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  76. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  77. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  78. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  79. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  80. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  81. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  82. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  83. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  84. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  85. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  86. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  87. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  88. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  89. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  90. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  91. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  92. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  93. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  94. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  95. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/py/__init__.py +0 -0
  96. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  97. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  98. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  99. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  100. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  101. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/advection.cpp +0 -0
  102. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  103. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  104. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  105. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/euler.cpp +0 -0
  106. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  107. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/ngsolve_addon.cmake +0 -0
  108. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  109. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  110. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  111. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  112. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  113. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/tents.cpp +0 -0
  114. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/tents.hpp +0 -0
  115. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  116. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  117. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  118. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  119. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/src/wave.cpp +0 -0
  120. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  121. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  122. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  123. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  124. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  125. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/__init__.py +0 -0
  126. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/airy.cpp +0 -0
  127. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/boxintegral.cpp +0 -0
  128. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/boxintegral.hpp +0 -0
  129. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/condensedg.cpp +0 -0
  130. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/condensedg.hpp +0 -0
  131. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/diffopmapped.hpp +0 -0
  132. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/embtrefftz.hpp +0 -0
  133. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/mesh1dtents.cpp +0 -0
  134. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/mesh1dtents.hpp +0 -0
  135. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/monomialfespace.cpp +0 -0
  136. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/monomialfespace.hpp +0 -0
  137. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/ngsttd.hpp +0 -0
  138. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/planewavefe.cpp +0 -0
  139. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/pufe.cpp +0 -0
  140. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/pufe.hpp +0 -0
  141. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/pufespace.cpp +0 -0
  142. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/pufespace.hpp +0 -0
  143. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/python_trefftz.cpp +0 -0
  144. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/scalarmappedfe.cpp +0 -0
  145. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/scalarmappedfe.hpp +0 -0
  146. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/specialcoefficientfunction.cpp +0 -0
  147. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/specialcoefficientfunction.hpp +0 -0
  148. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/specialintegrator.hpp +0 -0
  149. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/tp0fespace.cpp +0 -0
  150. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/tp0fespace.hpp +0 -0
  151. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/trefftzfespace.hpp +0 -0
  152. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/src/twavetents.hpp +0 -0
  153. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/boxint.py +0 -0
  154. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/conforming_trefftz.py +0 -0
  155. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/dg.py +0 -0
  156. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/embt.py +0 -0
  157. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/embtrefftz_gtest.cpp +0 -0
  158. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/tents.py +0 -0
  159. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev9}/test/trefftz.py +0 -0
@@ -45,14 +45,14 @@ jobs:
45
45
  submodules: true
46
46
  path: "NGSTrefftz"
47
47
  fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
48
- - uses: actions/setup-python@v6
49
- with:
50
- python-version: "3.13"
48
+ #- uses: actions/setup-python@v6
49
+ #with:
50
+ #python-version: "3.13"
51
51
  - name: install ngstrefftz
52
52
  #env:
53
53
  #NGSTREFFTZ_USE_GTEST: 'ON'
54
54
  run: |
55
- python3 -m pip install --break-system-packages numpy scipy
55
+ python3 -m pip install --break-system-packages numpy scipy
56
56
  cd NGSTrefftz && python3 -m pip install --break-system-packages . -v
57
57
  - name: run test
58
58
  run: cd $GITHUB_WORKSPACE/NGSTrefftz/test && python3 -m doctest -v *.py
@@ -75,7 +75,8 @@ jobs:
75
75
  - name: install ngsolve
76
76
  run: |
77
77
  cd NGSTrefftz
78
- pip install numpy scipy tomli mkl-devel==2025.* mkl==2025.*
78
+ pip install tomli numpy scipy
79
+ # pip install mkl-devel==2025.* mkl==2025.*
79
80
  # pip install ngsolve
80
81
  python3 <<'PY'
81
82
  import tomllib, pathlib, subprocess, sys
@@ -107,12 +108,12 @@ jobs:
107
108
  - os: ubuntu-latest
108
109
  doit: ${{ inputs.level == 'quick' }}
109
110
  cibw_build: cp313-*
110
- - os: windows-2022
111
+ - os: windows-2025
111
112
  cibw-arch: AMD64
112
- cmake-generator: "Visual Studio 16 2019"
113
+ cmake-generator: "Visual Studio 17 2022"
113
114
  cmake_generator_platform: "x64"
114
115
  doit: ${{ inputs.level != 'quick' }}
115
- cibw_build: cp310-* cp311-* cp312-* cp313-* cp314-*
116
+ cibw_build: cp311-* cp312-* cp313-* cp314-*
116
117
  env:
117
118
  CIBW_BUILD: ${{ matrix.cibw_build }}
118
119
  steps:
@@ -267,8 +268,8 @@ jobs:
267
268
  merge-multiple: true
268
269
  #- name: Display structure of downloaded files
269
270
  #run: ls -R $GITHUB_WORKSPACE/wheels
270
- #- name: install ngstrefftz
271
- #run: pip install $GITHUB_WORKSPACE/wheels/*-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
271
+ - name: install ngstrefftz
272
+ run: pip install $GITHUB_WORKSPACE/wheels/*-cp313-cp313-manylinux_2_28_x86_64.manylinux2014_x86_64.whl
272
273
  - name: Build Sphinx HTML
273
274
  run: sphinx-build -b html $GITHUB_WORKSPACE/NGSTrefftz/docs $GITHUB_WORKSPACE/NGSTrefftz/docs/_build/html
274
275
  #- name: Download pyodide stuff
@@ -1,13 +1,15 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngstrefftz
3
- Version: 0.3.2602.dev4
3
+ Version: 0.3.2602.dev9
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.10
10
- Requires-Dist: ngsolve==6.2.2601
10
+ Requires-Dist: mkl<2026.0,>=2024; platform_system != "Darwin"
11
+ Requires-Dist: mkl-devel<2026.0,>=2024; platform_system != "Darwin"
12
+ Requires-Dist: ngsolve==6.2.2603
11
13
  Description-Content-Type: text/markdown
12
14
 
13
15
  # NGSTrefftz
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.3.2602.dev4'
22
- __version_tuple__ = version_tuple = (0, 3, 2602, 'dev4')
21
+ __version__ = version = '0.3.2602.dev9'
22
+ __version_tuple__ = version_tuple = (0, 3, 2602, 'dev9')
23
23
 
24
- __commit_id__ = commit_id = 'g6b5d55733'
24
+ __commit_id__ = commit_id = 'g95bb94f98'
@@ -22,5 +22,5 @@ numpy>=2.0.0
22
22
  scipy>=1.13.1
23
23
  webgui-jupyter-widgets>=0.2.35
24
24
 
25
- ngstrefftz==0.3.2506
26
- xfem==2.1.2506
25
+ #ngstrefftz==0.3.2506
26
+ xfem==2.1.2603
@@ -13,8 +13,10 @@ jobs:
13
13
  runs-on: ${{ matrix.os }}
14
14
  strategy:
15
15
  matrix:
16
- os: [ubuntu-latest, macos-13]
16
+ os: [ubuntu-latest, macos-latest]
17
17
  include:
18
+ - os: ubuntu-latest
19
+ cibw_build: cp313-*
18
20
  - os: windows-2022
19
21
  cibw-arch: AMD64
20
22
  cmake-generator: "Visual Studio 17 2022"
@@ -28,11 +30,11 @@ jobs:
28
30
  fetch-depth: 0
29
31
 
30
32
  - name: Build wheels
31
- uses: pypa/cibuildwheel@v2.19.0
33
+ uses: pypa/cibuildwheel@@v2.23.2
32
34
 
33
35
  - uses: actions/upload-artifact@v4
34
36
  with:
35
- name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
37
+ name: cibw-wheels-${{ matrix.os }}
36
38
  path: ./wheelhouse/*.whl
37
39
 
38
40
  build_sdist:
@@ -72,38 +74,3 @@ jobs:
72
74
  skip-existing: true
73
75
  password: ${{ secrets.PYPI_API_TOKEN }}
74
76
 
75
- docs:
76
- runs-on: ubuntu-24.04
77
- environment:
78
- name: github-pages
79
- url: ${{ steps.deployment.outputs.page_url }}
80
- permissions:
81
- pages: write
82
- id-token: write
83
- steps:
84
- - uses: actions/checkout@v4
85
- with:
86
- fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
87
- submodules: 'False'
88
- path: '.'
89
- - name: apt-get
90
- run: sudo apt-get update && DEBIAN_FRONTEND="noninteractive" sudo apt-get -y install python3-testresources npm nodejs pandoc -y
91
- - name: pip install requirements
92
- run: |
93
- python3 -m pip install --break-system-packages build webgui_jupyter_widgets scikit-build-core pybind11_stubgen cmake ngsolve "numpy<2" matplotlib setuptools-scm "ninja>=1.5" toml "setuptools_scm[toml]>=8"
94
- python3 -m build -wn .
95
- python3 -m pip install --break-system-packages dist/*.whl
96
- python3 -c 'import ngstents'
97
- - name: Build the book
98
- run: |
99
- cd docs
100
- python3 -m pip install --break-system-packages jupyter-book
101
- jupyter-book build .
102
- - name: Upload artifact
103
- uses: actions/upload-pages-artifact@v3
104
- with:
105
- path: "docs/_build/html"
106
- - name: Deploy to GitHub Pages
107
- if: github.ref == 'refs/heads/master'
108
- id: deployment
109
- uses: actions/deploy-pages@v4
@@ -1,34 +1,22 @@
1
1
  # Book settings
2
2
  # Learn more at https://jupyterbook.org/customize/config.html
3
3
 
4
- title: NGS-Tents
4
+ title: ngsTents
5
5
  author: Jay Gopalakrishnan
6
+ logo: figs/ngsTentsLogo.png
6
7
  copyright : "2024" # Copyright year to be placed in the footer
7
8
 
8
9
  repository:
9
10
  url: https://github.com/jayggg/ngstents
11
+ path_to_book: docs # Optional path to your book, relative to the repository root
12
+ branch: gh-pages # Which repo branch to use when creating links
10
13
 
11
14
  # Force re-execution of notebooks on each build.
12
15
  # See https://jupyterbook.org/content/execute.html
13
16
  execute:
14
- execute_notebooks: force
17
+ execute_notebooks: auto
15
18
  timeout: 5000
16
19
 
17
- # Define the name of the latex output file for PDF builds
18
- # latex:
19
- # latex_documents:
20
- # targetname: ngstentsdoc.tex
21
- #
22
- # Add a bibtex file so that we can create citations
23
- # bibtex_bibfiles:
24
- # - references.bib
25
- #
26
- # Information about where the book exists on the web
27
- # repository:
28
- # url: https://jayggg.github.io/ngstents/
29
- # path_to_book: docs # Optional path to your book, relative to the repository root
30
- # branch: master # Which branch of the repository should be used when creating links (optional)
31
-
32
20
 
33
21
  # Add GitHub buttons to your book
34
22
  # See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
@@ -1,11 +1,10 @@
1
1
  # Table of contents
2
- # Learn more at https://jupyterbook.org/customize/toc.html
3
2
 
4
3
  format: jb-book
5
- root: readme
4
+ root: index.ipynb
6
5
 
7
6
  parts:
8
- - caption: NGS-Tents Concepts & Usage
7
+ - caption: Concepts & Usage
9
8
  numbered: False
10
9
  chapters:
11
10
  - file: StartPitching.ipynb
@@ -0,0 +1,2 @@
1
+ /* docs/assets/css/style.scss */
2
+ body { background: #fff; }
@@ -0,0 +1,2 @@
1
+ jupyter-book build .
2
+ ghp-import -n -p -f _build/html
@@ -0,0 +1,49 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "096ca91a-ba85-4b6c-b103-72bd888f6567",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Spacetime Tents in NGSolve"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "markdown",
13
+ "id": "b694b134-565e-4208-841e-3f7ac8b082c1",
14
+ "metadata": {},
15
+ "source": [
16
+ "The **ngsTents** package is a c++ extension of the NGSolve finite element library, designed to ease experimentation with solvers based on spacetime tents for hyperbolic systems. A python front-end (`import ngstents`) allows new equations (linear or nonlinear conservation laws) to be solved by easily defining required fluxes and numerical fluxes in a few lines of code."
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "markdown",
21
+ "id": "3e80540e-f0bd-414a-93af-f7a26d5ed062",
22
+ "metadata": {},
23
+ "source": [
24
+ "This documentation introduces *concepts* on which ngsTents are based on as well as the *usage* of the package. It is structured as two hands-on lecture notebooks. These lectures were first presented in an NGSolve User Meeting and were prepared by [Jay Gopalakrishnan](https://web.pdx.edu/~gjay/). Send all comments to gjay@pdx.edu or pull requests via [ngstents repository in GitHub](https://github.com/jayggg/ngstents). \n"
25
+ ]
26
+ }
27
+ ],
28
+ "metadata": {
29
+ "kernelspec": {
30
+ "display_name": "Python 3 (ipykernel)",
31
+ "language": "python",
32
+ "name": "python3"
33
+ },
34
+ "language_info": {
35
+ "codemirror_mode": {
36
+ "name": "ipython",
37
+ "version": 3
38
+ },
39
+ "file_extension": ".py",
40
+ "mimetype": "text/x-python",
41
+ "name": "python",
42
+ "nbconvert_exporter": "python",
43
+ "pygments_lexer": "ipython3",
44
+ "version": "3.14.0"
45
+ }
46
+ },
47
+ "nbformat": 4,
48
+ "nbformat_minor": 5
49
+ }
@@ -12,7 +12,14 @@ classifiers = [
12
12
  ]
13
13
 
14
14
  [build-system]
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"]
15
+ requires = ["ngsolve>=6.2.2506",
16
+ "matplotlib",
17
+ "setuptools>=45",
18
+ "setuptools_scm>=8",
19
+ "toml; python_version >= '3.11'",
20
+ "tomli>=1.1.0; python_version < '3.11'",
21
+ "scikit-build-core>=0.9.0",
22
+ "cmake>=3.26.1"]
16
23
  build-backend = "scikit_build_core.build"
17
24
 
18
25
  ##########################################################################
@@ -9,7 +9,9 @@ classifiers = [
9
9
  "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
10
10
  ]
11
11
  dependencies = [
12
- "ngsolve==6.2.2601",
12
+ "mkl>=2024,<2026.0 ; platform_system != 'Darwin'",
13
+ "mkl-devel>=2024,<2026.0 ; platform_system != 'Darwin'",
14
+ "ngsolve==6.2.2603",
13
15
  ]
14
16
 
15
17
 
@@ -18,15 +20,16 @@ Documentation = "https://paulst.github.io/NGSTrefftz"
18
20
  Repository = "https://github.com/PaulSt/ngstrefftz"
19
21
 
20
22
  [build-system]
21
- requires = ["ngsolve==6.2.2601",
23
+ requires = ["ngsolve==6.2.2603",
22
24
  "scikit-build-core>=0.9.0",
23
25
  "pybind11_stubgen",
24
26
  "setuptools>=45",
25
27
  "setuptools_scm>=8",
26
28
  "toml; python_version >= '3.11'",
27
29
  "tomli>=1.1.0; python_version < '3.11'",
28
- "mkl==2025.* ; platform_system != 'Darwin'",
29
- "mkl-devel==2025.* ; platform_system != 'Darwin'"]
30
+ "mkl>=2024,<2026.0 ; platform_system != 'Darwin'",
31
+ "mkl-devel>=2024,<2026.0 ; platform_system != 'Darwin'",
32
+ ]
30
33
  build-backend = "scikit_build_core.build"
31
34
 
32
35
  [tool.scikit-build]
@@ -402,23 +402,50 @@ Elmats2Sparse (const FlatArray<optional<Matrix<SCAL>>> &etmats,
402
402
 
403
403
  void calculateBilinearFormIntegrators (
404
404
  const SumOfIntegrals &bf,
405
- Array<shared_ptr<BilinearFormIntegrator>> bfis[4])
405
+ Array<shared_ptr<BilinearFormIntegrator>> bfis[4],
406
+ shared_ptr<MeshAccess> ma)
406
407
  {
407
408
  for (auto icf : bf.icfs)
408
409
  {
409
410
  DifferentialSymbol &dx = icf->dx;
410
- bfis[dx.vb] += icf->MakeBilinearFormIntegrator ();
411
+ shared_ptr<BilinearFormIntegrator> bfi
412
+ = icf->MakeBilinearFormIntegrator ();
413
+
414
+ if (dx.definedon) // DifferentialSymbol cannot set definedon region as it
415
+ // has no mesh access.
416
+ {
417
+ if (auto definedon_string = get_if<string> (&*dx.definedon);
418
+ definedon_string)
419
+ {
420
+ Region reg (ma, dx.vb, *definedon_string);
421
+ bfi->SetDefinedOn (reg.Mask ());
422
+ }
423
+ }
424
+
425
+ bfis[dx.vb] += bfi;
411
426
  }
412
427
  }
413
428
 
414
429
  void calculateLinearFormIntegrators (
415
430
  const SumOfIntegrals &trhs,
416
- Array<shared_ptr<LinearFormIntegrator>> lfis[4])
431
+ Array<shared_ptr<LinearFormIntegrator>> lfis[4], shared_ptr<MeshAccess> ma)
417
432
  {
418
433
  for (auto icf : trhs.icfs)
419
434
  {
420
435
  DifferentialSymbol &dx = icf->dx;
421
- lfis[dx.vb] += icf->MakeLinearFormIntegrator ();
436
+ shared_ptr<LinearFormIntegrator> lfi = icf->MakeLinearFormIntegrator ();
437
+
438
+ if (dx.definedon)
439
+ {
440
+ if (auto definedon_string = get_if<string> (&*dx.definedon);
441
+ definedon_string)
442
+ {
443
+ Region reg (ma, dx.vb, *definedon_string);
444
+ lfi->SetDefinedOn (reg.Mask ());
445
+ }
446
+ }
447
+
448
+ lfis[dx.vb] += lfi;
422
449
  }
423
450
  }
424
451
 
@@ -458,14 +485,31 @@ bool fesHasInactiveDofs (const FESpace &fes)
458
485
  }
459
486
 
460
487
  bool bfIsDefinedOnElement (const SumOfIntegrals &bf,
461
- const Ngs_Element &mesh_element)
488
+ const Ngs_Element &mesh_element,
489
+ shared_ptr<MeshAccess> ma)
462
490
  {
463
491
  for (auto icf : bf.icfs)
464
492
  {
465
- if (icf->dx.vb == mesh_element.VB ())
466
- if ((!icf->dx.definedonelements)
467
- || (icf->dx.definedonelements->Test (mesh_element.Nr ())))
468
- return true;
493
+ if (icf->dx.vb != mesh_element.VB ())
494
+ continue;
495
+
496
+ if (!icf->dx.definedonelements
497
+ || icf->dx.definedonelements->Test (mesh_element.Nr ()))
498
+ return true;
499
+
500
+ if (icf->dx.definedon) // check region
501
+ {
502
+ if (auto definedon_string = get_if<string> (&*icf->dx.definedon);
503
+ definedon_string)
504
+ {
505
+ Region reg (ma, icf->dx.vb, *definedon_string);
506
+ const BitArray &definedon = reg.Mask ();
507
+ size_t mat = ma->GetElIndex (mesh_element);
508
+ if (mat >= definedon.Size ())
509
+ return false;
510
+ return definedon.Test (mat);
511
+ }
512
+ }
469
513
  }
470
514
  return false;
471
515
  }
@@ -651,7 +695,8 @@ void calculateParticularSolution (
651
695
  {
652
696
  for (const auto &lfi : lfis[vorb])
653
697
  {
654
- if (lfi->DefinedOnElement (ei.Nr ()))
698
+ if (lfi->DefinedOnElement (ei.Nr ())
699
+ && lfi->DefinedOn (ma.GetElIndex (ei)))
655
700
  {
656
701
  auto &mapped_trafo
657
702
  = trafo.AddDeformation (lfi->GetDeformation ().get (), mlh);
@@ -756,15 +801,15 @@ namespace ngcomp
756
801
  Array<shared_ptr<BilinearFormIntegrator>> op_integrators[4],
757
802
  cop_lhs_integrators[4], cop_rhs_integrators[4];
758
803
  if (top)
759
- calculateBilinearFormIntegrators (*top, op_integrators);
804
+ calculateBilinearFormIntegrators (*top, op_integrators, ma);
760
805
  if (cop && crhs)
761
806
  {
762
- calculateBilinearFormIntegrators (*cop, cop_lhs_integrators);
763
- calculateBilinearFormIntegrators (*crhs, cop_rhs_integrators);
807
+ calculateBilinearFormIntegrators (*cop, cop_lhs_integrators, ma);
808
+ calculateBilinearFormIntegrators (*crhs, cop_rhs_integrators, ma);
764
809
  }
765
810
  Array<shared_ptr<BilinearFormIntegrator>> fes_ip_integrators[4];
766
811
  if (fes_ip)
767
- calculateBilinearFormIntegrators (*fes_ip, fes_ip_integrators);
812
+ calculateBilinearFormIntegrators (*fes_ip, fes_ip_integrators, ma);
768
813
 
769
814
  Array<optional<Matrix<SCAL>>> etmats (num_elements);
770
815
  Array<optional<Matrix<SCAL>>> etmats_trefftz_inv (num_elements);
@@ -779,7 +824,7 @@ namespace ngcomp
779
824
  particular_solution_vec->operator= (0.0);
780
825
  Array<shared_ptr<LinearFormIntegrator>> lfis[4];
781
826
  if (trhs)
782
- calculateLinearFormIntegrators (*trhs, lfis);
827
+ calculateLinearFormIntegrators (*trhs, lfis, ma);
783
828
 
784
829
  // we compute embedding matrices E_C, E_T and particular solution u_p that
785
830
  // satisfy
@@ -797,9 +842,9 @@ namespace ngcomp
797
842
 
798
843
  // skip this element, if the bilinear forms are not defined
799
844
  // on this element
800
- if (!(top && bfIsDefinedOnElement (*top, mesh_element))
801
- && !(cop && bfIsDefinedOnElement (*cop, mesh_element))
802
- && !(crhs && bfIsDefinedOnElement (*crhs, mesh_element)))
845
+ if (!(top && bfIsDefinedOnElement (*top, mesh_element, ma))
846
+ && !(cop && bfIsDefinedOnElement (*cop, mesh_element, ma))
847
+ && !(crhs && bfIsDefinedOnElement (*crhs, mesh_element, ma)))
803
848
  return;
804
849
 
805
850
  Array<DofId> dofs, dofs_test, dofs_conforming;
@@ -1091,7 +1136,7 @@ namespace ngcomp
1091
1136
  particular_solution_vec = make_shared<VVector<double>> (fes->GetNDof ());
1092
1137
  particular_solution_vec->operator= (0.0);
1093
1138
  Array<shared_ptr<LinearFormIntegrator>> lfis[4];
1094
- calculateLinearFormIntegrators (*_trhs, lfis);
1139
+ calculateLinearFormIntegrators (*_trhs, lfis, ma);
1095
1140
 
1096
1141
  ma->IterateElements (
1097
1142
  vb, clh, [&] (Ngs_Element mesh_element, LocalHeap &lh) {