pybFoam 0.1.4__tar.gz → 0.1.6__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.
- pybfoam-0.1.6/.github/workflows/pages.yaml +40 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/.gitignore +1 -0
- pybfoam-0.1.6/CHANGELOG.md +36 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/CMakeLists.txt +1 -1
- pybfoam-0.1.6/PKG-INFO +228 -0
- pybfoam-0.1.6/README.md +181 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/cmake/FindOpenFOAM.cmake +23 -0
- pybfoam-0.1.6/docs/Makefile +20 -0
- pybfoam-0.1.6/docs/README.md +4 -0
- pybfoam-0.1.6/docs/api.rst +6 -0
- pybfoam-0.1.6/docs/changelog.rst +6 -0
- pybfoam-0.1.6/docs/conf.py +57 -0
- pybfoam-0.1.6/docs/contributing.rst +9 -0
- pybfoam-0.1.6/docs/index.rst +24 -0
- pybfoam-0.1.6/docs/installation.rst +13 -0
- pybfoam-0.1.6/docs/introduction.rst +26 -0
- pybfoam-0.1.6/docs/make.bat +35 -0
- pybfoam-0.1.6/docs/usage.rst +9 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/pyproject.toml +8 -6
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/CMakeLists.txt +1 -0
- pybfoam-0.1.6/src/pybFoam/_version.py +1 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_control.cpp +5 -1
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_fields.cpp +1 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_geo_fields.cpp +15 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_mesh.cpp +2 -10
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_primitives.cpp +3 -0
- pybfoam-0.1.6/src/pybFoam/sampling/CMakeLists.txt +50 -0
- pybfoam-0.1.6/src/pybFoam/sampling/__init__.py +74 -0
- pybfoam-0.1.6/src/pybFoam/sampling/bind_sampling.cpp +418 -0
- pybfoam-0.1.6/src/pybFoam/sampling/bind_sampling.hpp +52 -0
- pybfoam-0.1.6/src/pybFoam/sampling/sampling.cpp +35 -0
- pybfoam-0.1.6/src/pybFoam/sampling/set_configs.py +289 -0
- pybfoam-0.1.6/src/pybFoam/sampling/surface_configs.py +194 -0
- pybfoam-0.1.6/src/pybFoam/sampling/utils.py +63 -0
- pybfoam-0.1.6/src/pybFoam/sampling.pyi +258 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_primitives.py +9 -0
- pybfoam-0.1.6/tests/pybind/test_set_sampling.py +585 -0
- pybfoam-0.1.6/tests/pybind/test_surface_sampling.py +675 -0
- pybfoam-0.1.6/tests/test_sampling_models.py +73 -0
- pybfoam-0.1.6/tests/test_sampling_set_configs.py +239 -0
- pybfoam-0.1.4/CHANGELOG.md +0 -0
- pybfoam-0.1.4/PKG-INFO +0 -75
- pybfoam-0.1.4/README.md +0 -30
- pybfoam-0.1.4/docs/404.md +0 -6
- pybfoam-0.1.4/docs/LICENSE +0 -13
- pybfoam-0.1.4/docs/LICENSE-BSD-NAVGOCO.txt +0 -27
- pybfoam-0.1.4/docs/_config.yml +0 -117
- pybfoam-0.1.4/docs/_data/alerts.yml +0 -18
- pybfoam-0.1.4/docs/_data/definitions.yml +0 -12
- pybfoam-0.1.4/docs/_data/glossary.yml +0 -13
- pybfoam-0.1.4/docs/_data/samplelist.yml +0 -109
- pybfoam-0.1.4/docs/_data/sidebars/doc_sidebar.yml +0 -80
- pybfoam-0.1.4/docs/_data/sidebars/home_sidebar.yml +0 -24
- pybfoam-0.1.4/docs/_data/strings.yml +0 -8
- pybfoam-0.1.4/docs/_data/terms.yml +0 -3
- pybfoam-0.1.4/docs/_data/topnav.yml +0 -34
- pybfoam-0.1.4/docs/_includes/archive.html +0 -15
- pybfoam-0.1.4/docs/_includes/callout.html +0 -4
- pybfoam-0.1.4/docs/_includes/commento.html +0 -8
- pybfoam-0.1.4/docs/_includes/custom/getting_started_series.html +0 -21
- pybfoam-0.1.4/docs/_includes/custom/getting_started_series_next.html +0 -13
- pybfoam-0.1.4/docs/_includes/custom/series_acme.html +0 -21
- pybfoam-0.1.4/docs/_includes/custom/series_acme_next.html +0 -32
- pybfoam-0.1.4/docs/_includes/custom/usermap.html +0 -16
- pybfoam-0.1.4/docs/_includes/custom/usermapcomplex.html +0 -93
- pybfoam-0.1.4/docs/_includes/feedback.html +0 -15
- pybfoam-0.1.4/docs/_includes/footer.html +0 -11
- pybfoam-0.1.4/docs/_includes/google_analytics.html +0 -8
- pybfoam-0.1.4/docs/_includes/head.html +0 -43
- pybfoam-0.1.4/docs/_includes/head_print.html +0 -30
- pybfoam-0.1.4/docs/_includes/image.html +0 -3
- pybfoam-0.1.4/docs/_includes/important.html +0 -3
- pybfoam-0.1.4/docs/_includes/initialize_shuffle.html +0 -130
- pybfoam-0.1.4/docs/_includes/inline_image.html +0 -3
- pybfoam-0.1.4/docs/_includes/links.html +0 -45
- pybfoam-0.1.4/docs/_includes/note.html +0 -3
- pybfoam-0.1.4/docs/_includes/sidebar.html +0 -60
- pybfoam-0.1.4/docs/_includes/taglogic.html +0 -33
- pybfoam-0.1.4/docs/_includes/tip.html +0 -3
- pybfoam-0.1.4/docs/_includes/toc.html +0 -23
- pybfoam-0.1.4/docs/_includes/topnav.html +0 -83
- pybfoam-0.1.4/docs/_includes/video.html +0 -8
- pybfoam-0.1.4/docs/_includes/warning.html +0 -3
- pybfoam-0.1.4/docs/_layouts/default.html +0 -108
- pybfoam-0.1.4/docs/_layouts/default_print.html +0 -26
- pybfoam-0.1.4/docs/_layouts/none.html +0 -5
- pybfoam-0.1.4/docs/_layouts/page.html +0 -70
- pybfoam-0.1.4/docs/_layouts/page_print.html +0 -17
- pybfoam-0.1.4/docs/_layouts/post.html +0 -41
- pybfoam-0.1.4/docs/createtag +0 -54
- pybfoam-0.1.4/docs/css/bootstrap.min.css +0 -7529
- pybfoam-0.1.4/docs/css/boxshadowproperties.css +0 -24
- pybfoam-0.1.4/docs/css/customstyles.css +0 -1203
- pybfoam-0.1.4/docs/css/font-awesome.min.css +0 -4
- pybfoam-0.1.4/docs/css/fonts/FontAwesome.otf +0 -0
- pybfoam-0.1.4/docs/css/fonts/fontawesome-webfont.eot +0 -0
- pybfoam-0.1.4/docs/css/fonts/fontawesome-webfont.svg +0 -2671
- pybfoam-0.1.4/docs/css/fonts/fontawesome-webfont.ttf +0 -0
- pybfoam-0.1.4/docs/css/fonts/fontawesome-webfont.woff +0 -0
- pybfoam-0.1.4/docs/css/fonts/fontawesome-webfont.woff2 +0 -0
- pybfoam-0.1.4/docs/css/modern-business.css +0 -89
- pybfoam-0.1.4/docs/css/printstyles.css +0 -159
- pybfoam-0.1.4/docs/css/syntax.css +0 -60
- pybfoam-0.1.4/docs/css/theme-blue.css +0 -121
- pybfoam-0.1.4/docs/css/theme-green.css +0 -110
- pybfoam-0.1.4/docs/feed.xml +0 -32
- pybfoam-0.1.4/docs/fonts/FontAwesome.otf +0 -0
- pybfoam-0.1.4/docs/fonts/fontawesome-webfont.eot +0 -0
- pybfoam-0.1.4/docs/fonts/fontawesome-webfont.svg +0 -520
- pybfoam-0.1.4/docs/fonts/fontawesome-webfont.ttf +0 -0
- pybfoam-0.1.4/docs/fonts/fontawesome-webfont.woff +0 -0
- pybfoam-0.1.4/docs/fonts/glyphicons-halflings-regular.eot +0 -0
- pybfoam-0.1.4/docs/fonts/glyphicons-halflings-regular.svg +0 -288
- pybfoam-0.1.4/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
- pybfoam-0.1.4/docs/fonts/glyphicons-halflings-regular.woff +0 -0
- pybfoam-0.1.4/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
- pybfoam-0.1.4/docs/images/OFCaseStructure.png +0 -0
- pybfoam-0.1.4/docs/images/dlr_logo.png +0 -0
- pybfoam-0.1.4/docs/index.md +0 -33
- pybfoam-0.1.4/docs/js/customscripts.js +0 -54
- pybfoam-0.1.4/docs/js/jekyll-search.js +0 -1
- pybfoam-0.1.4/docs/js/jquery.ba-throttle-debounce.min.js +0 -9
- pybfoam-0.1.4/docs/js/jquery.navgoco.min.js +0 -8
- pybfoam-0.1.4/docs/js/jquery.shuffle.min.js +0 -1588
- pybfoam-0.1.4/docs/js/toc.js +0 -82
- pybfoam-0.1.4/docs/pages/doc/doc_OpenFOAM.md +0 -106
- pybfoam-0.1.4/docs/pages/doc/doc_externalComm.md +0 -113
- pybfoam-0.1.4/docs/pages/doc/doc_input.md +0 -103
- pybfoam-0.1.4/docs/pages/doc/doc_installation.md +0 -24
- pybfoam-0.1.4/docs/pages/doc/doc_introduction.md +0 -24
- pybfoam-0.1.4/docs/pages/doc/doc_output.md +0 -58
- pybfoam-0.1.4/docs/pages/doc/doc_python_wrapper.md +0 -9
- pybfoam-0.1.4/docs/pages/doc/doc_release_notes_01.md +0 -13
- pybfoam-0.1.4/docs/pdf/mydoc.pdf +6 -16256
- pybfoam-0.1.4/docs/pdf-doc.sh +0 -14
- pybfoam-0.1.4/docs/pdfconfigs/config_doc_pdf.yml +0 -20
- pybfoam-0.1.4/docs/pdfconfigs/prince-list.txt +0 -82
- pybfoam-0.1.4/docs/pdfconfigs/titlepage.html +0 -22
- pybfoam-0.1.4/docs/pdfconfigs/tocpage.html +0 -44
- pybfoam-0.1.4/docs/search.json +0 -33
- pybfoam-0.1.4/docs/sitemap.xml +0 -24
- pybfoam-0.1.4/docs/tooltips.html +0 -79
- pybfoam-0.1.4/docs/tooltips.json +0 -19
- pybfoam-0.1.4/docs/update.sh +0 -4
- pybfoam-0.1.4/docs/var/build.sh +0 -10
- pybfoam-0.1.4/src/pybFoam/_version.py +0 -1
- {pybfoam-0.1.4 → pybfoam-0.1.6}/.github/workflows/ci.yaml +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/.github/workflows/release.yaml +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/CMakePresets.json +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/LICENSE +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/cmake/Dependencies.cmake +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/conftest.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/scripts/generate_stubs.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/scripts/pyInstall.sh +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/__init__.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/aggregation/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/aggregation/aggregation.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/aggregation/bind_aggregation.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/aggregation/bind_aggregation.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvc/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvc/bind_fvc.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvc/bind_fvc.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvc/fvc.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvc.pyi +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvm/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvm/bind_fvm.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvm/bind_fvm.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/fvm/fvm.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/io/__init__.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/io/model_base.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/io/system.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/py.typed +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_cfdTools.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_cfdTools.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_control.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_dict.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_dict.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_dimensioned.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_dimensioned.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_fields.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_fvMatrix.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_fvMatrix.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_geo_fields.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_io.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_io.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_mesh.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/bind_primitives.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core/pybFoam.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/pybFoam_core.pyi +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/runTimeTables/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/runTimeTables/foam_runTimeTables.C +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/runTimeTables/foam_runTimeTables.H +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/runTimeTables/runTimeTables.C +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/runTimeTables.pyi +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/thermo/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/thermo/bind_thermo.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/thermo/bind_thermo.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/thermo/thermo.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/thermo.pyi +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/turbulence/CMakeLists.txt +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/turbulence/bind_turbulence.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/turbulence/bind_turbulence.hpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/turbulence/turbulence.cpp +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/src/pybFoam/turbulence.pyi +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/0.orig/U +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/0.orig/nu +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/0.orig/p +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/Allclean +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/Allrun +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/constant/transportProperties +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/icoFoam.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/log2 +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/PDRblockMeshDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/blockMeshDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/controlDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/decomposeParDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/fvSchemes +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/cavity/system/fvSolution +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/0.orig/U +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/0.orig/nu +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/0.orig/p +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/Allclean +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/Allrun +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/constant/transportProperties +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/icoFoam.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/system/controlDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/system/foamDataToFluentDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/system/fvSchemes +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/elbow/system/fvSolution +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/TestDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/TestDict.json +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/TestDict.yaml +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/controlDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/fvSchemes +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/fvSolution +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/test_controlDict.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/test_fvSchemes.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/test_fvSolution.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/io/test_parse_ofdict.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0/U +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0/alpha.water +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0/p_rgh +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0.orig/U +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0.orig/alpha.water +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/0.orig/p_rgh +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/Allclean +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/Allrun +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/Allrun-parallel +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/dynamicMeshDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/g +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/polyMesh/boundary +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/polyMesh/faces +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/polyMesh/neighbour +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/polyMesh/owner +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/polyMesh/points +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/transportProperties +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/constant/turbulenceProperties +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/TestDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/blockMeshDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/controlDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/decomposeParDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/fvSchemes +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/fvSolution +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/system/setFieldsDict +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_aggregation.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_dict.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_fvc.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_fvm.py +0 -0
- {pybfoam-0.1.4 → pybfoam-0.1.6}/tests/pybind/test_geoFields.py +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Deploy Docs to GitHub Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-deploy:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v5
|
|
13
|
+
|
|
14
|
+
- name: Set up OpenFOAM
|
|
15
|
+
uses: gerlero/setup-openfoam@v1
|
|
16
|
+
with:
|
|
17
|
+
openfoam-version: 2412
|
|
18
|
+
- name: Install uv
|
|
19
|
+
uses: astral-sh/setup-uv@v6
|
|
20
|
+
- name: Set up Python
|
|
21
|
+
uses: actions/setup-python@v5
|
|
22
|
+
with:
|
|
23
|
+
python-version: '3.11'
|
|
24
|
+
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: |
|
|
27
|
+
uv sync --extra all
|
|
28
|
+
|
|
29
|
+
- name: Build docs
|
|
30
|
+
run: |
|
|
31
|
+
cd docs
|
|
32
|
+
uv run make html
|
|
33
|
+
|
|
34
|
+
- name: Deploy to GitHub Pages
|
|
35
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
36
|
+
with:
|
|
37
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
38
|
+
publish_dir: docs/_build/html
|
|
39
|
+
publish_branch: gh-pages
|
|
40
|
+
force_orphan: true
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## [0.1.6]
|
|
5
|
+
|
|
6
|
+
### Added
|
|
7
|
+
- Initial implementation of sampling module with pybind11 bindings
|
|
8
|
+
- Support for sampledSurface types (plane, patch, cutting plane, iso-surface)
|
|
9
|
+
- Interpolation schemes (cell, cellPoint, cellPointFace)
|
|
10
|
+
- Line sampling functionality (uniform, cloud, polyLine, circle)
|
|
11
|
+
- Integration tests for surface and set sampling
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- Updated build system to use scikit-build-core
|
|
15
|
+
- Improved CMake configuration for OpenFOAM library detection
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## [-0.1.5]
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- Python bindings for OpenFOAM core functionality
|
|
23
|
+
- Field access and manipulation (volScalarField, volVectorField, volTensorField)
|
|
24
|
+
- Finite volume operators (fvc, fvm)
|
|
25
|
+
- Mesh access (fvMesh, polyMesh)
|
|
26
|
+
- Time management
|
|
27
|
+
- Dictionary I/O
|
|
28
|
+
- Basic turbulence model support
|
|
29
|
+
- NumPy buffer protocol integration for zero-copy field access
|
|
30
|
+
|
|
31
|
+
### Known Issues
|
|
32
|
+
- Memory leaks in `selectTimes` function (requires RAII fix)
|
|
33
|
+
- Incorrect return value policies in some bindings
|
|
34
|
+
- Missing negative index checks in field accessors
|
|
35
|
+
|
|
36
|
+
---
|
pybfoam-0.1.6/PKG-INFO
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pybFoam
|
|
3
|
+
Version: 0.1.6
|
|
4
|
+
Summary: python bindings for OpenFOAM
|
|
5
|
+
Keywords: OpenFOAM,simulation,CFD
|
|
6
|
+
Author-Email: Henning Scheufler <henning.scheufler@web.de>
|
|
7
|
+
License-Expression: GPL-3.0-or-later
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Intended Audience :: Science/Research
|
|
12
|
+
Classifier: Natural Language :: English
|
|
13
|
+
Classifier: Programming Language :: C++
|
|
14
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering
|
|
21
|
+
Project-URL: Homepage, https://github.com/HenningScheufler/pybFoam
|
|
22
|
+
Project-URL: Repository, https://github.com/HenningScheufler/pybFoam.git
|
|
23
|
+
Project-URL: Issues, https://github.com/HenningScheufler/pybFoam/issues
|
|
24
|
+
Requires-Python: >=3.8
|
|
25
|
+
Requires-Dist: numpy>=1.20
|
|
26
|
+
Requires-Dist: pybind11>=2.6.0
|
|
27
|
+
Requires-Dist: pydantic
|
|
28
|
+
Requires-Dist: pyyaml
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
31
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-xdist; extra == "dev"
|
|
33
|
+
Requires-Dist: black; extra == "dev"
|
|
34
|
+
Requires-Dist: flake8; extra == "dev"
|
|
35
|
+
Requires-Dist: isort; extra == "dev"
|
|
36
|
+
Requires-Dist: mypy; extra == "dev"
|
|
37
|
+
Requires-Dist: cmake>=3.18; extra == "dev"
|
|
38
|
+
Requires-Dist: pybind11-stubgen>=2.5; extra == "dev"
|
|
39
|
+
Provides-Extra: docs
|
|
40
|
+
Requires-Dist: sphinx>=4.0; extra == "docs"
|
|
41
|
+
Requires-Dist: sphinx-sitemap; extra == "docs"
|
|
42
|
+
Requires-Dist: furo; extra == "docs"
|
|
43
|
+
Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
|
|
44
|
+
Provides-Extra: all
|
|
45
|
+
Requires-Dist: pybFoam[dev,docs]; extra == "all"
|
|
46
|
+
Description-Content-Type: text/markdown
|
|
47
|
+
|
|
48
|
+
# pybFoam
|
|
49
|
+
|
|
50
|
+
Python bindings for OpenFOAM - enabling direct manipulation of OpenFOAM cases, fields, and meshes from Python.
|
|
51
|
+
|
|
52
|
+
Currently in the pre-alpha release state.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Features
|
|
57
|
+
|
|
58
|
+
- **Direct Python access to OpenFOAM data structures**: Time, fvMesh, fields
|
|
59
|
+
- **Finite volume operators**: fvc (calculus), fvm (matrix operations)
|
|
60
|
+
- **Turbulence and thermodynamic models**: Access to OpenFOAM turbulence and thermo libraries
|
|
61
|
+
- **Sampling and post-processing**: Surface sampling, line sampling, interpolation
|
|
62
|
+
- **Pydantic configuration models**: Type-safe dictionary construction for sampling surfaces
|
|
63
|
+
- **NumPy integration**: Zero-copy access to OpenFOAM field data via buffer protocol
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Requirements
|
|
68
|
+
|
|
69
|
+
- **OpenFOAM**: v2012 or higher (sourced and installed)
|
|
70
|
+
- **Python**: 3.8 or higher
|
|
71
|
+
- **CMake**: 3.18 or higher
|
|
72
|
+
- **C++ Compiler**: C++17 compatible (GCC 7+, Clang 5+)
|
|
73
|
+
- **Build tools**: pybind11, scikit-build-core
|
|
74
|
+
- **Python packages**: numpy, pydantic
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Installation
|
|
79
|
+
|
|
80
|
+
### Prerequisites
|
|
81
|
+
|
|
82
|
+
1. Source your OpenFOAM environment:
|
|
83
|
+
```bash
|
|
84
|
+
source /path/to/OpenFOAM/etc/bashrc
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
2. (Recommended) Create a virtual environment:
|
|
88
|
+
```bash
|
|
89
|
+
python -m venv .venv
|
|
90
|
+
source .venv/bin/activate
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Install from source
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install .
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
For development:
|
|
100
|
+
```bash
|
|
101
|
+
pip install -e . --no-build-isolation
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Quick Start
|
|
107
|
+
|
|
108
|
+
### Basic Usage
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
import pybFoam as pf
|
|
112
|
+
|
|
113
|
+
# Create OpenFOAM time and mesh
|
|
114
|
+
time = pf.createTime()
|
|
115
|
+
mesh = pf.fvMesh(time)
|
|
116
|
+
|
|
117
|
+
# Access fields
|
|
118
|
+
p = pf.volScalarField.read_field(mesh, "p")
|
|
119
|
+
U = pf.volVectorField.read_field(mesh, "U")
|
|
120
|
+
|
|
121
|
+
# Compute gradients using finite volume calculus
|
|
122
|
+
grad_p = pf.fvc.grad(p)
|
|
123
|
+
div_U = pf.fvc.div(U)
|
|
124
|
+
|
|
125
|
+
# Convert to NumPy arrays for analysis
|
|
126
|
+
import numpy as np
|
|
127
|
+
p_array = np.asarray(p["internalField"])
|
|
128
|
+
print(f"Pressure range: {p_array.min():.3f} to {p_array.max():.3f}")
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Sampling Surfaces
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
from pybFoam.sampling import SampledPlaneConfig, sampledSurface, interpolationScalar
|
|
135
|
+
from pybFoam import Word
|
|
136
|
+
|
|
137
|
+
# Create a sampling plane using Pydantic config
|
|
138
|
+
plane_config = SampledPlaneConfig(
|
|
139
|
+
point=[0.5, 0.5, 0.0],
|
|
140
|
+
normal=[1.0, 0.0, 0.0]
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# Create the surface
|
|
144
|
+
plane = sampledSurface.New(Word("myPlane"), mesh, plane_config.to_foam_dict())
|
|
145
|
+
plane.update()
|
|
146
|
+
|
|
147
|
+
# Interpolate field onto surface
|
|
148
|
+
interp = interpolationScalar.New(Word("cellPoint"), p)
|
|
149
|
+
sampled_values = interp.sampleOnFaces(plane)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Dictionary I/O with Pydantic
|
|
153
|
+
|
|
154
|
+
```python
|
|
155
|
+
from pybFoam.io import IOModelBase
|
|
156
|
+
from pydantic import Field
|
|
157
|
+
|
|
158
|
+
class TransportProperties(IOModelBase):
|
|
159
|
+
nu: float = Field(..., description="Kinematic viscosity")
|
|
160
|
+
|
|
161
|
+
class Config:
|
|
162
|
+
foam_file_name = "transportProperties"
|
|
163
|
+
|
|
164
|
+
# Read from OpenFOAM dictionary
|
|
165
|
+
props = TransportProperties.from_file("constant/transportProperties")
|
|
166
|
+
print(f"Viscosity: {props.nu}")
|
|
167
|
+
|
|
168
|
+
# Modify and write back
|
|
169
|
+
props.nu = 1e-5
|
|
170
|
+
props.to_file("constant/transportProperties")
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Examples
|
|
176
|
+
|
|
177
|
+
See the `tests/` directory for more examples:
|
|
178
|
+
- **Basic field operations**: `tests/pybind/test_primitives.py`
|
|
179
|
+
- **Finite volume operators**: `tests/pybind/test_fvc.py`, `tests/pybind/test_fvm.py`
|
|
180
|
+
- **Surface sampling**: `tests/pybind/test_surface_sampling.py`
|
|
181
|
+
- **Line sampling**: `tests/pybind/test_set_sampling.py`
|
|
182
|
+
- **Solver example**: `tests/cavity/icoFoam.py`
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## Testing
|
|
187
|
+
|
|
188
|
+
Run the test suite:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
pytest tests/
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Run specific test categories:
|
|
195
|
+
```bash
|
|
196
|
+
pytest tests/pybind/ # C++ binding tests
|
|
197
|
+
pytest tests/test_sampling_models.py # Pydantic config tests
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Documentation
|
|
203
|
+
|
|
204
|
+
Full documentation is available at: [https://henningscheufler.github.io/pybFoam/](https://henningscheufler.github.io/pybFoam/index.html)
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### Development Setup
|
|
209
|
+
|
|
210
|
+
1. Clone the repository
|
|
211
|
+
2. Install development dependencies:
|
|
212
|
+
```bash
|
|
213
|
+
pip install -e ".[dev]"
|
|
214
|
+
```
|
|
215
|
+
3. Run tests before committing:
|
|
216
|
+
```bash
|
|
217
|
+
pytest tests/
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## License
|
|
223
|
+
|
|
224
|
+
See [LICENSE](LICENSE) file for details.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
|
pybfoam-0.1.6/README.md
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# pybFoam
|
|
2
|
+
|
|
3
|
+
Python bindings for OpenFOAM - enabling direct manipulation of OpenFOAM cases, fields, and meshes from Python.
|
|
4
|
+
|
|
5
|
+
Currently in the pre-alpha release state.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Direct Python access to OpenFOAM data structures**: Time, fvMesh, fields
|
|
12
|
+
- **Finite volume operators**: fvc (calculus), fvm (matrix operations)
|
|
13
|
+
- **Turbulence and thermodynamic models**: Access to OpenFOAM turbulence and thermo libraries
|
|
14
|
+
- **Sampling and post-processing**: Surface sampling, line sampling, interpolation
|
|
15
|
+
- **Pydantic configuration models**: Type-safe dictionary construction for sampling surfaces
|
|
16
|
+
- **NumPy integration**: Zero-copy access to OpenFOAM field data via buffer protocol
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Requirements
|
|
21
|
+
|
|
22
|
+
- **OpenFOAM**: v2012 or higher (sourced and installed)
|
|
23
|
+
- **Python**: 3.8 or higher
|
|
24
|
+
- **CMake**: 3.18 or higher
|
|
25
|
+
- **C++ Compiler**: C++17 compatible (GCC 7+, Clang 5+)
|
|
26
|
+
- **Build tools**: pybind11, scikit-build-core
|
|
27
|
+
- **Python packages**: numpy, pydantic
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
### Prerequisites
|
|
34
|
+
|
|
35
|
+
1. Source your OpenFOAM environment:
|
|
36
|
+
```bash
|
|
37
|
+
source /path/to/OpenFOAM/etc/bashrc
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
2. (Recommended) Create a virtual environment:
|
|
41
|
+
```bash
|
|
42
|
+
python -m venv .venv
|
|
43
|
+
source .venv/bin/activate
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Install from source
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pip install .
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For development:
|
|
53
|
+
```bash
|
|
54
|
+
pip install -e . --no-build-isolation
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Quick Start
|
|
60
|
+
|
|
61
|
+
### Basic Usage
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
import pybFoam as pf
|
|
65
|
+
|
|
66
|
+
# Create OpenFOAM time and mesh
|
|
67
|
+
time = pf.createTime()
|
|
68
|
+
mesh = pf.fvMesh(time)
|
|
69
|
+
|
|
70
|
+
# Access fields
|
|
71
|
+
p = pf.volScalarField.read_field(mesh, "p")
|
|
72
|
+
U = pf.volVectorField.read_field(mesh, "U")
|
|
73
|
+
|
|
74
|
+
# Compute gradients using finite volume calculus
|
|
75
|
+
grad_p = pf.fvc.grad(p)
|
|
76
|
+
div_U = pf.fvc.div(U)
|
|
77
|
+
|
|
78
|
+
# Convert to NumPy arrays for analysis
|
|
79
|
+
import numpy as np
|
|
80
|
+
p_array = np.asarray(p["internalField"])
|
|
81
|
+
print(f"Pressure range: {p_array.min():.3f} to {p_array.max():.3f}")
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Sampling Surfaces
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
from pybFoam.sampling import SampledPlaneConfig, sampledSurface, interpolationScalar
|
|
88
|
+
from pybFoam import Word
|
|
89
|
+
|
|
90
|
+
# Create a sampling plane using Pydantic config
|
|
91
|
+
plane_config = SampledPlaneConfig(
|
|
92
|
+
point=[0.5, 0.5, 0.0],
|
|
93
|
+
normal=[1.0, 0.0, 0.0]
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
# Create the surface
|
|
97
|
+
plane = sampledSurface.New(Word("myPlane"), mesh, plane_config.to_foam_dict())
|
|
98
|
+
plane.update()
|
|
99
|
+
|
|
100
|
+
# Interpolate field onto surface
|
|
101
|
+
interp = interpolationScalar.New(Word("cellPoint"), p)
|
|
102
|
+
sampled_values = interp.sampleOnFaces(plane)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Dictionary I/O with Pydantic
|
|
106
|
+
|
|
107
|
+
```python
|
|
108
|
+
from pybFoam.io import IOModelBase
|
|
109
|
+
from pydantic import Field
|
|
110
|
+
|
|
111
|
+
class TransportProperties(IOModelBase):
|
|
112
|
+
nu: float = Field(..., description="Kinematic viscosity")
|
|
113
|
+
|
|
114
|
+
class Config:
|
|
115
|
+
foam_file_name = "transportProperties"
|
|
116
|
+
|
|
117
|
+
# Read from OpenFOAM dictionary
|
|
118
|
+
props = TransportProperties.from_file("constant/transportProperties")
|
|
119
|
+
print(f"Viscosity: {props.nu}")
|
|
120
|
+
|
|
121
|
+
# Modify and write back
|
|
122
|
+
props.nu = 1e-5
|
|
123
|
+
props.to_file("constant/transportProperties")
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Examples
|
|
129
|
+
|
|
130
|
+
See the `tests/` directory for more examples:
|
|
131
|
+
- **Basic field operations**: `tests/pybind/test_primitives.py`
|
|
132
|
+
- **Finite volume operators**: `tests/pybind/test_fvc.py`, `tests/pybind/test_fvm.py`
|
|
133
|
+
- **Surface sampling**: `tests/pybind/test_surface_sampling.py`
|
|
134
|
+
- **Line sampling**: `tests/pybind/test_set_sampling.py`
|
|
135
|
+
- **Solver example**: `tests/cavity/icoFoam.py`
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Testing
|
|
140
|
+
|
|
141
|
+
Run the test suite:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
pytest tests/
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Run specific test categories:
|
|
148
|
+
```bash
|
|
149
|
+
pytest tests/pybind/ # C++ binding tests
|
|
150
|
+
pytest tests/test_sampling_models.py # Pydantic config tests
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Documentation
|
|
156
|
+
|
|
157
|
+
Full documentation is available at: [https://henningscheufler.github.io/pybFoam/](https://henningscheufler.github.io/pybFoam/index.html)
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
### Development Setup
|
|
162
|
+
|
|
163
|
+
1. Clone the repository
|
|
164
|
+
2. Install development dependencies:
|
|
165
|
+
```bash
|
|
166
|
+
pip install -e ".[dev]"
|
|
167
|
+
```
|
|
168
|
+
3. Run tests before committing:
|
|
169
|
+
```bash
|
|
170
|
+
pytest tests/
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## License
|
|
176
|
+
|
|
177
|
+
See [LICENSE](LICENSE) file for details.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
|
|
@@ -228,6 +228,26 @@ if(NOT TARGET OpenFOAM::lagrangian)
|
|
|
228
228
|
target_link_directories(OpenFOAM::lagrangian INTERFACE "${FOAM_LIBBIN}")
|
|
229
229
|
endif()
|
|
230
230
|
|
|
231
|
+
# ============================================================================
|
|
232
|
+
# Create OpenFOAM::sampling target
|
|
233
|
+
# ============================================================================
|
|
234
|
+
if(NOT TARGET OpenFOAM::sampling)
|
|
235
|
+
add_library(OpenFOAM::sampling INTERFACE IMPORTED)
|
|
236
|
+
|
|
237
|
+
target_include_directories(OpenFOAM::sampling INTERFACE
|
|
238
|
+
"${FOAM_SRC}/sampling/lnInclude"
|
|
239
|
+
"${FOAM_SRC}/sampling/sampledSurface/sampledSurface"
|
|
240
|
+
)
|
|
241
|
+
|
|
242
|
+
target_link_libraries(OpenFOAM::sampling INTERFACE
|
|
243
|
+
sampling
|
|
244
|
+
OpenFOAM::finiteVolume
|
|
245
|
+
OpenFOAM::meshTools
|
|
246
|
+
OpenFOAM::core
|
|
247
|
+
)
|
|
248
|
+
target_link_directories(OpenFOAM::sampling INTERFACE "${FOAM_LIBBIN}")
|
|
249
|
+
endif()
|
|
250
|
+
|
|
231
251
|
# ============================================================================
|
|
232
252
|
# Create OpenFOAM::api target (combines all libraries)
|
|
233
253
|
# ============================================================================
|
|
@@ -243,6 +263,7 @@ if(NOT TARGET OpenFOAM::api)
|
|
|
243
263
|
OpenFOAM::transport
|
|
244
264
|
OpenFOAM::fileFormats
|
|
245
265
|
OpenFOAM::lagrangian
|
|
266
|
+
OpenFOAM::sampling
|
|
246
267
|
)
|
|
247
268
|
endif()
|
|
248
269
|
|
|
@@ -267,6 +288,7 @@ set(OPENFOAM_INCLUDE_DIRS
|
|
|
267
288
|
"${FOAM_SRC}/fileFormats/lnInclude"
|
|
268
289
|
"${FOAM_SRC}/surfMesh/lnInclude"
|
|
269
290
|
"${FOAM_SRC}/lagrangian/basic/lnInclude"
|
|
291
|
+
"${FOAM_SRC}/sampling/lnInclude"
|
|
270
292
|
)
|
|
271
293
|
|
|
272
294
|
set(OPENFOAM_LIBRARY_DIRS "${FOAM_LIBBIN}")
|
|
@@ -286,6 +308,7 @@ set(OPENFOAM_LIBRARIES
|
|
|
286
308
|
fileFormats
|
|
287
309
|
surfMesh
|
|
288
310
|
lagrangian
|
|
311
|
+
sampling
|
|
289
312
|
)
|
|
290
313
|
|
|
291
314
|
# ============================================================================
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line, and also
|
|
5
|
+
# from the environment for the first two.
|
|
6
|
+
SPHINXOPTS ?=
|
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
|
8
|
+
SOURCEDIR = .
|
|
9
|
+
BUILDDIR = _build
|
|
10
|
+
|
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
|
12
|
+
help:
|
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
|
+
|
|
15
|
+
.PHONY: help Makefile
|
|
16
|
+
|
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
19
|
+
%: Makefile
|
|
20
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
#
|
|
3
|
+
# For the full list of built-in configuration values, see the documentation:
|
|
4
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
5
|
+
|
|
6
|
+
# -- Project information -----------------------------------------------------
|
|
7
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
8
|
+
|
|
9
|
+
project = "pybFoam"
|
|
10
|
+
copyright = "2025, Henning Scheufler"
|
|
11
|
+
author = "Henning Scheufler"
|
|
12
|
+
release = "0.1.6"
|
|
13
|
+
|
|
14
|
+
# -- General configuration ---------------------------------------------------
|
|
15
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
16
|
+
|
|
17
|
+
extensions = [
|
|
18
|
+
"sphinx.ext.autodoc",
|
|
19
|
+
"sphinxcontrib.mermaid",
|
|
20
|
+
"sphinx.ext.intersphinx",
|
|
21
|
+
"sphinx.ext.autosectionlabel",
|
|
22
|
+
"sphinx.ext.todo",
|
|
23
|
+
"sphinx.ext.coverage",
|
|
24
|
+
"sphinx.ext.mathjax",
|
|
25
|
+
"sphinx.ext.ifconfig",
|
|
26
|
+
"sphinx.ext.viewcode",
|
|
27
|
+
"sphinx_sitemap",
|
|
28
|
+
"sphinx.ext.inheritance_diagram",
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
templates_path = ["_templates"]
|
|
32
|
+
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
|
33
|
+
|
|
34
|
+
# -- Options for HTML output -------------------------------------------------
|
|
35
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
36
|
+
|
|
37
|
+
html_theme = "furo"
|
|
38
|
+
html_theme_options = {
|
|
39
|
+
"canonical_url": "",
|
|
40
|
+
"analytics_id": "", # Provided by Google in your dashboard
|
|
41
|
+
"display_version": True,
|
|
42
|
+
"prev_next_buttons_location": "bottom",
|
|
43
|
+
"style_external_links": False,
|
|
44
|
+
"logo_only": False,
|
|
45
|
+
# Toc options
|
|
46
|
+
"collapse_navigation": True,
|
|
47
|
+
"sticky_navigation": True,
|
|
48
|
+
"navigation_depth": 4,
|
|
49
|
+
"includehidden": True,
|
|
50
|
+
"titles_only": False,
|
|
51
|
+
"sidebar_hide_name": False,
|
|
52
|
+
"navigation_with_keys": True,
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
html_static_path = ["_static"]
|
|
56
|
+
|
|
57
|
+
html_baseurl = "https://henning.github.io/pybFoam/"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.. pybFoam documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Sun Sep 7 12:02:25 2025.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
pybFoam Documentation
|
|
7
|
+
=====================
|
|
8
|
+
|
|
9
|
+
.. toctree::
|
|
10
|
+
:maxdepth: 2
|
|
11
|
+
:caption: Contents
|
|
12
|
+
|
|
13
|
+
installation
|
|
14
|
+
usage
|
|
15
|
+
api
|
|
16
|
+
contributing
|
|
17
|
+
changelog
|
|
18
|
+
|
|
19
|
+
Indices and tables
|
|
20
|
+
==================
|
|
21
|
+
|
|
22
|
+
* :ref:`genindex`
|
|
23
|
+
* :ref:`modindex`
|
|
24
|
+
* :ref:`search`
|