ngstrefftz 0.3.2403.dev9__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.dev9/src/ngstrefftz.egg-info → ngstrefftz-0.3.2403.dev10}/PKG-INFO +1 -1
  2. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-helm.ipynb +82 -56
  3. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/helmholtz.ipynb +2 -2
  4. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/qtelliptic.ipynb +12 -39
  5. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/qtwave.ipynb +1 -1
  6. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/twave.ipynb +1 -1
  7. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10/src/ngstrefftz.egg-info}/PKG-INFO +1 -1
  8. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.clang-format +0 -0
  9. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build.yml +0 -0
  10. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_linux_test.sh +0 -0
  11. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip.ps1 +0 -0
  12. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip.sh +0 -0
  13. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/build_pip_mac.sh +0 -0
  14. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/fix_auditwheel_policy.py +0 -0
  15. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/ngsolve_version.txt +0 -0
  16. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/Dockerfile +0 -0
  17. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  18. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/merge.py +0 -0
  19. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.github/workflows/pyodide/requirements.txt +0 -0
  20. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/.gitmodules +0 -0
  21. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/CONTRIBUTING.md +0 -0
  22. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/Dockerfile +0 -0
  23. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/LICENSE +0 -0
  24. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/README.md +0 -0
  25. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/_static/breadcrumbs.html +0 -0
  26. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/_static/css/mytheme.css +0 -0
  27. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/conf.py +0 -0
  28. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/contrib.rst +0 -0
  29. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/docu.rst +0 -0
  30. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/index.rst +0 -0
  31. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/intro.rst +0 -0
  32. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  33. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  34. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  35. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  36. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/embTrefftz.ipynb +0 -0
  37. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/index.ipynb +0 -0
  38. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/laplace.ipynb +0 -0
  39. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/tunfitted.ipynb +0 -0
  40. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/notebooks/twavetents.ipynb +0 -0
  41. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/paper/codemeta.json +0 -0
  42. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/paper/paper.bib +0 -0
  43. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/paper/paper.md +0 -0
  44. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/readme.rst +0 -0
  45. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/docs/requirements.txt +0 -0
  46. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build.yml +0 -0
  47. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip.ps1 +0 -0
  48. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip.sh +0 -0
  49. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/build_pip_mac.sh +0 -0
  50. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/fix_auditwheel_policy.py +0 -0
  51. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/.github/workflows/ngsolve_version.txt +0 -0
  52. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/README.md +0 -0
  53. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  54. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  55. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  56. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  57. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  58. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  59. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  60. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  61. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  62. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  63. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  64. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  65. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  66. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  67. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  68. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  69. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  70. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  71. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  72. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  73. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  74. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  75. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  76. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  77. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  78. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/conf.py +0 -0
  79. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  80. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  81. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  82. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  83. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/index.rst +0 -0
  84. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/readme.rst +0 -0
  85. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  86. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/__init__.py +0 -0
  87. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  88. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  89. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  90. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  91. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/setup.py +0 -0
  92. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  93. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/advection.cpp +0 -0
  94. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  95. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  96. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  97. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/euler.cpp +0 -0
  98. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  99. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  100. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  101. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  102. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  103. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  104. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tents.cpp +0 -0
  105. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tents.hpp +0 -0
  106. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  107. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  108. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  109. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  110. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/src/wave.cpp +0 -0
  111. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  112. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  113. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  114. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  115. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  116. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/setup.cfg +0 -0
  117. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/setup.py +0 -0
  118. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/CMakeLists.txt +0 -0
  119. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/__init__.py +0 -0
  120. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/airy.cpp +0 -0
  121. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/condensedg.cpp +0 -0
  122. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/condensedg.hpp +0 -0
  123. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/diffopmapped.hpp +0 -0
  124. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/embtrefftz.cpp +0 -0
  125. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/embtrefftz.hpp +0 -0
  126. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/mesh1dtents.cpp +0 -0
  127. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/mesh1dtents.hpp +0 -0
  128. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/monomialfespace.cpp +0 -0
  129. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/monomialfespace.hpp +0 -0
  130. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/SOURCES.txt +0 -0
  131. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/dependency_links.txt +0 -0
  132. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/requires.txt +0 -0
  133. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/ngstrefftz.egg-info/top_level.txt +0 -0
  134. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/ngsttd.hpp +0 -0
  135. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/planewavefe.cpp +0 -0
  136. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/planewavefe.hpp +0 -0
  137. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/python_trefftz.cpp +0 -0
  138. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/scalarmappedfe.cpp +0 -0
  139. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/scalarmappedfe.hpp +0 -0
  140. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/specialcoefficientfunction.cpp +0 -0
  141. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/specialcoefficientfunction.hpp +0 -0
  142. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/specialintegrator.cpp +0 -0
  143. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/specialintegrator.hpp +0 -0
  144. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/twavetents.cpp +0 -0
  147. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/src/twavetents.hpp +0 -0
  148. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/test/dg.py +0 -0
  149. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/test/embt.py +0 -0
  150. {ngstrefftz-0.3.2403.dev9 → ngstrefftz-0.3.2403.dev10}/test/tents.py +0 -0
  151. {ngstrefftz-0.3.2403.dev9 → 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.dev9
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
@@ -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,
@@ -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,
@@ -5,7 +5,7 @@
5
5
  "id": "1ffc608a-0a36-49c0-9a86-646e3b82ca20",
6
6
  "metadata": {},
7
7
  "source": [
8
- "# Quasi-Treffz DG: diffusion-advection-reaction \n",
8
+ "# Quasi-Trefftz DG: diffusion-advection-reaction \n",
9
9
  "Consider the following diffusion-advection-reaction BVP\n",
10
10
  "$$\n",
11
11
  "\\begin{cases}\n",
@@ -28,7 +28,8 @@
28
28
  "source": [
29
29
  "from ngsolve import *\n",
30
30
  "from ngstrefftz import *\n",
31
- "from netgen.occ import *"
31
+ "from netgen.occ import *\n",
32
+ "SetNumThreads(4)"
32
33
  ]
33
34
  },
34
35
  {
@@ -63,9 +64,7 @@
63
64
  "h = 0.03; \n",
64
65
  "order = 3;\n",
65
66
  "mesh = Mesh(unit_square.GenerateMesh(maxh=h))\n",
66
- "SetNumThreads(4)\n",
67
- "with TaskManager():\n",
68
- " fes = trefftzfespace(mesh,order=order,eq=\"qtelliptic\")"
67
+ "fes = trefftzfespace(mesh,order=order,eq=\"qtelliptic\")"
69
68
  ]
70
69
  },
71
70
  {
@@ -103,7 +102,7 @@
103
102
  "id": "0e26cef3-2c9c-4924-b0b3-45d59eb3cfd4",
104
103
  "metadata": {},
105
104
  "source": [
106
- "To set the coefficients for the construction of the quasi-Trefftz basis functions of $ \\mathbb{Q\\!T}^p_0(\\mathcal{T}_h)$ use "
105
+ "To set the coefficients for the construction of the quasi-Trefftz basis functions of $\\mathbb{Q\\!T}^p_0(\\mathcal{T}_h)$ use "
107
106
  ]
108
107
  },
109
108
  {
@@ -243,26 +242,8 @@
243
242
  "gfu = GridFunction(fes)\n",
244
243
  "\n",
245
244
  "with TaskManager():\n",
246
- " gfu.vec.data = a.mat.Inverse()*f.vec"
247
- ]
248
- },
249
- {
250
- "cell_type": "markdown",
251
- "id": "0cbc4795-cb36-4129-8d76-c96091d8c443",
252
- "metadata": {},
253
- "source": [
254
- "We can calculate the $L^2(\\Omega)$-error:"
255
- ]
256
- },
257
- {
258
- "cell_type": "code",
259
- "execution_count": null,
260
- "id": "ff7a8109-3657-40a5-bfe1-ed08b8efbd5d",
261
- "metadata": {},
262
- "outputs": [],
263
- "source": [
264
- "error = sqrt(Integrate((gfu-exact)**2, mesh))\n",
265
- "print(\"quasi-Trefftz DG error:\",error)"
245
+ " gfu.vec.data = a.mat.Inverse()*f.vec\n",
246
+ "print(\"quasi-Trefftz DG error:\",sqrt(Integrate((gfu-exact)**2, mesh)))"
266
247
  ]
267
248
  },
268
249
  {
@@ -327,15 +308,7 @@
327
308
  "gfu = GridFunction(fes)\n",
328
309
  "with TaskManager():\n",
329
310
  " gfu.vec.data = a.mat.Inverse() * f.vec\n",
330
- "Draw(gfu,mesh,\"gfu\")"
331
- ]
332
- },
333
- {
334
- "cell_type": "markdown",
335
- "id": "128e02a2-5115-476c-8dbc-e83eeb8ba48d",
336
- "metadata": {},
337
- "source": [
338
- "To see the 3D surface click `Open Controls` and select `deformation`."
311
+ "Draw(gfu,mesh,\"gfu\",deformation=CF((x,y,gfu)))"
339
312
  ]
340
313
  },
341
314
  {
@@ -354,6 +327,7 @@
354
327
  "outputs": [],
355
328
  "source": [
356
329
  "h = 0.05\n",
330
+ "order = 3\n",
357
331
  "wp = WorkPlane().RectangleC(2,2) \\\n",
358
332
  " .Circle(0,0,0.25).Reverse() \n",
359
333
  "geo = wp.Face()\n",
@@ -386,7 +360,6 @@
386
360
  "rhs = 0\n",
387
361
  "uf = None\n",
388
362
  "\n",
389
- "order = 3\n",
390
363
  "with TaskManager():\n",
391
364
  " fes = trefftzfespace(mesh,order=order,eq=\"qtelliptic\")\n",
392
365
  " fes.SetCoeff(K,beta,sigma)\n",
@@ -430,7 +403,7 @@
430
403
  "metadata": {},
431
404
  "outputs": [],
432
405
  "source": [
433
- "nu = 5*10**(-3)\n",
406
+ "nu = 10**(-2)\n",
434
407
  "K = CF((nu,0,0,nu),dims=(2,2))\n",
435
408
  "beta = CF((-y,x))\n",
436
409
  "sigma = 0\n",
@@ -449,7 +422,7 @@
449
422
  "gfu = GridFunction(fes)\n",
450
423
  "with TaskManager():\n",
451
424
  " gfu.vec.data = a.mat.Inverse() * f.vec\n",
452
- "Draw(gfu,mesh,\"gfu\")"
425
+ "Draw(gfu,mesh,\"gfu\",deformation=CF((x,y,gfu)))"
453
426
  ]
454
427
  }
455
428
  ],
@@ -469,7 +442,7 @@
469
442
  "name": "python",
470
443
  "nbconvert_exporter": "python",
471
444
  "pygments_lexer": "ipython3",
472
- "version": "3.12.2"
445
+ "version": "3.12.3"
473
446
  }
474
447
  },
475
448
  "nbformat": 4,
@@ -5,7 +5,7 @@
5
5
  "id": "5e251ded",
6
6
  "metadata": {},
7
7
  "source": [
8
- "# Quasi-Trefftz DG "
8
+ "# Quasi-Trefftz DG: Wave equation"
9
9
  ]
10
10
  },
11
11
  {
@@ -281,7 +281,7 @@
281
281
  "name": "python",
282
282
  "nbconvert_exporter": "python",
283
283
  "pygments_lexer": "ipython3",
284
- "version": "3.11.3"
284
+ "version": "3.12.3"
285
285
  }
286
286
  },
287
287
  "nbformat": 4,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ngstrefftz
3
- Version: 0.3.2403.dev9
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