xfem 2.1.2605.dev2__tar.gz → 2.1.2605.dev3__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.
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/PKG-INFO +1 -1
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/straightcutrule.cpp +12 -1
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/_version.py +3 -3
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_bndcut.py +55 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.ci/build_pip.sh +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.ci/build_pip_mac.sh +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.ci/ci_ctests.sh +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.ci/fix_auditwheel_policy.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.github/workflows/extras-workflow.yml +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.github/workflows/paper-workflow.yml +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.github/workflows/pypi.yml +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.gitignore +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.gitlab-ci.yml +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/.gitmodules +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/Dockerfile +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/INSTALLATION.md +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/LICENSE +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/MANIFEST.in +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/README.md +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/_ngsolve_deps_provider.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cmake_modules/check_submodules.cmake +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cmake_modules/cmake_uninstall.cmake.in +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/config.h.cmake +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/cutintegral.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/cutintegral.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/fieldeval.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/fieldeval.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/lsetintdomain.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/lsetintdomain.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/mlsetintegration.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/mlsetintegration.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/python_cutint.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/spacetimecutrule.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/spacetimecutrule.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/straightcutrule.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/xdecompose.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/xdecompose.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/xintegration.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/cutint/xintegration.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/README.md +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/aggregates/aggfem_shapetester.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/aggregates/fictdom_aggfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/aggregates/fictdom_dg_aggfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/fictdom.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/fictdom_dg.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/fictdom_mlset.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/compp1prolong-playground.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/cutint/area_of_a_circle_quads.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/cutint/integrate_one_big_quad2D.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/cutint/integrate_one_big_quad3D.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/fictdom_dg3d.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/lsetcurving/integrate.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/make_uniform3D_grid.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mg_cut_poisson_p1.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mg_cut_poisson_p1p2_skinny.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mg_cut_poisson_p2.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mg_cut_poisson_p2_skinny.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mg_p1_working.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/cube.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/cube2.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/cube_codim2_test.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/even_simpler.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/multiple_triangles.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/simple.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/simple_mlcutinfo.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/simple_with_convinience.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/square.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/tensor_functions.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/test_GetOuterBoundary.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/test_draw.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/triangle.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/zalesak_disk.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/mlset/zalesak_sphere.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/p1prolong-playground.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/p2prolong-playground.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/stokesxfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/linelasticity.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/lsetgeoms.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/moving_domain.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/mpi/mpi_nxfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/IF_circle.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/IF_marking.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/IF_periodic.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_hypersphere_ST.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_hypersphere_ST_conv.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_hypersphere_ST_conv_higher_order.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_sphere_ST.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_sphere_ST_conv.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_sphere_ST_conv_higher_order.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/fictdomain_Neumann_quad_testing.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/kite3D_in_sympy.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/kite_in_sympy.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_3D.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_3D_static.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_kite.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_kite3D.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP2_timeDGP1.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP2_timeDGP1_new.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spacePX_timeDGP1_kite.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spaceDGtimeDG_unfitted.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spaceDGtimeDG_unfitted_3D.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetimeCG_unfitted.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetimeDG_fitted.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetimeDG_fitted_Nitsche.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetimeDG_unfitted.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetime_geom_error.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/spacetime_vtk.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spdes/surfstokestracefem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/stokescutfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/tracefem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/unf_interf_prob.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/feature-details.md +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/bubble-coarse.pdf +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/cuttet-quadrature.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/cut_quadrature.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/cut_quadrature_mlset.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/cuttet.jpg +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/intpoints.jpg +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/spacetime1.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/spacetime2.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/graveyard/zdisc-cut-elements.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/lsetcurv.jpg +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/mlset.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/patches.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/spacetime.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/twophase.pdf +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/unfittedmesh.jpg +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/xfem.jpg +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/graphics/xfes.png +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/latex.template +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/lit-ngsxfem.bib +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/literature.md +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/_static/custom.css +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/bullets.css +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/conf.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/contents.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/index.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/jupyter/index.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/requirements.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/xfem_misc/demos.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/xfem_misc/feature-details.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/xfem_misc/installation.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/doc/sphinx/xfem_misc/literature.rst +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/calcpointshift.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/calcpointshift.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/lsetrefine.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/lsetrefine.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/projshift.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/projshift.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/python_lsetcurving.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/shiftedevaluate.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/shiftedevaluate.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/shiftintegrators.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/lsetcurving/shiftintegrators.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/ngsolve_addon.cmake +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/pyproject.toml +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/__init__.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/cutmg.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/lset_smoothblend.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/lset_spacetime.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/lsetcurv.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/mlset.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/ngs_check.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/python_ngsxfem.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/python/utils.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/SpaceTimeFE.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/SpaceTimeFE.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/SpaceTimeFESpace.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/SpaceTimeFESpace.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/diffopDt.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/diffopDt.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/diffopFixt.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/diffopFixt.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/python_spacetime.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/spacetime_vtk.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/spacetime_vtk.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/timecf.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/spacetime/timecf.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/ngsxfem_report.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_aggregates.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_backuprule.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_calc_linearized.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_differential_symbol.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_elementlayers.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_intcurved.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_local_solve.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_localgeom.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_memory_usage.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_mlset_integration.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_mlset_module_functionality.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_mlset_poisson.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_navier_stokes_2d1.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_ngsolve_version.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_nonlin.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_num_nxfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_nxfem.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_quadchallenges.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_shifteval.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_simd_cutint.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_simd_lf_blf.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_spacetime_lsetcurv.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_spacetime_set.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_spacetime_vecH1.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_spacetime_vtk.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_spacetimecutrule.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_straightcutrule.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_utils.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/tests/pytests/test_xfes_ndof.py +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/bitarraycf.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/bitarraycf.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/ngsxstd.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/ngsxstd.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/p1interpol.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/p1interpol.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/python_utils.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/restrictedblf.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/restrictedblf.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/restrictedfespace.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/restrictedfespace.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/spacetimechecks.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/xprolongation.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/utils/xprolongation.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/CMakeLists.txt +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/aggregates.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/aggregates.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/cutinfo.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/cutinfo.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/ghostpenalty.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/ghostpenalty.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/python_xfem.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/sFESpace.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/sFESpace.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/symboliccutbfi.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/symboliccutbfi.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/symboliccutlfi.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/symboliccutlfi.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xFESpace.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xFESpace.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xfemdiffops.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xfemdiffops.hpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xfiniteelement.cpp +0 -0
- {xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/xfem/xfiniteelement.hpp +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: xfem
|
|
3
|
-
Version: 2.1.2605.
|
|
3
|
+
Version: 2.1.2605.dev3
|
|
4
4
|
Summary: (ngs)xfem is an Add-on library to Netgen/NGSolve for unfitted/cut FEM.
|
|
5
5
|
Author-Email: Christoph Lehrenfeld <lehrenfeld@math.uni-goettingen.de>
|
|
6
6
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
@@ -643,7 +643,18 @@ namespace xintegration
|
|
|
643
643
|
if (dt == IF)
|
|
644
644
|
{
|
|
645
645
|
auto ir_interface = new (lh) IntegrationRule(quad_untrafo.Size(),lh);
|
|
646
|
-
if (
|
|
646
|
+
if (et == ET_SEGM && DIM == 2)
|
|
647
|
+
{
|
|
648
|
+
// BND segment in a 2D mesh: the interface (IF) is a co-dim-2 point.
|
|
649
|
+
// Use point measure: weight = 1/GetMeasure() so that mip.GetMeasure()*weight = 1.
|
|
650
|
+
for (int i = 0; i < quad_untrafo.Size(); i++)
|
|
651
|
+
{
|
|
652
|
+
MappedIntegrationPoint<1,2> mip(quad_untrafo[i], trafo);
|
|
653
|
+
(*ir_interface)[i] = IntegrationPoint(quad_untrafo[i].Point(),
|
|
654
|
+
quad_untrafo[i].Weight() / mip.GetMeasure());
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
else if (DIM == 1) TransformQuadUntrafoToIRInterface<1>(quad_untrafo, trafo, lset, ir_interface, spacetime_mode, tval);
|
|
647
658
|
else if (DIM == 2) TransformQuadUntrafoToIRInterface<2>(quad_untrafo, trafo, lset, ir_interface, spacetime_mode, tval);
|
|
648
659
|
else TransformQuadUntrafoToIRInterface<3>(quad_untrafo, trafo, lset, ir_interface, spacetime_mode, tval);
|
|
649
660
|
ir = ir_interface;
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '2.1.2605.
|
|
22
|
-
__version_tuple__ = version_tuple = (2, 1, 2605, '
|
|
21
|
+
__version__ = version = '2.1.2605.dev3'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 1, 2605, 'dev3')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'ge7bf5996f'
|
|
@@ -162,6 +162,61 @@ def test_bfi_assembly_2d_partial():
|
|
|
162
162
|
assert abs(val - cut) < 1e-2, f"Expected ~{cut}, got {val}"
|
|
163
163
|
|
|
164
164
|
|
|
165
|
+
# ---------------------------------------------------------------------------
|
|
166
|
+
# IF+BND (co-dimension-2) tests
|
|
167
|
+
# ---------------------------------------------------------------------------
|
|
168
|
+
|
|
169
|
+
@pytest.mark.parametrize("cut", [0.3, 0.5, 0.7])
|
|
170
|
+
def test_integrate_if_bnd_2d_count(cut):
|
|
171
|
+
"""Integrate(1 * dCut(lset, IF, vb=BND)) counts boundary–interface intersections.
|
|
172
|
+
|
|
173
|
+
With lset = x - cut the interface {lset=0} is the vertical line x=cut.
|
|
174
|
+
It intersects the boundary of the unit square in exactly 2 points:
|
|
175
|
+
(cut, 0) on the bottom edge and (cut, 1) on the top edge.
|
|
176
|
+
The point measure of 2 discrete points is 2.
|
|
177
|
+
"""
|
|
178
|
+
mesh = make_2d_mesh()
|
|
179
|
+
lset = GridFunction(H1(mesh, order=1))
|
|
180
|
+
InterpolateToP1(x - cut, lset)
|
|
181
|
+
|
|
182
|
+
val = Integrate(CoefficientFunction(1) * dCut(lset, IF, vb=BND), mesh)
|
|
183
|
+
assert abs(val - 2.0) < 1e-10, f"Expected 2.0 (2 intersection points), got {val}"
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def test_integrate_if_bnd_2d_function():
|
|
187
|
+
"""Integrating a function over IF+BND evaluates it at the intersection points.
|
|
188
|
+
|
|
189
|
+
lset = x - 0.5 → intersections at (0.5, 0) and (0.5, 1).
|
|
190
|
+
∫ x dσ₀ = 0.5 + 0.5 = 1.0
|
|
191
|
+
∫ y dσ₀ = 0.0 + 1.0 = 1.0
|
|
192
|
+
"""
|
|
193
|
+
mesh = make_2d_mesh()
|
|
194
|
+
lset = GridFunction(H1(mesh, order=1))
|
|
195
|
+
InterpolateToP1(x - 0.5, lset)
|
|
196
|
+
|
|
197
|
+
val_x = Integrate(x * dCut(lset, IF, vb=BND), mesh)
|
|
198
|
+
val_y = Integrate(y * dCut(lset, IF, vb=BND), mesh)
|
|
199
|
+
assert abs(val_x - 1.0) < 1e-10, f"∫x dσ₀ expected 1.0, got {val_x}"
|
|
200
|
+
assert abs(val_y - 1.0) < 1e-10, f"∫y dσ₀ expected 1.0, got {val_y}"
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
def test_integrate_if_bnd_2d_definedon():
|
|
204
|
+
"""definedon restricts IF+BND to a single boundary edge."""
|
|
205
|
+
mesh = make_2d_mesh()
|
|
206
|
+
lset = GridFunction(H1(mesh, order=1))
|
|
207
|
+
InterpolateToP1(x - 0.5, lset)
|
|
208
|
+
|
|
209
|
+
# Only the bottom edge should have one intersection point at (0.5, 0)
|
|
210
|
+
val_bot = Integrate(CoefficientFunction(1) * dCut(lset, IF, vb=BND,
|
|
211
|
+
definedon=mesh.Boundaries("bottom")), mesh)
|
|
212
|
+
assert abs(val_bot - 1.0) < 1e-10, f"Expected 1 intersection on bottom, got {val_bot}"
|
|
213
|
+
|
|
214
|
+
# Only the left edge (x=0) has no intersection with x=0.5
|
|
215
|
+
val_left = Integrate(CoefficientFunction(1) * dCut(lset, IF, vb=BND,
|
|
216
|
+
definedon=mesh.Boundaries("left")), mesh)
|
|
217
|
+
assert abs(val_left - 0.0) < 1e-10, f"Expected 0 intersections on left, got {val_left}"
|
|
218
|
+
|
|
219
|
+
|
|
165
220
|
def test_bfi_definedon_bitarray():
|
|
166
221
|
"""definedon can be supplied as a BitArray of boundary elements."""
|
|
167
222
|
cut = 0.4
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/cutint/integrate_one_big_quad2D.py
RENAMED
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/graveyard/cutint/integrate_one_big_quad3D.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_hypersphere_ST.py
RENAMED
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_hypersphere_ST_conv.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/area_of_a_sphere_ST_conv.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_3D_static.py
RENAMED
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_kite.py
RENAMED
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spaceP1_timeDGP1_kite3D.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfem-2.1.2605.dev2 → xfem-2.1.2605.dev3}/demos/spacetime/graveyard/spacePX_timeDGP1_kite.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|