ngstrefftz 0.3.2507.dev4__tar.gz → 0.3.2507.dev6__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.2507.dev4 → ngstrefftz-0.3.2507.dev6}/PKG-INFO +1 -1
  2. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/_version.py +3 -3
  3. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/tp0fespace.cpp +80 -17
  4. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/tp0fespace.hpp +7 -1
  5. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.clang-format +0 -0
  6. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/build.yml +0 -0
  7. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/fix_auditwheel_policy.py +0 -0
  8. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/pyodide/Dockerfile +0 -0
  9. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  10. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/pyodide/merge.py +0 -0
  11. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.github/workflows/pyodide/requirements.txt +0 -0
  12. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.gitignore +0 -0
  13. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/.gitmodules +0 -0
  14. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/CMakeLists.txt +0 -0
  15. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/CONTRIBUTING.md +0 -0
  16. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/Dockerfile +0 -0
  17. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/LICENSE +0 -0
  18. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/README.md +0 -0
  19. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/Doxyfile.in +0 -0
  20. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/_static/breadcrumbs.html +0 -0
  21. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/_static/css/mytheme.css +0 -0
  22. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/conf.py +0 -0
  23. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/contrib.rst +0 -0
  24. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/docu.rst +0 -0
  25. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/index.rst +0 -0
  26. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/intro.rst +0 -0
  27. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  28. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz-helm.ipynb +0 -0
  29. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  30. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  31. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  32. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/embTrefftz.ipynb +0 -0
  33. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/helmholtz.ipynb +0 -0
  34. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/index.ipynb +0 -0
  35. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/laplace.ipynb +0 -0
  36. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/qtelliptic.ipynb +0 -0
  37. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/qtwave.ipynb +0 -0
  38. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/tunfitted.ipynb +0 -0
  39. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/twave.ipynb +0 -0
  40. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/notebooks/twavetents.ipynb +0 -0
  41. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/paper/codemeta.json +0 -0
  42. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/paper/paper.bib +0 -0
  43. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/paper/paper.md +0 -0
  44. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/readme.rst +0 -0
  45. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/docs/requirements.txt +0 -0
  46. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/.github/workflows/build.yml +0 -0
  47. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/.gitignore +0 -0
  48. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/README.md +0 -0
  49. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  50. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  51. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  52. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  53. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  54. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  55. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  56. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  57. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  58. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  59. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  60. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  61. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  62. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  63. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  64. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  65. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  66. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  67. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  68. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  69. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  70. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  71. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  72. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  73. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  74. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/_config.yml +0 -0
  75. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/_toc.yml +0 -0
  76. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/conf.py +0 -0
  77. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  78. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  79. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  80. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  81. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/index.rst +0 -0
  82. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/intro.md +0 -0
  83. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/readme.rst +0 -0
  84. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  85. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/py/__init__.py +0 -0
  86. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  87. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  88. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  89. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  90. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/pyproject.toml +0 -0
  91. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  92. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/advection.cpp +0 -0
  93. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  94. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  95. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  96. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/euler.cpp +0 -0
  97. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  98. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/ngsolve_addon.cmake +0 -0
  99. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  100. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  101. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  102. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  103. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  104. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/tents.cpp +0 -0
  105. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/tents.hpp +0 -0
  106. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  107. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  108. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  109. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  110. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/src/wave.cpp +0 -0
  111. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  112. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  113. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  114. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  115. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  116. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/pyproject.toml +0 -0
  117. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/__init__.py +0 -0
  118. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/airy.cpp +0 -0
  119. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/boxintegral.cpp +0 -0
  120. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/boxintegral.hpp +0 -0
  121. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/condensedg.cpp +0 -0
  122. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/condensedg.hpp +0 -0
  123. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/diffopmapped.hpp +0 -0
  124. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/embtrefftz.cpp +0 -0
  125. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/embtrefftz.hpp +0 -0
  126. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/mesh1dtents.cpp +0 -0
  127. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/mesh1dtents.hpp +0 -0
  128. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/monomialfespace.cpp +0 -0
  129. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/monomialfespace.hpp +0 -0
  130. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/ngsttd.hpp +0 -0
  131. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/planewavefe.cpp +0 -0
  132. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/planewavefe.hpp +0 -0
  133. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/pufe.cpp +0 -0
  134. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/pufe.hpp +0 -0
  135. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/pufespace.cpp +0 -0
  136. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/pufespace.hpp +0 -0
  137. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/python_trefftz.cpp +0 -0
  138. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/scalarmappedfe.cpp +0 -0
  139. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/scalarmappedfe.hpp +0 -0
  140. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/specialcoefficientfunction.cpp +0 -0
  141. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/specialcoefficientfunction.hpp +0 -0
  142. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/specialintegrator.cpp +0 -0
  143. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/specialintegrator.hpp +0 -0
  144. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/twavetents.cpp +0 -0
  147. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/src/twavetents.hpp +0 -0
  148. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/boxint.py +0 -0
  149. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/conforming_trefftz.py +0 -0
  150. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/dg.py +0 -0
  151. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/embt.py +0 -0
  152. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/embtrefftz_gtest.cpp +0 -0
  153. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/tents.py +0 -0
  154. {ngstrefftz-0.3.2507.dev4 → ngstrefftz-0.3.2507.dev6}/test/trefftz.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngstrefftz
3
- Version: 0.3.2507.dev4
3
+ Version: 0.3.2507.dev6
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)
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.3.2507.dev4'
32
- __version_tuple__ = version_tuple = (0, 3, 2507, 'dev4')
31
+ __version__ = version = '0.3.2507.dev6'
32
+ __version_tuple__ = version_tuple = (0, 3, 2507, 'dev6')
33
33
 
34
- __commit_id__ = commit_id = 'g393c1d49d'
34
+ __commit_id__ = commit_id = 'g90603121e'
@@ -35,13 +35,9 @@ namespace ngcomp
35
35
  {
36
36
  AutoDiff<2> x (ip.Point ()[0], 0);
37
37
  AutoDiff<2> y (ip.Point ()[1], 1);
38
- AutoDiff<2> sigma[4]
39
- = { (1 - x) + (1 - y), x + (1 - y), x + y, (1 - x) + y };
38
+ AutoDiff<2> xi = (2 * x - 1);
39
+ AutoDiff<2> eta = (2 * y - 1);
40
40
 
41
- IVec<4> f = GetFaceSort (0, vnums);
42
-
43
- AutoDiff<2> xi = sigma[f[0]] - sigma[f[1]];
44
- AutoDiff<2> eta = sigma[f[0]] - sigma[f[3]];
45
41
  if (zero_axis == 1)
46
42
  swap (xi, eta);
47
43
 
@@ -58,7 +54,7 @@ namespace ngcomp
58
54
  for (size_t i = 0, ii = 0; i <= p; i++)
59
55
  for (size_t j = 0; j <= q; j++)
60
56
  {
61
- AutoDiff<2> shape = polx[i] * poly[j] * (1 + eta) * (1 - eta);
57
+ AutoDiff<2> shape = polx[i] * poly[j] * (1 - eta) * (1 + eta);
62
58
  dshape (ii, 0) = shape.DValue (0);
63
59
  dshape (ii++, 1) = shape.DValue (1);
64
60
  }
@@ -70,7 +66,6 @@ namespace ngcomp
70
66
  type = "TP0FESpace";
71
67
 
72
68
  order = int (flags.GetNumFlag ("order", 3));
73
- local_ndof = (order + 1) * (order - 1);
74
69
 
75
70
  if (ma->GetDimension () == 2)
76
71
  {
@@ -93,20 +88,86 @@ namespace ngcomp
93
88
  void TP0FESpace ::Update ()
94
89
  {
95
90
  FESpace::Update ();
96
- nel = ma->GetNE ();
97
- ndof = local_ndof * nel;
98
- SetNDof (ndof);
91
+ if (order_policy == OLDSTYLE_ORDER)
92
+ order_policy = CONSTANT_ORDER;
93
+ if (order_policy == CONSTANT_ORDER || order_inner.Size () == 0)
94
+ {
95
+ order_inner.SetSize (0);
96
+ nel = ma->GetNE ();
97
+ ndof = LocalNDof (this->order) * nel;
98
+ SetNDof (ndof);
99
+ }
100
+ else if (order_policy == VARIABLE_ORDER)
101
+ {
102
+ nel = ma->GetNE ();
103
+ ndof = 0;
104
+ first_element_dof.SetSize (nel);
105
+ first_element_dof.SetSize0 ();
106
+ for (int i = 0; i < nel; i++)
107
+ {
108
+ first_element_dof.Append (ndof);
109
+ ndof += LocalNDof (order_inner[i]);
110
+ }
111
+ SetNDof (ndof);
112
+ }
113
+ else
114
+ throw Exception ("TP0FESpace: invalid order policy");
115
+
99
116
  UpdateCouplingDofArray ();
100
117
  }
101
118
 
119
+ void TP0FESpace ::SetOrder (NodeId ni, int norder)
120
+ {
121
+ if (order_policy == CONSTANT_ORDER || order_policy == NODE_TYPE_ORDER)
122
+ throw Exception ("In TP0FESpace::SetOrder. Order policy is "
123
+ "constant or node-type!");
124
+ else if (order_policy == OLDSTYLE_ORDER)
125
+ order_policy = VARIABLE_ORDER;
126
+
127
+ if (order < 0)
128
+ order = 0;
129
+
130
+ if (CoDimension (ni.GetType (), ma->GetDimension ()) == 0)
131
+ {
132
+ if (order_inner.Size () == 0)
133
+ {
134
+ order_inner.SetSize (ma->GetNE ());
135
+ order_inner = this->order;
136
+ }
137
+ order_inner[ni.GetNr ()] = norder;
138
+ }
139
+ else
140
+ throw Exception (
141
+ "TP0FESpace::SetOrder requires NodeType of codimension 0!");
142
+ }
143
+
144
+ int TP0FESpace ::GetOrder (NodeId ni) const
145
+ {
146
+ if (CoDimension (ni.GetType (), ma->GetDimension ()) == 0
147
+ && ni.GetNr () < order_inner.Size ())
148
+ return order_inner[ni.GetNr ()];
149
+ return 0;
150
+ }
151
+
102
152
  void TP0FESpace ::GetDofNrs (ElementId ei, Array<DofId> &dnums) const
103
153
  {
104
154
  dnums.SetSize (0);
105
155
  if (!DefinedOn (ei) || ei.VB () != VOL)
106
156
  return;
107
- for (size_t j = ei.Nr () * local_ndof; j < local_ndof * (ei.Nr () + 1);
108
- j++)
109
- dnums.Append (j);
157
+ if (first_element_dof.Size () > 0 && order_inner.Size () > 0)
158
+ {
159
+ int first_dof = first_element_dof[ei.Nr ()];
160
+ int local_ndof = LocalNDof (order_inner[ei.Nr ()]);
161
+ for (int j = first_dof; j < first_dof + local_ndof; j++)
162
+ dnums.Append (j);
163
+ }
164
+ else
165
+ {
166
+ int local_ndof = LocalNDof (this->order);
167
+ for (size_t j = ei.Nr () * local_ndof; j < local_ndof * (ei.Nr () + 1);
168
+ j++)
169
+ dnums.Append (j);
170
+ }
110
171
  }
111
172
 
112
173
  void TP0FESpace ::UpdateCouplingDofArray ()
@@ -128,6 +189,7 @@ namespace ngcomp
128
189
  Ngs_Element ngel = ma->GetElement (ei);
129
190
  ELEMENT_TYPE eltype = ngel.GetType ();
130
191
  int D = ma->GetDimension ();
192
+ int order = order_inner.Size () > 0 ? order_inner[ei.Nr ()] : this->order;
131
193
 
132
194
  if (ei.IsVolume ())
133
195
  {
@@ -141,10 +203,11 @@ namespace ngcomp
141
203
  trafo.CalcJacobian (ip, jac);
142
204
  double xscale = L2Norm (jac.Col (0));
143
205
  double yscale = L2Norm (jac.Col (1));
144
-
145
206
  int zero_axis = yscale > xscale ? 1 : 0;
146
- return *(new (alloc) TP0FE (
147
- local_ndof, order, IVec<4> (ngel.Vertices ()), zero_axis));
207
+
208
+ return *(new (alloc)
209
+ TP0FE (LocalNDof (order), order,
210
+ IVec<4> (ngel.Vertices ()), zero_axis));
148
211
  break;
149
212
  }
150
213
  default:
@@ -75,8 +75,11 @@ namespace ngcomp
75
75
 
76
76
  class TP0FESpace : public FESpace
77
77
  {
78
- int local_ndof;
79
78
  int nel;
79
+ Array<int> order_inner;
80
+ Array<int> first_element_dof;
81
+
82
+ int LocalNDof (int order) const { return (order + 1) * (order - 1); }
80
83
 
81
84
  public:
82
85
  TP0FESpace (shared_ptr<MeshAccess> ama, const Flags &flags);
@@ -88,6 +91,9 @@ namespace ngcomp
88
91
  void Update () override;
89
92
  virtual void UpdateCouplingDofArray () override;
90
93
 
94
+ virtual void SetOrder (NodeId ni, int norder) override;
95
+ virtual int GetOrder (NodeId ni) const override;
96
+
91
97
  void GetDofNrs (ElementId ei, Array<DofId> &dnums) const override;
92
98
  FiniteElement &GetFE (ElementId ei, Allocator &alloc) const override;
93
99
  };