ngstrefftz 0.3.2602.dev4__tar.gz → 0.3.2602.dev5__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 (154) hide show
  1. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/PKG-INFO +1 -1
  2. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/_version.py +3 -3
  3. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/embtrefftz.cpp +64 -19
  4. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.clang-format +0 -0
  5. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/build.yml +0 -0
  6. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/fix_auditwheel_policy.py +0 -0
  7. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/pyodide/Dockerfile +0 -0
  8. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  9. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/pyodide/merge.py +0 -0
  10. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.github/workflows/pyodide/requirements.txt +0 -0
  11. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.gitignore +0 -0
  12. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/.gitmodules +0 -0
  13. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/CMakeLists.txt +0 -0
  14. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/CONTRIBUTING.md +0 -0
  15. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/Dockerfile +0 -0
  16. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/LICENSE +0 -0
  17. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/README.md +0 -0
  18. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/Doxyfile.in +0 -0
  19. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/_static/breadcrumbs.html +0 -0
  20. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/_static/css/mytheme.css +0 -0
  21. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/conf.py +0 -0
  22. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/contrib.rst +0 -0
  23. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/docu.rst +0 -0
  24. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/index.rst +0 -0
  25. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/intro.rst +0 -0
  26. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  27. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz-helm.ipynb +0 -0
  28. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  29. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  30. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  31. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/embTrefftz.ipynb +0 -0
  32. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/helmholtz.ipynb +0 -0
  33. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/index.ipynb +0 -0
  34. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/laplace.ipynb +0 -0
  35. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/qtelliptic.ipynb +0 -0
  36. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/qtwave.ipynb +0 -0
  37. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/tunfitted.ipynb +0 -0
  38. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/twave.ipynb +0 -0
  39. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/notebooks/twavetents.ipynb +0 -0
  40. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/paper/codemeta.json +0 -0
  41. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/paper/paper.bib +0 -0
  42. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/paper/paper.md +0 -0
  43. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/readme.rst +0 -0
  44. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/docs/requirements.txt +0 -0
  45. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/.github/workflows/build.yml +0 -0
  46. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/.gitignore +0 -0
  47. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/README.md +0 -0
  48. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  49. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  50. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  51. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  52. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  53. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  54. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  55. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  56. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  57. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  58. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  59. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  60. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  61. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  62. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  63. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  64. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  65. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  66. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  67. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  68. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  69. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  70. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  71. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  72. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  73. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/_config.yml +0 -0
  74. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/_toc.yml +0 -0
  75. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/conf.py +0 -0
  76. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  77. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  78. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  79. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  80. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/index.rst +0 -0
  81. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/intro.md +0 -0
  82. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/readme.rst +0 -0
  83. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  84. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/py/__init__.py +0 -0
  85. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  86. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  87. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  88. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  89. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/pyproject.toml +0 -0
  90. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  91. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/advection.cpp +0 -0
  92. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  93. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  94. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  95. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/euler.cpp +0 -0
  96. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  97. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/ngsolve_addon.cmake +0 -0
  98. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  99. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  100. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  101. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  102. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  103. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/tents.cpp +0 -0
  104. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/tents.hpp +0 -0
  105. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  106. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  107. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  108. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  109. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/src/wave.cpp +0 -0
  110. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  111. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  112. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  113. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  114. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  115. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/pyproject.toml +0 -0
  116. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/__init__.py +0 -0
  117. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/airy.cpp +0 -0
  118. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/boxintegral.cpp +0 -0
  119. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/boxintegral.hpp +0 -0
  120. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/condensedg.cpp +0 -0
  121. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/condensedg.hpp +0 -0
  122. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/diffopmapped.hpp +0 -0
  123. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/embtrefftz.hpp +0 -0
  124. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/mesh1dtents.cpp +0 -0
  125. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/mesh1dtents.hpp +0 -0
  126. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/monomialfespace.cpp +0 -0
  127. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/monomialfespace.hpp +0 -0
  128. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/ngsttd.hpp +0 -0
  129. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/planewavefe.cpp +0 -0
  130. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/planewavefe.hpp +0 -0
  131. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/pufe.cpp +0 -0
  132. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/pufe.hpp +0 -0
  133. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/pufespace.cpp +0 -0
  134. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/pufespace.hpp +0 -0
  135. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/python_trefftz.cpp +0 -0
  136. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/scalarmappedfe.cpp +0 -0
  137. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/scalarmappedfe.hpp +0 -0
  138. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/specialcoefficientfunction.cpp +0 -0
  139. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/specialcoefficientfunction.hpp +0 -0
  140. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/specialintegrator.cpp +0 -0
  141. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/specialintegrator.hpp +0 -0
  142. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/tp0fespace.cpp +0 -0
  143. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/tp0fespace.hpp +0 -0
  144. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/twavetents.cpp +0 -0
  147. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/src/twavetents.hpp +0 -0
  148. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/boxint.py +0 -0
  149. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/conforming_trefftz.py +0 -0
  150. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/dg.py +0 -0
  151. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/embt.py +0 -0
  152. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/embtrefftz_gtest.cpp +0 -0
  153. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/tents.py +0 -0
  154. {ngstrefftz-0.3.2602.dev4 → ngstrefftz-0.3.2602.dev5}/test/trefftz.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngstrefftz
3
- Version: 0.3.2602.dev4
3
+ Version: 0.3.2602.dev5
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)
@@ -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.dev5'
22
+ __version_tuple__ = version_tuple = (0, 3, 2602, 'dev5')
23
23
 
24
- __commit_id__ = commit_id = 'g6b5d55733'
24
+ __commit_id__ = commit_id = 'g87e1cdb27'
@@ -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) {