ngstrefftz 0.3.2403.dev6__tar.gz → 0.3.2403.dev10__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 (151) hide show
  1. {ngstrefftz-0.3.2403.dev6/src/ngstrefftz.egg-info → ngstrefftz-0.3.2403.dev10}/PKG-INFO +1 -1
  2. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/index.rst +3 -3
  3. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-helm.ipynb +82 -56
  4. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-wave.ipynb +2 -2
  5. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/helmholtz.ipynb +2 -2
  6. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/index.ipynb +14 -10
  7. ngstrefftz-0.3.2403.dev10/docs/notebooks/qtelliptic.ipynb +450 -0
  8. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/qtwave.ipynb +3 -3
  9. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/twave.ipynb +1 -1
  10. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10/src/ngstrefftz.egg-info}/PKG-INFO +1 -1
  11. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/SOURCES.txt +1 -0
  12. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.clang-format +0 -0
  13. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build.yml +0 -0
  14. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_linux_test.sh +0 -0
  15. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip.ps1 +0 -0
  16. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip.sh +0 -0
  17. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip_mac.sh +0 -0
  18. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/fix_auditwheel_policy.py +0 -0
  19. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/ngsolve_version.txt +0 -0
  20. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/Dockerfile +0 -0
  21. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  22. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/merge.py +0 -0
  23. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/requirements.txt +0 -0
  24. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/.gitmodules +0 -0
  25. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/CONTRIBUTING.md +0 -0
  26. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/Dockerfile +0 -0
  27. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/LICENSE +0 -0
  28. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/README.md +0 -0
  29. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/_static/breadcrumbs.html +0 -0
  30. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/_static/css/mytheme.css +0 -0
  31. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/conf.py +0 -0
  32. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/contrib.rst +0 -0
  33. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/docu.rst +0 -0
  34. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/intro.rst +0 -0
  35. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  36. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  37. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  38. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz.ipynb +0 -0
  39. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/laplace.ipynb +0 -0
  40. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/tunfitted.ipynb +0 -0
  41. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/twavetents.ipynb +0 -0
  42. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/paper/codemeta.json +0 -0
  43. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/paper/paper.bib +0 -0
  44. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/paper/paper.md +0 -0
  45. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/readme.rst +0 -0
  46. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/docs/requirements.txt +0 -0
  47. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build.yml +0 -0
  48. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip.ps1 +0 -0
  49. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip.sh +0 -0
  50. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip_mac.sh +0 -0
  51. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/fix_auditwheel_policy.py +0 -0
  52. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/ngsolve_version.txt +0 -0
  53. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/README.md +0 -0
  54. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  55. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  56. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  57. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  58. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  59. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  60. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  61. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  62. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  63. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  64. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  65. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  66. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  67. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  68. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  69. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  70. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  71. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  72. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  73. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  74. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  75. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  76. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  77. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  78. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  79. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/conf.py +0 -0
  80. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  81. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  82. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  83. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  84. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/index.rst +0 -0
  85. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/readme.rst +0 -0
  86. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  87. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/__init__.py +0 -0
  88. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  89. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  90. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  91. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  92. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/setup.py +0 -0
  93. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  94. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/advection.cpp +0 -0
  95. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  96. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  97. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  98. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/euler.cpp +0 -0
  99. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  100. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  101. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  102. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  103. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  104. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  105. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tents.cpp +0 -0
  106. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tents.hpp +0 -0
  107. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  108. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  109. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  110. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  111. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/wave.cpp +0 -0
  112. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  113. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  114. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  115. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  116. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  117. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/setup.cfg +0 -0
  118. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/setup.py +0 -0
  119. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/CMakeLists.txt +0 -0
  120. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/__init__.py +0 -0
  121. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/airy.cpp +0 -0
  122. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/condensedg.cpp +0 -0
  123. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/condensedg.hpp +0 -0
  124. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/diffopmapped.hpp +0 -0
  125. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/embtrefftz.cpp +0 -0
  126. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/embtrefftz.hpp +0 -0
  127. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/mesh1dtents.cpp +0 -0
  128. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/mesh1dtents.hpp +0 -0
  129. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/monomialfespace.cpp +0 -0
  130. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/monomialfespace.hpp +0 -0
  131. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/dependency_links.txt +0 -0
  132. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/requires.txt +0 -0
  133. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/top_level.txt +0 -0
  134. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/ngsttd.hpp +0 -0
  135. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/planewavefe.cpp +0 -0
  136. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/planewavefe.hpp +0 -0
  137. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/python_trefftz.cpp +0 -0
  138. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/scalarmappedfe.cpp +0 -0
  139. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/scalarmappedfe.hpp +0 -0
  140. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/specialcoefficientfunction.cpp +0 -0
  141. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/specialcoefficientfunction.hpp +0 -0
  142. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/specialintegrator.cpp +0 -0
  143. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/specialintegrator.hpp +0 -0
  144. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/twavetents.cpp +0 -0
  147. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/src/twavetents.hpp +0 -0
  148. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/test/dg.py +0 -0
  149. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/test/embt.py +0 -0
  150. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/test/tents.py +0 -0
  151. {ngstrefftz-0.3.2403.dev6 → ngstrefftz-0.3.2403.dev10}/test/trefftz.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngstrefftz
3
- Version: 0.3.2403.dev6
3
+ Version: 0.3.2403.dev10
4
4
  Summary: NGSTrefftz is an add-on to NGSolve for Trefftz methods.
5
5
  Home-page: https://github.com/PaulSt/ngstrefftz
6
6
  Author: Paul Stocker
@@ -54,14 +54,14 @@ NGSTrefftz is an add-On to NGSolve for Trefftz methods.
54
54
  notebooks/index.ipynb
55
55
  notebooks/laplace.ipynb
56
56
  notebooks/helmholtz.ipynb
57
- notebooks/tunfitted.ipynb
58
57
  notebooks/twave.ipynb
58
+ notebooks/qtelliptic.ipynb
59
59
  notebooks/qtwave.ipynb
60
- notebooks/twavetents.ipynb
61
60
  notebooks/embTrefftz.ipynb
62
61
  notebooks/embTrefftz-poi.ipynb
63
62
  notebooks/embTrefftz-wave.ipynb
64
63
  notebooks/embTrefftz-helm.ipynb
65
64
  notebooks/embTrefftz-adv.ipynb
66
65
  notebooks/embTrefftz-stokes.ipynb
67
-
66
+ notebooks/tunfitted.ipynb
67
+ notebooks/twavetents.ipynb
@@ -55,8 +55,8 @@
55
55
  "\\newcommand{\\inner}[1]{\\langle #1 \\rangle}\n",
56
56
  "\\begin{align*}\n",
57
57
  " \\begin{cases}\n",
58
- " -\\Delta u - \\omega^2 u= 0 &\\text{ in } \\dom, \\\\\n",
59
- " \\frac{\\partial u}{\\partial \\nx} + i u = g &\\text{ on } \\partial \\dom.\n",
58
+ " -\\Delta u - \\omega^2 u= f &\\text{ in } \\dom, \\\\\n",
59
+ " \\frac{\\partial u}{\\partial \\nx} - i\\omega u = g &\\text{ on } \\partial \\dom.\n",
60
60
  " \\end{cases}\n",
61
61
  "\\end{align*}\n",
62
62
  "$$\n",
@@ -90,7 +90,7 @@
90
90
  "metadata": {},
91
91
  "outputs": [],
92
92
  "source": [
93
- "def TrefftzHelmholtzEmb(fes):\n",
93
+ "def TrefftzHelmholtzEmb(fes,omega=1):\n",
94
94
  " mesh = fes.mesh\n",
95
95
  " k = fes.globalorder\n",
96
96
  " u = fes.TrialFunction()\n",
@@ -98,7 +98,7 @@
98
98
  " Lap = lambda u : sum(Trace(u.Operator('hesse')))\n",
99
99
  " fes2 = L2(mesh, order=order-2, dgjumps=True,complex=True)\n",
100
100
  " v = fes2.TestFunction()\n",
101
- " op = -u*v*dx - Lap(u)*v*dx\n",
101
+ " op = -omega**2*u*v*dx - Lap(u)*v*dx\n",
102
102
  " PP = TrefftzEmbedding(op,fes,test_fes=fes2)\n",
103
103
  " return PP"
104
104
  ]
@@ -163,19 +163,6 @@
163
163
  "Draw (gfshow, mesh, interpolate_multidim=False, animate=False, autoscale=False, min=0.8,max=1, settings={\"subdivision\":20})"
164
164
  ]
165
165
  },
166
- {
167
- "cell_type": "code",
168
- "execution_count": null,
169
- "id": "ad81be3d",
170
- "metadata": {},
171
- "outputs": [],
172
- "source": [
173
- "mesh = Mesh(unit_square.GenerateMesh(maxh=.3))\n",
174
- "order = 4\n",
175
- "fes = L2(mesh, order=order, complex=True, dgjumps=True)\n",
176
- "u,v = fes.TnT()"
177
- ]
178
- },
179
166
  {
180
167
  "cell_type": "code",
181
168
  "execution_count": null,
@@ -187,7 +174,7 @@
187
174
  "n = specialcf.normal(2)\n",
188
175
  "exact = exp(1j*sqrt(0.5)*(x+y))\n",
189
176
  "gradexact = CoefficientFunction((sqrt(0.5)*1j*exact, sqrt(0.5)*1j*exact))\n",
190
- "bndc = gradexact*n + 1j*omega*exact\n",
177
+ "bndc = gradexact*n - 1j*omega*exact\n",
191
178
  "eps = 10**-7"
192
179
  ]
193
180
  },
@@ -202,9 +189,9 @@
202
189
  "\\begin{align}\n",
203
190
  " a_h(u,v) &= \\sum_{K\\in\\Th}\\int_K \\nabla u\\nabla v-\\omega^2 uv\\ dV\n",
204
191
  " -\\int_{\\Fh^\\text{int}}\\left(\\avg{\\nabla u}\\jump{v}+\\jump{u} \\avg{\\overline{\\nabla v}} \\right) dS \\nonumber \\\\ \n",
205
- " &\\qquad+\\int_{\\Fh^\\text{int}} \\left( i\\alpha \\omega\\jump{u}\\jump{\\overline{v}} - \\frac{\\beta}{i\\omega}\\jump{\\nabla u}\\jump{\\overline{\\nabla v}} \\right) dS -\\int_{\\Fh^\\text{bnd}}\\delta\\left(\\nx\\cdot\\nabla u \\overline{v}+u \\overline{\\nx\\cdot\\nabla v}\\right) dS\\\\ \\nonumber\n",
206
- " &\\qquad+\\int_{\\Fh^\\text{bnd}} \\left( i(1-\\delta)\\omega{u}{\\overline{v}} - \\frac{\\delta}{i\\omega}{\\nabla u}{\\overline{\\nabla v}} \\right) dS \\\\ \n",
207
- " \\ell(v) &= \\int_{\\Fh^\\text{bnd}}\\left( (1-\\delta)g\\overline{v} - \\frac{\\delta}{i\\omega}g\\overline{\\nx\\cdot\\nabla v}\\right) dS\n",
192
+ " &\\qquad+\\int_{\\Fh^\\text{int}} \\left( i\\alpha \\omega\\jump{u}\\jump{\\overline{v}} - i\\frac{\\beta}{\\omega}\\jump{\\nabla u}\\jump{\\overline{\\nabla v}} \\right) dS -\\int_{\\Fh^\\text{bnd}}\\delta\\left(\\nx\\cdot\\nabla u \\overline{v}+u \\overline{\\nx\\cdot\\nabla v}\\right) dS\\\\ \\nonumber\n",
193
+ " &\\qquad-\\int_{\\Fh^\\text{bnd}} \\left( i(1-\\delta)\\omega{u}{\\overline{v}} + i\\frac{\\delta}{\\omega}{\\nabla u\\cdot\\nx}{\\overline{\\nabla v}\\cdot\\nx} \\right) dS \\\\ \n",
194
+ " \\ell(v) &= \\int_\\Omega fv\\ dV + \\int_{\\Fh^\\text{bnd}}\\left( (1-\\delta)g\\overline{v} - i\\frac{\\delta}{\\omega}g\\overline{\\nx\\cdot\\nabla v}\\right) dS\n",
208
195
  "\\end{align}\n",
209
196
  "$$"
210
197
  ]
@@ -216,37 +203,43 @@
216
203
  "metadata": {},
217
204
  "outputs": [],
218
205
  "source": [
219
- "h = specialcf.mesh_size\n",
220
- "alpha = 1/(omega*h)\n",
221
- "beta = omega*h\n",
222
- "delta = omega*h\n",
223
- "\n",
224
- "jump_u = (u-u.Other())*n\n",
225
- "jump_v = (v-v.Other())*n\n",
226
- "jump_du = (grad(u)-grad(u.Other()))*n\n",
227
- "jump_dv = (grad(v)-grad(v.Other()))*n\n",
228
- "mean_u = 0.5 * ((u)+(u.Other()))\n",
229
- "mean_du = 0.5 * (grad(u)+grad(u.Other()))\n",
230
- "mean_dv = 0.5 * (grad(v)+grad(v.Other()))\n",
231
- "\n",
232
- "a = BilinearForm(fes)\n",
233
- "a += grad(u)*(grad(v))*dx - omega**2*u*(v)*dx\n",
234
- "\n",
235
- "a += -(jump_u*(mean_dv)+mean_du*(jump_v)) * dx(skeleton=True)\n",
236
- "a += -1/(omega*1j)*beta*(jump_du*(jump_dv)) * dx(skeleton=True)\n",
237
- "a += omega*1j*alpha*jump_u*(jump_v) * dx(skeleton=True)\n",
238
- "\n",
239
- "a += -delta*(u*(grad(v))*n+grad(u)*n*(v)) * ds(skeleton=True)\n",
240
- "a += -1/(omega*1j)*delta*(grad(u)*n)*((grad(v))*n) * ds(skeleton=True)\n",
241
- "a += omega*1j*(1-delta)*u*(v) * ds(skeleton=True)\n",
242
- "\n",
243
- "f = LinearForm(fes)\n",
244
- "f += -1/(omega*1j)*delta*bndc*(grad(v))*n*ds(skeleton=True)\n",
245
- "f += (1-delta)*bndc*(v)*ds(skeleton=True)\n",
246
- "\n",
247
- "with TaskManager():\n",
248
- " a.Assemble()\n",
249
- " f.Assemble()"
206
+ "def dghelmholtz(fes,omega,rhs=0,bndc=0,bnd=\".*\"):\n",
207
+ " u,v = fes.TnT()\n",
208
+ " h = specialcf.mesh_size\n",
209
+ " order = fes.globalorder\n",
210
+ " alpha = order**2/h\n",
211
+ " beta = h/order\n",
212
+ " delta = 0.1*omega*h/order\n",
213
+ " IP = lambda u,v: InnerProduct(u,v)\n",
214
+ " \n",
215
+ " jump_u = (u-u.Other())*n\n",
216
+ " jump_v = (v-v.Other())*n\n",
217
+ " jump_du = (grad(u)-grad(u.Other()))*n\n",
218
+ " jump_dv = (grad(v)-grad(v.Other()))*n\n",
219
+ " mean_u = 0.5 * (u+u.Other())\n",
220
+ " mean_du = 0.5 * (grad(u)+grad(u.Other()))\n",
221
+ " mean_dv = 0.5 * (grad(v)+grad(v.Other()))\n",
222
+ " \n",
223
+ " a = BilinearForm(fes)\n",
224
+ " a += grad(u)*grad(v)*dx - omega**2*u*v*dx\n",
225
+ " \n",
226
+ " a += -(jump_u*mean_dv+mean_du*jump_v) * dx(skeleton=True)\n",
227
+ " a += -1j*omega*alpha*jump_u*jump_v * dx(skeleton=True)\n",
228
+ " a += -1j*beta/(omega)*(jump_du*jump_dv) * dx(skeleton=True)\n",
229
+ " \n",
230
+ " a += -delta*(u*grad(v)*n+grad(u)*n*v) * ds(bnd,skeleton=True)\n",
231
+ " a += -1j*(1-delta)*omega*u*v * ds(bnd,skeleton=True)\n",
232
+ " a += -1j*delta/(omega)*(grad(u)*n)*(grad(v)*n) * ds(bnd,skeleton=True)\n",
233
+ " \n",
234
+ " f = LinearForm(fes)\n",
235
+ " f += rhs * v * dx\n",
236
+ " f += (1-delta)*bndc*v * ds(bnd,skeleton=True)\n",
237
+ " f += -1j*delta/omega*bndc*grad(v)*n * ds(bnd,skeleton=True)\n",
238
+ " \n",
239
+ " with TaskManager():\n",
240
+ " a.Assemble()\n",
241
+ " f.Assemble()\n",
242
+ " return a,f"
250
243
  ]
251
244
  },
252
245
  {
@@ -256,16 +249,49 @@
256
249
  "metadata": {},
257
250
  "outputs": [],
258
251
  "source": [
252
+ "mesh = Mesh(unit_square.GenerateMesh(maxh=.3))\n",
253
+ "order = 4\n",
254
+ "fes = L2(mesh, order=order, complex=True, dgjumps=True)\n",
255
+ "a,f = dghelmholtz(fes,omega,bndc=bndc)\n",
259
256
  "PP = TrefftzHelmholtzEmb(fes)\n",
260
257
  "PPT = PP.CreateTranspose()\n",
261
258
  "with TaskManager():\n",
262
259
  " TA = PPT@a.mat@PP\n",
263
260
  " TU = TA.Inverse()*(PPT*f.vec)\n",
264
- " tpgfu = GridFunction(fes)\n",
265
- " tpgfu.vec.data = PP*TU\n",
266
- "error = sqrt(Integrate((tpgfu-exact)*Conj(tpgfu-exact), mesh).real)\n",
261
+ " gfu = GridFunction(fes)\n",
262
+ " gfu.vec.data = PP*TU\n",
263
+ "error = sqrt(Integrate((gfu-exact)*Conj(gfu-exact), mesh).real)\n",
267
264
  "print(\"error \",error)"
268
265
  ]
266
+ },
267
+ {
268
+ "cell_type": "code",
269
+ "execution_count": null,
270
+ "id": "091833e6-f6d4-4ed6-8589-1ddbc47b01e7",
271
+ "metadata": {},
272
+ "outputs": [],
273
+ "source": [
274
+ "air = Circle((0.5, 0.5), 0.8).Face()\n",
275
+ "air.edges.name = 'outer'\n",
276
+ "scatterer = MoveTo(0.7, 0.3).Rectangle(0.05, 0.4).Face()\n",
277
+ "scatterer.edges.name = 'scat'\n",
278
+ "geo = OCCGeometry(air - scatterer, dim=2)\n",
279
+ "mesh = Mesh(geo.GenerateMesh(maxh=0.05))\n",
280
+ "omega = 25\n",
281
+ "rhs = 3e2*exp(-(40**2)*((x-0.5)*(x-0.5) + (y-0.5)*(y-0.5)))\n",
282
+ "\n",
283
+ "fes = L2(mesh, order=order, complex=True, dgjumps=True)\n",
284
+ "a,f = dghelmholtz(fes,omega,rhs=rhs,bnd=\"outer\")\n",
285
+ "PP = TrefftzHelmholtzEmb(fes,omega)\n",
286
+ "PPT = PP.CreateTranspose()\n",
287
+ "with TaskManager():\n",
288
+ " TA = PPT@a.mat@PP\n",
289
+ " TU = TA.Inverse()*(PPT*f.vec)\n",
290
+ " gfu = GridFunction(fes)\n",
291
+ " gfu.vec.data = PP*TU\n",
292
+ "\n",
293
+ "Draw(gfu, mesh, animate_complex=True,deformation=True);"
294
+ ]
269
295
  }
270
296
  ],
271
297
  "metadata": {
@@ -284,7 +310,7 @@
284
310
  "name": "python",
285
311
  "nbconvert_exporter": "python",
286
312
  "pygments_lexer": "ipython3",
287
- "version": "3.11.3"
313
+ "version": "3.12.3"
288
314
  }
289
315
  },
290
316
  "nbformat": 4,
@@ -271,7 +271,7 @@
271
271
  " tgfu = GridFunction(fes)\n",
272
272
  " tgfu.vec.data = PP*TU\n",
273
273
  " \n",
274
- "Draw(tgfu.components[0],clipping={\"z\":-1, \"dist\":-.11})"
274
+ "Draw(tgfu.components[0],clipping={\"z\":-1, \"dist\":-.11, \"function\":True})"
275
275
  ]
276
276
  },
277
277
  {
@@ -302,7 +302,7 @@
302
302
  "name": "python",
303
303
  "nbconvert_exporter": "python",
304
304
  "pygments_lexer": "ipython3",
305
- "version": "3.11.7"
305
+ "version": "3.12.3"
306
306
  }
307
307
  },
308
308
  "nbformat": 4,
@@ -22,7 +22,7 @@
22
22
  "\\begin{align*}\n",
23
23
  " \\begin{cases}\n",
24
24
  " -\\Delta u - \\omega^2 u= 0 &\\text{ in } \\dom, \\\\\n",
25
- " \\frac{\\partial u}{\\partial \\nx} + i u = g &\\text{ on } \\partial \\dom.\n",
25
+ " \\frac{\\partial u}{\\partial \\nx} + i\\omega u = g &\\text{ on } \\partial \\dom.\n",
26
26
  " \\end{cases}\n",
27
27
  "\\end{align*}\n",
28
28
  "$$\n"
@@ -173,7 +173,7 @@
173
173
  "name": "python",
174
174
  "nbconvert_exporter": "python",
175
175
  "pygments_lexer": "ipython3",
176
- "version": "3.11.7"
176
+ "version": "3.12.3"
177
177
  }
178
178
  },
179
179
  "nbformat": 4,
@@ -25,20 +25,24 @@
25
25
  "1. [Notebook](laplace.ipynb) introduces the Trefftz space in NGSolve alongside a Trefftz-DG method using harmonic polynomials to solve the Laplace problem.\n",
26
26
  "2. [Notebook](helmholtz.ipynb) presents plane waves for the Helmholtz equation.\n",
27
27
  "3. [Notebook](twave.ipynb) presents the space-time DG Trefftz method for the acoustic wave equation on meshes Cartesian in time.\n",
28
- "4. [Notebook](tunfitted.ipynb) presents the Trefftz method on unfitted geometries using ngsxfem.\n",
29
28
  "\n",
30
- "### Advanced Trefftz methods for the acoustic wave equation\n",
31
29
  "\n",
30
+ "### Quasi-Trefftz methods\n",
31
+ "\n",
32
+ "4. [Notebook](qtelliptic.ipynb) presents the quasi-Trefftz DG method for the diffusion-advection-reaction equation with piecewise-smooth coefficients and right-hand side.\n",
32
33
  "5. [Notebook](qtwave.ipynb) presents quasi-Trefftz functions that are used for the wave equation with piecewise-smooth wavespeed.\n",
33
- "6. [Notebook](twavetents.ipynb) shows how to use the Trefftz and quasi-Trefftz methods with tent-pitched meshes.\n",
34
34
  "\n",
35
35
  "### Embedded Trefftz methods\n",
36
- "7. [Notebook](embTrefftz.ipynb) presents the embedded Trefftz method\n",
37
- "8. [Notebook](embTrefftz-poi.ipynb) for inhomogeneous problems\n",
38
- "9. [Notebook](embTrefftz-helm.ipynb) for the Helmholtz problem\n",
39
- "10. [Notebook](embTrefftz-wave.ipynb) for the acoustic wave equation\n",
40
- "11. [Notebook](embTrefftz-adv.ipynb) for advection\n",
41
- "12. [Notebook](embTrefftz-stokes.ipynb) for the Stokes problem"
36
+ "6. [Notebook](embTrefftz.ipynb) presents the embedded Trefftz method\n",
37
+ "7. [Notebook](embTrefftz-poi.ipynb) for inhomogeneous problems\n",
38
+ "8. [Notebook](embTrefftz-helm.ipynb) for the Helmholtz problem\n",
39
+ "9. [Notebook](embTrefftz-wave.ipynb) for the acoustic wave equation\n",
40
+ "10. [Notebook](embTrefftz-adv.ipynb) for advection\n",
41
+ "11. [Notebook](embTrefftz-stokes.ipynb) for the Stokes problem\n",
42
+ "\n",
43
+ "### Trefftz methods and ...\n",
44
+ "12. [Notebook](tunfitted.ipynb) presents the Trefftz method on unfitted geometries using *ngsxfem*.\n",
45
+ "13. [Notebook](twavetents.ipynb) shows how to use the Trefftz and quasi-Trefftz methods with tent-pitched meshes using *ngstents*."
42
46
  ]
43
47
  }
44
48
  ],
@@ -58,7 +62,7 @@
58
62
  "name": "python",
59
63
  "nbconvert_exporter": "python",
60
64
  "pygments_lexer": "ipython3",
61
- "version": "3.11.3"
65
+ "version": "3.12.3"
62
66
  }
63
67
  },
64
68
  "nbformat": 4,