ngstrefftz 0.3.2507.dev6__tar.gz → 0.3.2507.dev8__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.dev6 → ngstrefftz-0.3.2507.dev8}/PKG-INFO +1 -1
  2. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/_version.py +3 -3
  3. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/embtrefftz.cpp +8 -0
  4. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/tp0fespace.cpp +70 -41
  5. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/tp0fespace.hpp +17 -7
  6. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.clang-format +0 -0
  7. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/build.yml +0 -0
  8. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/fix_auditwheel_policy.py +0 -0
  9. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/pyodide/Dockerfile +0 -0
  10. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/pyodide/build_in_docker.sh +0 -0
  11. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/pyodide/merge.py +0 -0
  12. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.github/workflows/pyodide/requirements.txt +0 -0
  13. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.gitignore +0 -0
  14. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/.gitmodules +0 -0
  15. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/CMakeLists.txt +0 -0
  16. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/CONTRIBUTING.md +0 -0
  17. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/Dockerfile +0 -0
  18. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/LICENSE +0 -0
  19. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/README.md +0 -0
  20. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/Doxyfile.in +0 -0
  21. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/_static/breadcrumbs.html +0 -0
  22. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/_static/css/mytheme.css +0 -0
  23. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/conf.py +0 -0
  24. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/contrib.rst +0 -0
  25. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/docu.rst +0 -0
  26. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/index.rst +0 -0
  27. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/intro.rst +0 -0
  28. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz-adv.ipynb +0 -0
  29. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz-helm.ipynb +0 -0
  30. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz-poi.ipynb +0 -0
  31. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz-stokes.ipynb +0 -0
  32. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz-wave.ipynb +0 -0
  33. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/embTrefftz.ipynb +0 -0
  34. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/helmholtz.ipynb +0 -0
  35. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/index.ipynb +0 -0
  36. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/laplace.ipynb +0 -0
  37. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/qtelliptic.ipynb +0 -0
  38. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/qtwave.ipynb +0 -0
  39. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/tunfitted.ipynb +0 -0
  40. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/twave.ipynb +0 -0
  41. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/notebooks/twavetents.ipynb +0 -0
  42. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/paper/codemeta.json +0 -0
  43. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/paper/paper.bib +0 -0
  44. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/paper/paper.md +0 -0
  45. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/readme.rst +0 -0
  46. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/docs/requirements.txt +0 -0
  47. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/.github/workflows/build.yml +0 -0
  48. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/.gitignore +0 -0
  49. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/README.md +0 -0
  50. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/advection/Advection_Periodic_Clipping.ipynb +0 -0
  51. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/advection/advection2d.py +0 -0
  52. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/advection/advection2d_periodic.py +0 -0
  53. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/burgers/Burgers_Clipping.ipynb +0 -0
  54. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/burgers/burgers1d.py +0 -0
  55. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/burgers/burgers2d.py +0 -0
  56. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/euler/Euler_Clipping.ipynb +0 -0
  57. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/euler/euler2d.py +0 -0
  58. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/euler/mach3_windtunnel.py +0 -0
  59. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/maxwell/maxwell3d.py +0 -0
  60. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/symbolic_advection2d.py +0 -0
  61. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/symbolic_burgers.py +0 -0
  62. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/symbolic_euler.py +0 -0
  63. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/symbolic_wave.py +0 -0
  64. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/symbolic_wave1d_interface.py +0 -0
  65. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/symbolic/wave_penetrable_cylinder.py +0 -0
  66. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/tents/draw3dtent.py +0 -0
  67. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/tents/draw3dvertex.py +0 -0
  68. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/wave/horn.py +0 -0
  69. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/wave/wave2d.py +0 -0
  70. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/wave/wave2d_timedepbc.py +0 -0
  71. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/demo/wave/wave3d.py +0 -0
  72. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/BurgersMTP.ipynb +0 -0
  73. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/INDEX.ipynb +0 -0
  74. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/StartPitching.ipynb +0 -0
  75. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/_config.yml +0 -0
  76. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/_toc.yml +0 -0
  77. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/conf.py +0 -0
  78. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/figs/CausalityCond.png +0 -0
  79. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/figs/dag.png +0 -0
  80. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/figs/map.png +0 -0
  81. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/figs/subtents.png +0 -0
  82. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/index.rst +0 -0
  83. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/intro.md +0 -0
  84. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/readme.rst +0 -0
  85. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/docs/requirements.txt +0 -0
  86. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/py/__init__.py +0 -0
  87. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/py/conslaw/__init__.py +0 -0
  88. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/py/utils/__init__.py +0 -0
  89. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/py/utils/_drawtents.py +0 -0
  90. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/py/utils/_drawtents2d.py +0 -0
  91. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/pyproject.toml +0 -0
  92. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/CMakeLists.txt +0 -0
  93. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/advection.cpp +0 -0
  94. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/burgers.cpp +0 -0
  95. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/concurrentqueue.h +0 -0
  96. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/conservationlaw.hpp +0 -0
  97. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/euler.cpp +0 -0
  98. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/maxwell.cpp +0 -0
  99. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/ngsolve_addon.cmake +0 -0
  100. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/paralleldepend.hpp +0 -0
  101. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/python_conslaw.cpp +0 -0
  102. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/python_tents.cpp +0 -0
  103. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/symbolic.cpp +0 -0
  104. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/tconservationlaw_tp_impl.hpp +0 -0
  105. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/tents.cpp +0 -0
  106. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/tents.hpp +0 -0
  107. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/tentsolver.hpp +0 -0
  108. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/tentsolver_impl.hpp +0 -0
  109. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/vis3d.cpp +0 -0
  110. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/vis3d.hpp +0 -0
  111. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/src/wave.cpp +0 -0
  112. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/tests/test_burgers_2D.py +0 -0
  113. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/tests/test_causal_tents.py +0 -0
  114. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/tests/test_conslaw.py +0 -0
  115. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/tests/test_tent_height_2D.py +0 -0
  116. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/external_dependencies/ngstents/tests/test_tentlayers.py +0 -0
  117. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/pyproject.toml +0 -0
  118. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/__init__.py +0 -0
  119. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/airy.cpp +0 -0
  120. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/boxintegral.cpp +0 -0
  121. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/boxintegral.hpp +0 -0
  122. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/condensedg.cpp +0 -0
  123. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/condensedg.hpp +0 -0
  124. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/diffopmapped.hpp +0 -0
  125. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/embtrefftz.hpp +0 -0
  126. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/mesh1dtents.cpp +0 -0
  127. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/mesh1dtents.hpp +0 -0
  128. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/monomialfespace.cpp +0 -0
  129. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/monomialfespace.hpp +0 -0
  130. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/ngsttd.hpp +0 -0
  131. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/planewavefe.cpp +0 -0
  132. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/planewavefe.hpp +0 -0
  133. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/pufe.cpp +0 -0
  134. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/pufe.hpp +0 -0
  135. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/pufespace.cpp +0 -0
  136. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/pufespace.hpp +0 -0
  137. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/python_trefftz.cpp +0 -0
  138. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/scalarmappedfe.cpp +0 -0
  139. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/scalarmappedfe.hpp +0 -0
  140. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/specialcoefficientfunction.cpp +0 -0
  141. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/specialcoefficientfunction.hpp +0 -0
  142. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/specialintegrator.cpp +0 -0
  143. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/specialintegrator.hpp +0 -0
  144. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/trefftzfespace.cpp +0 -0
  145. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/trefftzfespace.hpp +0 -0
  146. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/twavetents.cpp +0 -0
  147. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/src/twavetents.hpp +0 -0
  148. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/boxint.py +0 -0
  149. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/conforming_trefftz.py +0 -0
  150. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/dg.py +0 -0
  151. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/embt.py +0 -0
  152. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/embtrefftz_gtest.cpp +0 -0
  153. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/tents.py +0 -0
  154. {ngstrefftz-0.3.2507.dev6 → ngstrefftz-0.3.2507.dev8}/test/trefftz.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ngstrefftz
3
- Version: 0.3.2507.dev6
3
+ Version: 0.3.2507.dev8
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.dev6'
32
- __version_tuple__ = version_tuple = (0, 3, 2507, 'dev6')
31
+ __version__ = version = '0.3.2507.dev8'
32
+ __version_tuple__ = version_tuple = (0, 3, 2507, 'dev8')
33
33
 
34
- __commit_id__ = commit_id = 'g90603121e'
34
+ __commit_id__ = commit_id = 'g25f082f1b'
@@ -761,6 +761,14 @@ namespace ngcomp
761
761
  size_t ndof_test = dofs_test.Size ();
762
762
  size_t ndof_conforming = dofs_conforming.Size ();
763
763
 
764
+ if (ndof_test == 0 && ndof_conforming == 0)
765
+ {
766
+ Identity Id (ndof);
767
+ etmats[element_id.Nr ()] = make_optional<Matrix<SCAL>> (Id);
768
+ local_ndofs_trefftz[element_id.Nr ()] = ndof;
769
+ return;
770
+ }
771
+
764
772
  FlatMatrix<SCAL> elmat_A (ndof_test + ndof_conforming, ndof, lh);
765
773
  FlatMatrix<SCAL> elmat_B (ndof_test + ndof_conforming,
766
774
  ndof_conforming, lh);
@@ -85,28 +85,48 @@ namespace ngcomp
85
85
  return docu;
86
86
  }
87
87
 
88
+ int TP0FESpace ::LocalNDof (ELEMENT_TYPE eltype, int order) const
89
+ {
90
+ switch (eltype)
91
+ {
92
+ case ET_TRIG:
93
+ return (order - 1) * order / 2;
94
+ case ET_QUAD:
95
+ return (order + 1) * (order - 1);
96
+ default:
97
+ throw Exception ("TP0FESpace::LocalNDof: element type not supported");
98
+ }
99
+ }
100
+
88
101
  void TP0FESpace ::Update ()
89
102
  {
90
103
  FESpace::Update ();
91
104
  if (order_policy == OLDSTYLE_ORDER)
92
105
  order_policy = CONSTANT_ORDER;
106
+
107
+ nel = ma->GetNE ();
108
+ first_element_dof.SetSize (nel);
93
109
  if (order_policy == CONSTANT_ORDER || order_inner.Size () == 0)
94
110
  {
95
- order_inner.SetSize (0);
96
- nel = ma->GetNE ();
97
- ndof = LocalNDof (this->order) * nel;
111
+ order_inner.SetSize0 ();
112
+ ndof = 0;
113
+ for (int i = 0; i < nel; i++)
114
+ {
115
+ first_element_dof[i] = ndof;
116
+ ndof += LocalNDof (ma->GetElement (ElementId (VOL, i)).GetType (),
117
+ this->order);
118
+ }
119
+ // ndof = LocalNDof (this->order) * nel;
98
120
  SetNDof (ndof);
99
121
  }
100
122
  else if (order_policy == VARIABLE_ORDER)
101
123
  {
102
- nel = ma->GetNE ();
103
124
  ndof = 0;
104
- first_element_dof.SetSize (nel);
105
- first_element_dof.SetSize0 ();
106
125
  for (int i = 0; i < nel; i++)
107
126
  {
108
- first_element_dof.Append (ndof);
109
- ndof += LocalNDof (order_inner[i]);
127
+ first_element_dof[i] = ndof;
128
+ ndof += LocalNDof (ma->GetElement (ElementId (VOL, i)).GetType (),
129
+ order_inner[i]);
110
130
  }
111
131
  SetNDof (ndof);
112
132
  }
@@ -154,20 +174,15 @@ namespace ngcomp
154
174
  dnums.SetSize (0);
155
175
  if (!DefinedOn (ei) || ei.VB () != VOL)
156
176
  return;
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
- }
177
+ int first_dof = first_element_dof[ei.Nr ()];
178
+ int local_ndof;
179
+ if (order_inner.Size () > 0)
180
+ local_ndof
181
+ = LocalNDof (ma->GetElement (ei).GetType (), order_inner[ei.Nr ()]);
164
182
  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
- }
183
+ local_ndof = LocalNDof (ma->GetElement (ei).GetType (), this->order);
184
+ for (int j = first_dof; j < first_dof + local_ndof; j++)
185
+ dnums.Append (j);
171
186
  }
172
187
 
173
188
  void TP0FESpace ::UpdateCouplingDofArray ()
@@ -185,34 +200,48 @@ namespace ngcomp
185
200
 
186
201
  FiniteElement &TP0FESpace ::GetFE (ElementId ei, Allocator &alloc) const
187
202
  {
188
-
189
203
  Ngs_Element ngel = ma->GetElement (ei);
190
204
  ELEMENT_TYPE eltype = ngel.GetType ();
191
205
  int D = ma->GetDimension ();
192
206
  int order = order_inner.Size () > 0 ? order_inner[ei.Nr ()] : this->order;
193
207
 
194
- if (ei.IsVolume ())
208
+ if (ei.IsVolume () && order > 1)
195
209
  {
196
- switch (D)
197
- {
198
- case 2:
210
+ if (D == 2)
211
+ switch (eltype)
199
212
  {
200
- ElementTransformation &trafo = ma->GetTrafo (ei, alloc);
201
- IntegrationPoint ip;
202
- Mat<2, 2> jac;
203
- trafo.CalcJacobian (ip, jac);
204
- double xscale = L2Norm (jac.Col (0));
205
- double yscale = L2Norm (jac.Col (1));
206
- int zero_axis = yscale > xscale ? 1 : 0;
207
-
208
- return *(new (alloc)
209
- TP0FE (LocalNDof (order), order,
210
- IVec<4> (ngel.Vertices ()), zero_axis));
211
- break;
213
+ case ET_QUAD:
214
+ {
215
+ ElementTransformation &trafo = ma->GetTrafo (ei, alloc);
216
+ IntegrationPoint ip;
217
+ Mat<2, 2> jac;
218
+ trafo.CalcJacobian (ip, jac);
219
+ double xscale = L2Norm (jac.Col (0));
220
+ double yscale = L2Norm (jac.Col (1));
221
+ int zero_axis = yscale > xscale ? 1 : 0;
222
+
223
+ return *(new (alloc)
224
+ TP0FE (LocalNDof (ET_QUAD, order), order,
225
+ IVec<4> (ngel.Vertices ()), zero_axis));
226
+ break;
227
+ }
228
+ case ET_TRIG:
229
+ {
230
+ Ngs_Element ngel
231
+ = ma->GetElement<ET_trait<ET_TRIG>::DIM, VOL> (ei.Nr ());
232
+ L2HighOrderFE<ET_TRIG> *hofe
233
+ = new (alloc) L2HighOrderFE<ET_TRIG> ();
234
+ hofe->SetVertexNumbers (ngel.vertices);
235
+ hofe->L2HighOrderFE<ET_TRIG>::SetOrder (order - 2);
236
+ hofe->L2HighOrderFE<ET_TRIG>::ComputeNDof ();
237
+ return *hofe;
238
+ break;
239
+ }
240
+ default:
241
+ throw Exception ("eltype not supported in TP0FE");
212
242
  }
213
- default:
214
- throw Exception ("dimension not supported in TP0FE");
215
- }
243
+ else
244
+ throw Exception ("dimension not supported in TP0FE");
216
245
  }
217
246
  try
218
247
  {
@@ -37,12 +37,22 @@ namespace ngcomp
37
37
  MAT &mat, LocalHeap &lh)
38
38
  {
39
39
  HeapReset hr (lh);
40
- Cast (fel).CalcShape (mip.IP (), mat.Row (0));
41
- }
42
-
43
- static const TP0FE &Cast (const FiniteElement &fel)
44
- {
45
- return static_cast<const TP0FE &> (fel);
40
+ // Cast (fel).CalcShape (mip.IP (), mat.Row (0));
41
+ if (fel.Order () < 2)
42
+ return;
43
+ switch (fel.ElementType ())
44
+ {
45
+ case ET_QUAD:
46
+ static_cast<const TP0FE &> (fel).CalcShape (mip.IP (), mat.Row (0));
47
+ break;
48
+ case ET_TRIG:
49
+ static_cast<const L2HighOrderFE<ET_TRIG> &> (fel).CalcShape (
50
+ mip.IP (), mat.Row (0));
51
+ break;
52
+ default:
53
+ throw Exception ("MyDiffOpId: " + ToString (fel.ElementType ())
54
+ + " not supported");
55
+ }
46
56
  }
47
57
  };
48
58
 
@@ -79,7 +89,7 @@ namespace ngcomp
79
89
  Array<int> order_inner;
80
90
  Array<int> first_element_dof;
81
91
 
82
- int LocalNDof (int order) const { return (order + 1) * (order - 1); }
92
+ int LocalNDof (ELEMENT_TYPE eltype, int order) const;
83
93
 
84
94
  public:
85
95
  TP0FESpace (shared_ptr<MeshAccess> ama, const Flags &flags);