pybFoam 0.1.0__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 (235) hide show
  1. pybfoam-0.1.0/.github/workflows/ci.yaml +38 -0
  2. pybfoam-0.1.0/.gitignore +138 -0
  3. pybfoam-0.1.0/CHANGELOG.md +0 -0
  4. pybfoam-0.1.0/CMakeLists.txt +51 -0
  5. pybfoam-0.1.0/CMakePresets.json +143 -0
  6. pybfoam-0.1.0/LICENSE +674 -0
  7. pybfoam-0.1.0/PKG-INFO +75 -0
  8. pybfoam-0.1.0/README.md +30 -0
  9. pybfoam-0.1.0/cmake/Dependencies.cmake +78 -0
  10. pybfoam-0.1.0/cmake/FindOpenFOAM.cmake +311 -0
  11. pybfoam-0.1.0/conftest.py +9 -0
  12. pybfoam-0.1.0/docs/404.md +6 -0
  13. pybfoam-0.1.0/docs/LICENSE +13 -0
  14. pybfoam-0.1.0/docs/LICENSE-BSD-NAVGOCO.txt +27 -0
  15. pybfoam-0.1.0/docs/_config.yml +117 -0
  16. pybfoam-0.1.0/docs/_data/alerts.yml +18 -0
  17. pybfoam-0.1.0/docs/_data/definitions.yml +12 -0
  18. pybfoam-0.1.0/docs/_data/glossary.yml +13 -0
  19. pybfoam-0.1.0/docs/_data/samplelist.yml +109 -0
  20. pybfoam-0.1.0/docs/_data/sidebars/doc_sidebar.yml +80 -0
  21. pybfoam-0.1.0/docs/_data/sidebars/home_sidebar.yml +24 -0
  22. pybfoam-0.1.0/docs/_data/strings.yml +8 -0
  23. pybfoam-0.1.0/docs/_data/terms.yml +3 -0
  24. pybfoam-0.1.0/docs/_data/topnav.yml +34 -0
  25. pybfoam-0.1.0/docs/_includes/archive.html +15 -0
  26. pybfoam-0.1.0/docs/_includes/callout.html +4 -0
  27. pybfoam-0.1.0/docs/_includes/commento.html +8 -0
  28. pybfoam-0.1.0/docs/_includes/custom/getting_started_series.html +21 -0
  29. pybfoam-0.1.0/docs/_includes/custom/getting_started_series_next.html +13 -0
  30. pybfoam-0.1.0/docs/_includes/custom/series_acme.html +21 -0
  31. pybfoam-0.1.0/docs/_includes/custom/series_acme_next.html +32 -0
  32. pybfoam-0.1.0/docs/_includes/custom/usermap.html +16 -0
  33. pybfoam-0.1.0/docs/_includes/custom/usermapcomplex.html +93 -0
  34. pybfoam-0.1.0/docs/_includes/feedback.html +15 -0
  35. pybfoam-0.1.0/docs/_includes/footer.html +11 -0
  36. pybfoam-0.1.0/docs/_includes/google_analytics.html +8 -0
  37. pybfoam-0.1.0/docs/_includes/head.html +43 -0
  38. pybfoam-0.1.0/docs/_includes/head_print.html +30 -0
  39. pybfoam-0.1.0/docs/_includes/image.html +3 -0
  40. pybfoam-0.1.0/docs/_includes/important.html +3 -0
  41. pybfoam-0.1.0/docs/_includes/initialize_shuffle.html +130 -0
  42. pybfoam-0.1.0/docs/_includes/inline_image.html +3 -0
  43. pybfoam-0.1.0/docs/_includes/links.html +45 -0
  44. pybfoam-0.1.0/docs/_includes/note.html +3 -0
  45. pybfoam-0.1.0/docs/_includes/sidebar.html +60 -0
  46. pybfoam-0.1.0/docs/_includes/taglogic.html +33 -0
  47. pybfoam-0.1.0/docs/_includes/tip.html +3 -0
  48. pybfoam-0.1.0/docs/_includes/toc.html +23 -0
  49. pybfoam-0.1.0/docs/_includes/topnav.html +83 -0
  50. pybfoam-0.1.0/docs/_includes/video.html +8 -0
  51. pybfoam-0.1.0/docs/_includes/warning.html +3 -0
  52. pybfoam-0.1.0/docs/_layouts/default.html +108 -0
  53. pybfoam-0.1.0/docs/_layouts/default_print.html +26 -0
  54. pybfoam-0.1.0/docs/_layouts/none.html +5 -0
  55. pybfoam-0.1.0/docs/_layouts/page.html +70 -0
  56. pybfoam-0.1.0/docs/_layouts/page_print.html +17 -0
  57. pybfoam-0.1.0/docs/_layouts/post.html +41 -0
  58. pybfoam-0.1.0/docs/createtag +54 -0
  59. pybfoam-0.1.0/docs/css/bootstrap.min.css +7529 -0
  60. pybfoam-0.1.0/docs/css/boxshadowproperties.css +24 -0
  61. pybfoam-0.1.0/docs/css/customstyles.css +1203 -0
  62. pybfoam-0.1.0/docs/css/font-awesome.min.css +4 -0
  63. pybfoam-0.1.0/docs/css/fonts/FontAwesome.otf +0 -0
  64. pybfoam-0.1.0/docs/css/fonts/fontawesome-webfont.eot +0 -0
  65. pybfoam-0.1.0/docs/css/fonts/fontawesome-webfont.svg +2671 -0
  66. pybfoam-0.1.0/docs/css/fonts/fontawesome-webfont.ttf +0 -0
  67. pybfoam-0.1.0/docs/css/fonts/fontawesome-webfont.woff +0 -0
  68. pybfoam-0.1.0/docs/css/fonts/fontawesome-webfont.woff2 +0 -0
  69. pybfoam-0.1.0/docs/css/modern-business.css +89 -0
  70. pybfoam-0.1.0/docs/css/printstyles.css +159 -0
  71. pybfoam-0.1.0/docs/css/syntax.css +60 -0
  72. pybfoam-0.1.0/docs/css/theme-blue.css +121 -0
  73. pybfoam-0.1.0/docs/css/theme-green.css +110 -0
  74. pybfoam-0.1.0/docs/feed.xml +32 -0
  75. pybfoam-0.1.0/docs/fonts/FontAwesome.otf +0 -0
  76. pybfoam-0.1.0/docs/fonts/fontawesome-webfont.eot +0 -0
  77. pybfoam-0.1.0/docs/fonts/fontawesome-webfont.svg +520 -0
  78. pybfoam-0.1.0/docs/fonts/fontawesome-webfont.ttf +0 -0
  79. pybfoam-0.1.0/docs/fonts/fontawesome-webfont.woff +0 -0
  80. pybfoam-0.1.0/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  81. pybfoam-0.1.0/docs/fonts/glyphicons-halflings-regular.svg +288 -0
  82. pybfoam-0.1.0/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  83. pybfoam-0.1.0/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  84. pybfoam-0.1.0/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  85. pybfoam-0.1.0/docs/images/OFCaseStructure.png +0 -0
  86. pybfoam-0.1.0/docs/images/dlr_logo.png +0 -0
  87. pybfoam-0.1.0/docs/index.md +33 -0
  88. pybfoam-0.1.0/docs/js/customscripts.js +54 -0
  89. pybfoam-0.1.0/docs/js/jekyll-search.js +1 -0
  90. pybfoam-0.1.0/docs/js/jquery.ba-throttle-debounce.min.js +9 -0
  91. pybfoam-0.1.0/docs/js/jquery.navgoco.min.js +8 -0
  92. pybfoam-0.1.0/docs/js/jquery.shuffle.min.js +1588 -0
  93. pybfoam-0.1.0/docs/js/toc.js +82 -0
  94. pybfoam-0.1.0/docs/pages/doc/doc_OpenFOAM.md +106 -0
  95. pybfoam-0.1.0/docs/pages/doc/doc_externalComm.md +113 -0
  96. pybfoam-0.1.0/docs/pages/doc/doc_input.md +103 -0
  97. pybfoam-0.1.0/docs/pages/doc/doc_installation.md +24 -0
  98. pybfoam-0.1.0/docs/pages/doc/doc_introduction.md +24 -0
  99. pybfoam-0.1.0/docs/pages/doc/doc_output.md +58 -0
  100. pybfoam-0.1.0/docs/pages/doc/doc_python_wrapper.md +9 -0
  101. pybfoam-0.1.0/docs/pages/doc/doc_release_notes_01.md +13 -0
  102. pybfoam-0.1.0/docs/pdf/mydoc.pdf +16252 -10
  103. pybfoam-0.1.0/docs/pdf-doc.sh +14 -0
  104. pybfoam-0.1.0/docs/pdfconfigs/config_doc_pdf.yml +20 -0
  105. pybfoam-0.1.0/docs/pdfconfigs/prince-list.txt +82 -0
  106. pybfoam-0.1.0/docs/pdfconfigs/titlepage.html +22 -0
  107. pybfoam-0.1.0/docs/pdfconfigs/tocpage.html +44 -0
  108. pybfoam-0.1.0/docs/search.json +33 -0
  109. pybfoam-0.1.0/docs/sitemap.xml +24 -0
  110. pybfoam-0.1.0/docs/tooltips.html +79 -0
  111. pybfoam-0.1.0/docs/tooltips.json +19 -0
  112. pybfoam-0.1.0/docs/update.sh +4 -0
  113. pybfoam-0.1.0/docs/var/build.sh +10 -0
  114. pybfoam-0.1.0/pyproject.toml +93 -0
  115. pybfoam-0.1.0/scripts/generate_stubs.py +77 -0
  116. pybfoam-0.1.0/scripts/pyInstall.sh +76 -0
  117. pybfoam-0.1.0/src/pybFoam/CMakeLists.txt +31 -0
  118. pybfoam-0.1.0/src/pybFoam/__init__.py +26 -0
  119. pybfoam-0.1.0/src/pybFoam/_version.py +1 -0
  120. pybfoam-0.1.0/src/pybFoam/fvc/CMakeLists.txt +43 -0
  121. pybfoam-0.1.0/src/pybFoam/fvc/bind_fvc.cpp +143 -0
  122. pybfoam-0.1.0/src/pybFoam/fvc/bind_fvc.hpp +49 -0
  123. pybfoam-0.1.0/src/pybFoam/fvc/fvc.cpp +31 -0
  124. pybfoam-0.1.0/src/pybFoam/fvc.pyi +265 -0
  125. pybfoam-0.1.0/src/pybFoam/fvm/CMakeLists.txt +43 -0
  126. pybfoam-0.1.0/src/pybFoam/fvm/bind_fvm.cpp +116 -0
  127. pybfoam-0.1.0/src/pybFoam/fvm/bind_fvm.hpp +55 -0
  128. pybfoam-0.1.0/src/pybFoam/fvm/fvm.cpp +31 -0
  129. pybfoam-0.1.0/src/pybFoam/io/__init__.py +1 -0
  130. pybfoam-0.1.0/src/pybFoam/io/model_base.py +110 -0
  131. pybfoam-0.1.0/src/pybFoam/io/system.py +64 -0
  132. pybfoam-0.1.0/src/pybFoam/py.typed +22 -0
  133. pybfoam-0.1.0/src/pybFoam/pybFoam_core/CMakeLists.txt +61 -0
  134. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_cfdTools.cpp +102 -0
  135. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_cfdTools.hpp +51 -0
  136. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_control.cpp +62 -0
  137. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_control.hpp +51 -0
  138. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_dict.cpp +225 -0
  139. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_dict.hpp +61 -0
  140. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_dimensioned.cpp +47 -0
  141. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_dimensioned.hpp +51 -0
  142. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_fields.cpp +242 -0
  143. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_fields.hpp +70 -0
  144. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_fvMatrix.cpp +194 -0
  145. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_fvMatrix.hpp +55 -0
  146. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_geo_fields.cpp +321 -0
  147. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_geo_fields.hpp +106 -0
  148. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_io.cpp +37 -0
  149. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_io.hpp +47 -0
  150. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_mesh.cpp +182 -0
  151. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_mesh.hpp +65 -0
  152. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_primitives.cpp +134 -0
  153. pybfoam-0.1.0/src/pybFoam/pybFoam_core/bind_primitives.hpp +115 -0
  154. pybfoam-0.1.0/src/pybFoam/pybFoam_core/pybFoam.cpp +48 -0
  155. pybfoam-0.1.0/src/pybFoam/pybFoam_core.pyi +777 -0
  156. pybfoam-0.1.0/src/pybFoam/runTimeTables/CMakeLists.txt +43 -0
  157. pybfoam-0.1.0/src/pybFoam/runTimeTables/foam_runTimeTables.C +63 -0
  158. pybfoam-0.1.0/src/pybFoam/runTimeTables/foam_runTimeTables.H +49 -0
  159. pybfoam-0.1.0/src/pybFoam/runTimeTables/runTimeTables.C +31 -0
  160. pybfoam-0.1.0/src/pybFoam/runTimeTables.pyi +17 -0
  161. pybfoam-0.1.0/src/pybFoam/thermo/CMakeLists.txt +45 -0
  162. pybfoam-0.1.0/src/pybFoam/thermo/bind_thermo.cpp +72 -0
  163. pybfoam-0.1.0/src/pybFoam/thermo/bind_thermo.hpp +51 -0
  164. pybfoam-0.1.0/src/pybFoam/thermo/thermo.cpp +31 -0
  165. pybfoam-0.1.0/src/pybFoam/thermo.pyi +23 -0
  166. pybfoam-0.1.0/src/pybFoam/turbulence/CMakeLists.txt +45 -0
  167. pybfoam-0.1.0/src/pybFoam/turbulence/bind_turbulence.cpp +124 -0
  168. pybfoam-0.1.0/src/pybFoam/turbulence/bind_turbulence.hpp +51 -0
  169. pybfoam-0.1.0/src/pybFoam/turbulence/turbulence.cpp +31 -0
  170. pybfoam-0.1.0/src/pybFoam/turbulence.pyi +41 -0
  171. pybfoam-0.1.0/tests/cavity/0.orig/U +41 -0
  172. pybfoam-0.1.0/tests/cavity/0.orig/nu +40 -0
  173. pybfoam-0.1.0/tests/cavity/0.orig/p +40 -0
  174. pybfoam-0.1.0/tests/cavity/Allclean +10 -0
  175. pybfoam-0.1.0/tests/cavity/Allrun +16 -0
  176. pybfoam-0.1.0/tests/cavity/constant/transportProperties +20 -0
  177. pybfoam-0.1.0/tests/cavity/icoFoam.py +76 -0
  178. pybfoam-0.1.0/tests/cavity/log2 +11055 -0
  179. pybfoam-0.1.0/tests/cavity/system/PDRblockMeshDict +61 -0
  180. pybfoam-0.1.0/tests/cavity/system/blockMeshDict +72 -0
  181. pybfoam-0.1.0/tests/cavity/system/controlDict +48 -0
  182. pybfoam-0.1.0/tests/cavity/system/decomposeParDict +27 -0
  183. pybfoam-0.1.0/tests/cavity/system/fvSchemes +56 -0
  184. pybfoam-0.1.0/tests/cavity/system/fvSolution +53 -0
  185. pybfoam-0.1.0/tests/elbow/0.orig/U +57 -0
  186. pybfoam-0.1.0/tests/elbow/0.orig/nu +40 -0
  187. pybfoam-0.1.0/tests/elbow/0.orig/p +56 -0
  188. pybfoam-0.1.0/tests/elbow/Allclean +10 -0
  189. pybfoam-0.1.0/tests/elbow/Allrun +17 -0
  190. pybfoam-0.1.0/tests/elbow/constant/transportProperties +20 -0
  191. pybfoam-0.1.0/tests/elbow/icoFoam.py +76 -0
  192. pybfoam-0.1.0/tests/elbow/system/controlDict +48 -0
  193. pybfoam-0.1.0/tests/elbow/system/foamDataToFluentDict +32 -0
  194. pybfoam-0.1.0/tests/elbow/system/fvSchemes +54 -0
  195. pybfoam-0.1.0/tests/elbow/system/fvSolution +49 -0
  196. pybfoam-0.1.0/tests/io/TestDict +48 -0
  197. pybfoam-0.1.0/tests/io/TestDict.json +13 -0
  198. pybfoam-0.1.0/tests/io/TestDict.yaml +18 -0
  199. pybfoam-0.1.0/tests/io/controlDict +52 -0
  200. pybfoam-0.1.0/tests/io/fvSchemes +55 -0
  201. pybfoam-0.1.0/tests/io/fvSolution +52 -0
  202. pybfoam-0.1.0/tests/io/test_controlDict.py +43 -0
  203. pybfoam-0.1.0/tests/io/test_fvSchemes.py +50 -0
  204. pybfoam-0.1.0/tests/io/test_fvSolution.py +58 -0
  205. pybfoam-0.1.0/tests/io/test_parse_ofdict.py +92 -0
  206. pybfoam-0.1.0/tests/pybind/0/U +54 -0
  207. pybfoam-0.1.0/tests/pybind/0/alpha.water +49 -0
  208. pybfoam-0.1.0/tests/pybind/0/p_rgh +52 -0
  209. pybfoam-0.1.0/tests/pybind/0.orig/U +54 -0
  210. pybfoam-0.1.0/tests/pybind/0.orig/alpha.water +49 -0
  211. pybfoam-0.1.0/tests/pybind/0.orig/p_rgh +52 -0
  212. pybfoam-0.1.0/tests/pybind/Allclean +10 -0
  213. pybfoam-0.1.0/tests/pybind/Allrun +14 -0
  214. pybfoam-0.1.0/tests/pybind/Allrun-parallel +16 -0
  215. pybfoam-0.1.0/tests/pybind/constant/dynamicMeshDict +21 -0
  216. pybfoam-0.1.0/tests/pybind/constant/g +22 -0
  217. pybfoam-0.1.0/tests/pybind/constant/polyMesh/boundary +57 -0
  218. pybfoam-0.1.0/tests/pybind/constant/polyMesh/faces +9201 -0
  219. pybfoam-0.1.0/tests/pybind/constant/polyMesh/neighbour +4458 -0
  220. pybfoam-0.1.0/tests/pybind/constant/polyMesh/owner +9202 -0
  221. pybfoam-0.1.0/tests/pybind/constant/polyMesh/points +4771 -0
  222. pybfoam-0.1.0/tests/pybind/constant/transportProperties +38 -0
  223. pybfoam-0.1.0/tests/pybind/constant/turbulenceProperties +21 -0
  224. pybfoam-0.1.0/tests/pybind/system/TestDict +43 -0
  225. pybfoam-0.1.0/tests/pybind/system/blockMeshDict +114 -0
  226. pybfoam-0.1.0/tests/pybind/system/controlDict +81 -0
  227. pybfoam-0.1.0/tests/pybind/system/decomposeParDict +27 -0
  228. pybfoam-0.1.0/tests/pybind/system/fvSchemes +59 -0
  229. pybfoam-0.1.0/tests/pybind/system/fvSolution +80 -0
  230. pybfoam-0.1.0/tests/pybind/system/setFieldsDict +36 -0
  231. pybfoam-0.1.0/tests/pybind/test_dict.py +46 -0
  232. pybfoam-0.1.0/tests/pybind/test_fvc.py +34 -0
  233. pybfoam-0.1.0/tests/pybind/test_fvm.py +21 -0
  234. pybfoam-0.1.0/tests/pybind/test_geoFields.py +61 -0
  235. pybfoam-0.1.0/tests/pybind/test_primitives.py +174 -0
@@ -0,0 +1,38 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ branches:
8
+ - '*'
9
+
10
+ jobs:
11
+ build-test:
12
+ runs-on: ubuntu-24.04 # may use an older version to test
13
+ strategy:
14
+ matrix:
15
+ openfoam-version: [2406, 2412, 2506]
16
+ fail-fast: false
17
+ name: Test with OpenFOAM ${{ matrix.openfoam-version }}
18
+ steps:
19
+ - uses: actions/checkout@v5
20
+ - name: Set up OpenFOAM
21
+ uses: gerlero/setup-openfoam@v1
22
+ with:
23
+ openfoam-version: ${{ matrix.openfoam-version }}
24
+ - name: Install Python and dependencies
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: '3.11'
28
+ - name: Install build dependencies
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install scikit-build-core[pyproject] pybind11 cmake numpy pydantic pyyaml
32
+ pip install .[dev]
33
+ - name: Build package
34
+ run: |
35
+ pip install .
36
+ - name: Run tests
37
+ run: |
38
+ pytest
@@ -0,0 +1,138 @@
1
+ build
2
+ .vscode
3
+
4
+ # git-ls-files --others --exclude-from=.git/info/exclude
5
+ # Lines that start with '#' are comments.
6
+
7
+ # Editor and misc backup files - anywhere
8
+ *~
9
+ .*~
10
+ *.bak
11
+ *.bak[0-9][0-9]
12
+ \#*\#
13
+
14
+ # File-browser settings - anywhere
15
+ .directory
16
+
17
+ # CVS recovered versions - anywhere
18
+ .#*
19
+
20
+ # Objects and archives - anywhere
21
+ *.[oa]
22
+ *.la
23
+ *.so
24
+ *.o
25
+
26
+ # Derived files
27
+ lex.yy.c
28
+
29
+ # Corefiles
30
+ core
31
+
32
+ # Dependency files - anywhere
33
+ *.dep
34
+
35
+ # lnInclude (symlink) directories - anywhere
36
+ lnInclude
37
+
38
+ #OpenFOAM
39
+ Cases
40
+ CasesTri
41
+ polyMesh/*
42
+ 0.[0-9]* [1-9]* *e-*
43
+ processor*
44
+
45
+ # Build directories - anywhere
46
+ linux*Clang*/
47
+ linux*Gcc*/
48
+ linux*Icc*/
49
+ solaris*Gcc*/
50
+ SunOS*Gcc*/
51
+ platforms/
52
+
53
+ # Reinstate wmake/rules that might look like build directories
54
+ !wmake/rules/*/
55
+
56
+ # doxygen generated documentation
57
+ doc/Doxygen/html
58
+ doc/Doxygen/latex
59
+ doc/Doxygen/man
60
+ doc/Doxygen/DTAGS
61
+
62
+ # Generated files in the main directory (e.g. ReleaseNotes-?.?.html)
63
+ # and in the doc directory
64
+ /*.html
65
+ /doc/*.html
66
+
67
+ # Untracked configuration files
68
+ /etc/prefs.csh
69
+ /etc/prefs.sh
70
+ /etc/config/prefs.csh
71
+ /etc/config/prefs.sh
72
+
73
+ # Source packages - anywhere
74
+ *.tar.bz2
75
+ *.tar.gz
76
+ *.tar
77
+ *.tgz
78
+ *.gtgz
79
+
80
+ # irgnore files qtcreator
81
+ *.config
82
+ *.creator.user
83
+ *.creator
84
+ *.includes
85
+ *.files
86
+
87
+ # Ignore the persistent .build tag in the main directory
88
+ /.build
89
+
90
+ # Ignore .timeStamp in the main directory
91
+ /.timeStamp
92
+
93
+ # Ignore .tags in the main directory
94
+ /.tags
95
+
96
+ # Ignore eclipse project files in the main directory
97
+ /.cproject
98
+ /.project
99
+
100
+ # Ignore the test directory
101
+ /tutorialsTest
102
+
103
+ # python
104
+ __pychache__
105
+ *.pyc
106
+ env
107
+ # end-of-file
108
+
109
+ temp
110
+
111
+
112
+ # docs
113
+
114
+ _site/
115
+ .sass-cache/
116
+ .jekyll-metadata
117
+ .jekyll-cache
118
+ _pdf
119
+ .DS_Store
120
+ .idea
121
+ vendor/
122
+ .bundle/
123
+
124
+ #conan
125
+
126
+ conanbuildinfo.txt
127
+ conaninfo.txt
128
+ conan.lock
129
+ graph_info.json
130
+ conan_imports_manifest.txt
131
+
132
+ #Python
133
+ __pycache__
134
+ *.egg-info
135
+ .pytest_cache
136
+ dist/
137
+ build/
138
+ _skbuild/
File without changes
@@ -0,0 +1,51 @@
1
+ cmake_minimum_required(VERSION 3.18)
2
+
3
+ # Set CMake policies for compatibility
4
+ if(POLICY CMP0169)
5
+ cmake_policy(SET CMP0169 OLD)
6
+ endif()
7
+
8
+ project(pybFoam VERSION 0.1.0 LANGUAGES CXX)
9
+
10
+ # Set C++ standard
11
+ set(CMAKE_CXX_STANDARD 17)
12
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
13
+
14
+ # Add cmake module path
15
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
16
+
17
+ # Configure dependencies with CPM
18
+ include(Dependencies)
19
+
20
+ # Find Python (scikit-build-core sets up Python variables)
21
+ if(NOT Python_FOUND)
22
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
23
+ endif()
24
+
25
+ # Find OpenFOAM
26
+ find_package(OpenFOAM REQUIRED)
27
+
28
+ # Add compiler flags for OpenFOAM compatibility
29
+ add_compile_options(-Wno-old-style-cast)
30
+
31
+ # Set proper output directories
32
+ # scikit-build-core sets SKBUILD to indicate it's managing the build
33
+ if(DEFINED SKBUILD)
34
+ # Let scikit-build-core handle the install locations
35
+ message(STATUS "Building with scikit-build-core")
36
+ else()
37
+ # Standalone build - set our own output directories
38
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
39
+ set(PYTHON_INSTALL_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
40
+ endif()
41
+
42
+ # Add subdirectories
43
+ add_subdirectory(src/pybFoam)
44
+
45
+ # Optional: Add applications and tests only if not building with pip
46
+ if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
47
+ # add_subdirectory(src/embeddingPython)
48
+ # add_subdirectory(application EXCLUDE_FROM_ALL)
49
+ # enable_testing()
50
+ # add_subdirectory(testsuite EXCLUDE_FROM_ALL)
51
+ endif()
@@ -0,0 +1,143 @@
1
+ {
2
+ "version": 3,
3
+ "configurePresets": [
4
+ {
5
+ "name": "default",
6
+ "displayName": "Default Config",
7
+ "description": "Default build configuration for pybFoam",
8
+ "generator": "Unix Makefiles",
9
+ "binaryDir": "${sourceDir}/build",
10
+ "cacheVariables": {
11
+ "CMAKE_BUILD_TYPE": "Release",
12
+ "CMAKE_CXX_COMPILER": "g++",
13
+ "CMAKE_C_COMPILER": "gcc",
14
+ "CPM_SOURCE_CACHE": "$env{HOME}/.cache/CPM",
15
+ "CPM_USE_LOCAL_PACKAGES": "ON"
16
+ },
17
+ "condition": {
18
+ "type": "notEquals",
19
+ "lhs": "$env{FOAM_SRC}",
20
+ "rhs": ""
21
+ }
22
+ },
23
+ {
24
+ "name": "debug",
25
+ "displayName": "Debug Config",
26
+ "description": "Debug build configuration for pybFoam",
27
+ "inherits": "default",
28
+ "cacheVariables": {
29
+ "CMAKE_BUILD_TYPE": "Debug",
30
+ "CMAKE_CXX_FLAGS": "-g -O0 -DDEBUG"
31
+ }
32
+ },
33
+ {
34
+ "name": "release",
35
+ "displayName": "Release Config",
36
+ "description": "Release build configuration for pybFoam",
37
+ "inherits": "default",
38
+ "cacheVariables": {
39
+ "CMAKE_BUILD_TYPE": "Release",
40
+ "CMAKE_CXX_FLAGS": "-O3 -DNDEBUG"
41
+ }
42
+ },
43
+ {
44
+ "name": "relwithdebinfo",
45
+ "displayName": "Release with Debug Info",
46
+ "description": "Release build with debug information for pybFoam",
47
+ "inherits": "default",
48
+ "cacheVariables": {
49
+ "CMAKE_BUILD_TYPE": "RelWithDebInfo",
50
+ "CMAKE_CXX_FLAGS": "-O2 -g"
51
+ }
52
+ },
53
+ {
54
+ "name": "ninja",
55
+ "displayName": "Ninja Build",
56
+ "description": "Fast build using Ninja generator",
57
+ "inherits": "default",
58
+ "generator": "Ninja",
59
+ "cacheVariables": {
60
+ "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
61
+ }
62
+ },
63
+ {
64
+ "name": "clang",
65
+ "displayName": "Clang Build",
66
+ "description": "Build with Clang compiler",
67
+ "inherits": "default",
68
+ "cacheVariables": {
69
+ "CMAKE_CXX_COMPILER": "clang++",
70
+ "CMAKE_C_COMPILER": "clang"
71
+ }
72
+ },
73
+ {
74
+ "name": "offline",
75
+ "displayName": "Offline Build",
76
+ "description": "Build without downloading dependencies",
77
+ "inherits": "default",
78
+ "cacheVariables": {
79
+ "CPM_USE_LOCAL_PACKAGES": "ON",
80
+ "CPM_LOCAL_PACKAGES_ONLY": "ON"
81
+ }
82
+ },
83
+ {
84
+ "name": "no-cache",
85
+ "displayName": "No Cache Build",
86
+ "description": "Build without using CPM cache",
87
+ "inherits": "default",
88
+ "cacheVariables": {
89
+ "CPM_SOURCE_CACHE": ""
90
+ }
91
+ }
92
+ ],
93
+ "buildPresets": [
94
+ {
95
+ "name": "default",
96
+ "configurePreset": "default",
97
+ "displayName": "Default Build",
98
+ "description": "Build with default settings"
99
+ },
100
+ {
101
+ "name": "debug",
102
+ "configurePreset": "debug",
103
+ "displayName": "Debug Build",
104
+ "description": "Build in debug mode"
105
+ },
106
+ {
107
+ "name": "release",
108
+ "configurePreset": "release",
109
+ "displayName": "Release Build",
110
+ "description": "Build in release mode"
111
+ },
112
+ {
113
+ "name": "ninja",
114
+ "configurePreset": "ninja",
115
+ "displayName": "Ninja Build",
116
+ "description": "Fast build using Ninja"
117
+ },
118
+ {
119
+ "name": "parallel",
120
+ "configurePreset": "default",
121
+ "displayName": "Parallel Build",
122
+ "description": "Build with maximum parallelism",
123
+ "jobs": 0
124
+ }
125
+ ],
126
+ "testPresets": [
127
+ {
128
+ "name": "default",
129
+ "configurePreset": "default",
130
+ "displayName": "Default Test",
131
+ "description": "Run all tests"
132
+ },
133
+ {
134
+ "name": "verbose",
135
+ "configurePreset": "default",
136
+ "displayName": "Verbose Test",
137
+ "description": "Run tests with verbose output",
138
+ "output": {
139
+ "verbosity": "verbose"
140
+ }
141
+ }
142
+ ]
143
+ }