pybFoam 0.1.2__tar.gz → 0.1.4__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 (242) hide show
  1. {pybfoam-0.1.2 → pybfoam-0.1.4}/CMakeLists.txt +1 -1
  2. {pybfoam-0.1.2 → pybfoam-0.1.4}/PKG-INFO +1 -1
  3. {pybfoam-0.1.2 → pybfoam-0.1.4}/pyproject.toml +1 -1
  4. pybfoam-0.1.4/src/pybFoam/_version.py +1 -0
  5. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/aggregation/bind_aggregation.cpp +71 -6
  6. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_mesh.cpp +2 -0
  7. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_aggregation.py +58 -8
  8. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_geoFields.py +11 -6
  9. pybfoam-0.1.2/src/pybFoam/_version.py +0 -1
  10. {pybfoam-0.1.2 → pybfoam-0.1.4}/.github/workflows/ci.yaml +0 -0
  11. {pybfoam-0.1.2 → pybfoam-0.1.4}/.github/workflows/release.yaml +0 -0
  12. {pybfoam-0.1.2 → pybfoam-0.1.4}/.gitignore +0 -0
  13. {pybfoam-0.1.2 → pybfoam-0.1.4}/CHANGELOG.md +0 -0
  14. {pybfoam-0.1.2 → pybfoam-0.1.4}/CMakePresets.json +0 -0
  15. {pybfoam-0.1.2 → pybfoam-0.1.4}/LICENSE +0 -0
  16. {pybfoam-0.1.2 → pybfoam-0.1.4}/README.md +0 -0
  17. {pybfoam-0.1.2 → pybfoam-0.1.4}/cmake/Dependencies.cmake +0 -0
  18. {pybfoam-0.1.2 → pybfoam-0.1.4}/cmake/FindOpenFOAM.cmake +0 -0
  19. {pybfoam-0.1.2 → pybfoam-0.1.4}/conftest.py +0 -0
  20. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/404.md +0 -0
  21. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/LICENSE +0 -0
  22. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/LICENSE-BSD-NAVGOCO.txt +0 -0
  23. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_config.yml +0 -0
  24. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/alerts.yml +0 -0
  25. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/definitions.yml +0 -0
  26. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/glossary.yml +0 -0
  27. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/samplelist.yml +0 -0
  28. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/sidebars/doc_sidebar.yml +0 -0
  29. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/sidebars/home_sidebar.yml +0 -0
  30. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/strings.yml +0 -0
  31. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/terms.yml +0 -0
  32. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_data/topnav.yml +0 -0
  33. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/archive.html +0 -0
  34. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/callout.html +0 -0
  35. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/commento.html +0 -0
  36. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/getting_started_series.html +0 -0
  37. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/getting_started_series_next.html +0 -0
  38. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/series_acme.html +0 -0
  39. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/series_acme_next.html +0 -0
  40. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/usermap.html +0 -0
  41. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/custom/usermapcomplex.html +0 -0
  42. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/feedback.html +0 -0
  43. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/footer.html +0 -0
  44. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/google_analytics.html +0 -0
  45. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/head.html +0 -0
  46. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/head_print.html +0 -0
  47. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/image.html +0 -0
  48. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/important.html +0 -0
  49. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/initialize_shuffle.html +0 -0
  50. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/inline_image.html +0 -0
  51. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/links.html +0 -0
  52. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/note.html +0 -0
  53. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/sidebar.html +0 -0
  54. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/taglogic.html +0 -0
  55. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/tip.html +0 -0
  56. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/toc.html +0 -0
  57. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/topnav.html +0 -0
  58. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/video.html +0 -0
  59. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_includes/warning.html +0 -0
  60. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/default.html +0 -0
  61. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/default_print.html +0 -0
  62. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/none.html +0 -0
  63. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/page.html +0 -0
  64. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/page_print.html +0 -0
  65. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/_layouts/post.html +0 -0
  66. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/createtag +0 -0
  67. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/bootstrap.min.css +0 -0
  68. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/boxshadowproperties.css +0 -0
  69. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/customstyles.css +0 -0
  70. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/font-awesome.min.css +0 -0
  71. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/FontAwesome.otf +0 -0
  72. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/fontawesome-webfont.eot +0 -0
  73. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/fontawesome-webfont.svg +0 -0
  74. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/fontawesome-webfont.ttf +0 -0
  75. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/fontawesome-webfont.woff +0 -0
  76. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/fonts/fontawesome-webfont.woff2 +0 -0
  77. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/modern-business.css +0 -0
  78. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/printstyles.css +0 -0
  79. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/syntax.css +0 -0
  80. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/theme-blue.css +0 -0
  81. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/css/theme-green.css +0 -0
  82. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/feed.xml +0 -0
  83. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/FontAwesome.otf +0 -0
  84. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/fontawesome-webfont.eot +0 -0
  85. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/fontawesome-webfont.svg +0 -0
  86. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/fontawesome-webfont.ttf +0 -0
  87. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/fontawesome-webfont.woff +0 -0
  88. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/glyphicons-halflings-regular.eot +0 -0
  89. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/glyphicons-halflings-regular.svg +0 -0
  90. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
  91. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/glyphicons-halflings-regular.woff +0 -0
  92. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
  93. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/images/OFCaseStructure.png +0 -0
  94. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/images/dlr_logo.png +0 -0
  95. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/index.md +0 -0
  96. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/customscripts.js +0 -0
  97. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/jekyll-search.js +0 -0
  98. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/jquery.ba-throttle-debounce.min.js +0 -0
  99. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/jquery.navgoco.min.js +0 -0
  100. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/jquery.shuffle.min.js +0 -0
  101. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/js/toc.js +0 -0
  102. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_OpenFOAM.md +0 -0
  103. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_externalComm.md +0 -0
  104. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_input.md +0 -0
  105. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_installation.md +0 -0
  106. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_introduction.md +0 -0
  107. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_output.md +0 -0
  108. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_python_wrapper.md +0 -0
  109. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pages/doc/doc_release_notes_01.md +0 -0
  110. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdf/mydoc.pdf +0 -0
  111. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdf-doc.sh +0 -0
  112. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdfconfigs/config_doc_pdf.yml +0 -0
  113. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdfconfigs/prince-list.txt +0 -0
  114. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdfconfigs/titlepage.html +0 -0
  115. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/pdfconfigs/tocpage.html +0 -0
  116. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/search.json +0 -0
  117. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/sitemap.xml +0 -0
  118. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/tooltips.html +0 -0
  119. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/tooltips.json +0 -0
  120. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/update.sh +0 -0
  121. {pybfoam-0.1.2 → pybfoam-0.1.4}/docs/var/build.sh +0 -0
  122. {pybfoam-0.1.2 → pybfoam-0.1.4}/scripts/generate_stubs.py +0 -0
  123. {pybfoam-0.1.2 → pybfoam-0.1.4}/scripts/pyInstall.sh +0 -0
  124. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/CMakeLists.txt +0 -0
  125. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/__init__.py +0 -0
  126. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/aggregation/CMakeLists.txt +0 -0
  127. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/aggregation/aggregation.cpp +0 -0
  128. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/aggregation/bind_aggregation.hpp +0 -0
  129. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvc/CMakeLists.txt +0 -0
  130. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvc/bind_fvc.cpp +0 -0
  131. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvc/bind_fvc.hpp +0 -0
  132. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvc/fvc.cpp +0 -0
  133. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvc.pyi +0 -0
  134. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvm/CMakeLists.txt +0 -0
  135. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvm/bind_fvm.cpp +0 -0
  136. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvm/bind_fvm.hpp +0 -0
  137. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/fvm/fvm.cpp +0 -0
  138. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/io/__init__.py +0 -0
  139. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/io/model_base.py +0 -0
  140. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/io/system.py +0 -0
  141. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/py.typed +0 -0
  142. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/CMakeLists.txt +0 -0
  143. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_cfdTools.cpp +0 -0
  144. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_cfdTools.hpp +0 -0
  145. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_control.cpp +0 -0
  146. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_control.hpp +0 -0
  147. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_dict.cpp +0 -0
  148. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_dict.hpp +0 -0
  149. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_dimensioned.cpp +0 -0
  150. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_dimensioned.hpp +0 -0
  151. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_fields.cpp +0 -0
  152. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_fields.hpp +0 -0
  153. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_fvMatrix.cpp +0 -0
  154. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_fvMatrix.hpp +0 -0
  155. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_geo_fields.cpp +0 -0
  156. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_geo_fields.hpp +0 -0
  157. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_io.cpp +0 -0
  158. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_io.hpp +0 -0
  159. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_mesh.hpp +0 -0
  160. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_primitives.cpp +0 -0
  161. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/bind_primitives.hpp +0 -0
  162. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core/pybFoam.cpp +0 -0
  163. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/pybFoam_core.pyi +0 -0
  164. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/runTimeTables/CMakeLists.txt +0 -0
  165. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/runTimeTables/foam_runTimeTables.C +0 -0
  166. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/runTimeTables/foam_runTimeTables.H +0 -0
  167. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/runTimeTables/runTimeTables.C +0 -0
  168. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/runTimeTables.pyi +0 -0
  169. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/thermo/CMakeLists.txt +0 -0
  170. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/thermo/bind_thermo.cpp +0 -0
  171. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/thermo/bind_thermo.hpp +0 -0
  172. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/thermo/thermo.cpp +0 -0
  173. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/thermo.pyi +0 -0
  174. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/turbulence/CMakeLists.txt +0 -0
  175. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/turbulence/bind_turbulence.cpp +0 -0
  176. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/turbulence/bind_turbulence.hpp +0 -0
  177. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/turbulence/turbulence.cpp +0 -0
  178. {pybfoam-0.1.2 → pybfoam-0.1.4}/src/pybFoam/turbulence.pyi +0 -0
  179. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/0.orig/U +0 -0
  180. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/0.orig/nu +0 -0
  181. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/0.orig/p +0 -0
  182. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/Allclean +0 -0
  183. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/Allrun +0 -0
  184. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/constant/transportProperties +0 -0
  185. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/icoFoam.py +0 -0
  186. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/log2 +0 -0
  187. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/PDRblockMeshDict +0 -0
  188. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/blockMeshDict +0 -0
  189. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/controlDict +0 -0
  190. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/decomposeParDict +0 -0
  191. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/fvSchemes +0 -0
  192. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/cavity/system/fvSolution +0 -0
  193. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/0.orig/U +0 -0
  194. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/0.orig/nu +0 -0
  195. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/0.orig/p +0 -0
  196. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/Allclean +0 -0
  197. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/Allrun +0 -0
  198. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/constant/transportProperties +0 -0
  199. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/icoFoam.py +0 -0
  200. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/system/controlDict +0 -0
  201. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/system/foamDataToFluentDict +0 -0
  202. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/system/fvSchemes +0 -0
  203. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/elbow/system/fvSolution +0 -0
  204. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/TestDict +0 -0
  205. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/TestDict.json +0 -0
  206. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/TestDict.yaml +0 -0
  207. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/controlDict +0 -0
  208. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/fvSchemes +0 -0
  209. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/fvSolution +0 -0
  210. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/test_controlDict.py +0 -0
  211. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/test_fvSchemes.py +0 -0
  212. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/test_fvSolution.py +0 -0
  213. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/io/test_parse_ofdict.py +0 -0
  214. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0/U +0 -0
  215. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0/alpha.water +0 -0
  216. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0/p_rgh +0 -0
  217. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0.orig/U +0 -0
  218. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0.orig/alpha.water +0 -0
  219. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/0.orig/p_rgh +0 -0
  220. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/Allclean +0 -0
  221. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/Allrun +0 -0
  222. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/Allrun-parallel +0 -0
  223. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/dynamicMeshDict +0 -0
  224. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/g +0 -0
  225. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/polyMesh/boundary +0 -0
  226. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/polyMesh/faces +0 -0
  227. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/polyMesh/neighbour +0 -0
  228. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/polyMesh/owner +0 -0
  229. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/polyMesh/points +0 -0
  230. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/transportProperties +0 -0
  231. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/constant/turbulenceProperties +0 -0
  232. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/TestDict +0 -0
  233. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/blockMeshDict +0 -0
  234. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/controlDict +0 -0
  235. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/decomposeParDict +0 -0
  236. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/fvSchemes +0 -0
  237. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/fvSolution +0 -0
  238. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/system/setFieldsDict +0 -0
  239. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_dict.py +0 -0
  240. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_fvc.py +0 -0
  241. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_fvm.py +0 -0
  242. {pybfoam-0.1.2 → pybfoam-0.1.4}/tests/pybind/test_primitives.py +0 -0
@@ -5,7 +5,7 @@ if(POLICY CMP0169)
5
5
  cmake_policy(SET CMP0169 OLD)
6
6
  endif()
7
7
 
8
- project(pybFoam VERSION 0.1.2 LANGUAGES CXX)
8
+ project(pybFoam VERSION 0.1.4 LANGUAGES CXX)
9
9
 
10
10
  # Set C++ standard
11
11
  set(CMAKE_CXX_STANDARD 17)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pybFoam
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: python bindings for OpenFOAM
5
5
  Keywords: OpenFOAM,simulation,CFD
6
6
  Author-Email: Henning Scheufler <henning.scheufler@dlr.de>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pybFoam"
3
- version = "0.1.2"
3
+ version = "0.1.4"
4
4
  authors = [
5
5
  {name = "Henning Scheufler", email = "henning.scheufler@dlr.de"},
6
6
  ]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.4"
@@ -32,7 +32,8 @@ template <typename T>
32
32
  aggregationResult<T> aggSum(
33
33
  const Foam::Field<T> &values,
34
34
  std::optional<Foam::boolList> mask = std::nullopt,
35
- std::optional<Foam::labelList> group = std::nullopt)
35
+ std::optional<Foam::labelList> group = std::nullopt,
36
+ std::optional<Foam::scalarField> scalingFactor = std::nullopt)
36
37
  {
37
38
  aggregationResult<T> result;
38
39
  auto nGroups = group ? max(*group) + 1 : 1;
@@ -54,8 +55,9 @@ aggregationResult<T> aggSum(
54
55
  for (Foam::label i = 0; i < nElements; ++i)
55
56
  {
56
57
  Foam::label groupIndex = group ? (*group)[i] : 0;
57
- Foam::scalar scale = mask ? (*mask)[i] : 1.0;
58
- result.values[groupIndex] += values[i] * scale;
58
+ Foam::scalar masking = mask ? (*mask)[i] : 1.0;
59
+ Foam::scalar scaleFactor = scalingFactor ? (*scalingFactor)[i] : 1.0;
60
+ result.values[groupIndex] += values[i] * masking * scaleFactor;
59
61
  }
60
62
 
61
63
  Foam::reduce(result.values, Foam::sumOp<Foam::Field<T>>());
@@ -63,6 +65,66 @@ aggregationResult<T> aggSum(
63
65
  return result;
64
66
  }
65
67
 
68
+
69
+ template <typename T>
70
+ aggregationResult<T> aggMean(
71
+ const Foam::Field<T> &values,
72
+ std::optional<Foam::boolList> mask = std::nullopt,
73
+ std::optional<Foam::labelList> group = std::nullopt,
74
+ std::optional<Foam::scalarField> scalingFactor = std::nullopt)
75
+ {
76
+ aggregationResult<T> result;
77
+ auto nGroups = group ? max(*group) + 1 : 1;
78
+ result.values = Foam::Field<T>(nGroups, Foam::Zero);
79
+ Foam::Field<Foam::scalar> weights(nGroups, 0.0);
80
+ // store the group information in the result
81
+ // ranging from 0 to nGroups-1
82
+ // if no grouping is done, this remains nullopt
83
+ if (group)
84
+ {
85
+ result.group = Foam::labelList(nGroups);
86
+ for (Foam::label i = 0; i < nGroups; ++i)
87
+ {
88
+ (*result.group)[i] = i;
89
+ }
90
+ }
91
+
92
+ const Foam::label nElements = values.size();
93
+
94
+ for (Foam::label i = 0; i < nElements; ++i)
95
+ {
96
+ Foam::label groupIndex = group ? (*group)[i] : 0;
97
+ Foam::scalar masking = mask ? (*mask)[i] : 1.0;
98
+ Foam::scalar scaleFactor = scalingFactor ? (*scalingFactor)[i] : 1.0;
99
+ result.values[groupIndex] += values[i] * masking * scaleFactor;
100
+ weights[groupIndex] += masking * scaleFactor;
101
+ }
102
+
103
+ Foam::reduce(result.values, Foam::sumOp<Foam::Field<T>>());
104
+ Foam::reduce(weights, Foam::sumOp<Foam::Field<Foam::scalar>>());
105
+
106
+ for (Foam::label i = 0; i < nGroups; ++i)
107
+ {
108
+ if (weights[i] > Foam::SMALL)
109
+ {
110
+ result.values[i] /= weights[i];
111
+ }
112
+ else
113
+ {
114
+ if constexpr (std::is_same<T, Foam::scalar>::value)
115
+ {
116
+ result.values[i] = Foam::GREAT; // if no valid entries, set to large value
117
+ }
118
+ else
119
+ {
120
+ result.values[i] = T::one * Foam::GREAT;
121
+ }
122
+ }
123
+ }
124
+
125
+ return result;
126
+ }
127
+
66
128
  template <typename T>
67
129
  aggregationResult<T> aggMax(
68
130
  const Foam::Field<T> &values,
@@ -104,7 +166,6 @@ aggregationResult<T> aggMax(
104
166
  }
105
167
  }
106
168
  result.values[groupIndex] = Foam::max(result.values[groupIndex], values[i]);
107
-
108
169
  }
109
170
 
110
171
  Foam::reduce(result.values, Foam::maxOp<Foam::Field<T>>());
@@ -172,8 +233,12 @@ void Foam::bindAggregation(py::module &m)
172
233
  .def_readonly("values", &aggregationResult<vector>::values)
173
234
  .def_readonly("group", &aggregationResult<vector>::group);
174
235
 
175
- m.def("sum", &aggSum<scalar>);
176
- m.def("sum", &aggSum<vector>);
236
+ m.def("sum", &aggSum<scalar>, py::arg("values"), py::arg("mask") = std::nullopt, py::arg("group") = std::nullopt, py::kw_only(),py::arg("scalingFactor") = std::nullopt);
237
+ m.def("sum", &aggSum<vector>, py::arg("values"), py::arg("mask") = std::nullopt, py::arg("group") = std::nullopt, py::kw_only(),py::arg("scalingFactor") = std::nullopt);
238
+
239
+
240
+ m.def("mean", &aggMean<scalar>, py::arg("values"), py::arg("mask") = std::nullopt, py::arg("group") = std::nullopt, py::kw_only(),py::arg("scalingFactor") = std::nullopt);
241
+ m.def("mean", &aggMean<vector>, py::arg("values"), py::arg("mask") = std::nullopt, py::arg("group") = std::nullopt, py::kw_only(),py::arg("scalingFactor") = std::nullopt);
177
242
 
178
243
  m.def("max", &aggMax<scalar>);
179
244
  m.def("max", &aggMax<vector>);
@@ -157,6 +157,8 @@ void bindMesh(pybind11::module &m)
157
157
  })
158
158
  .def("time", &Foam::fvMesh::time, py::return_value_policy::reference)
159
159
  .def("C", &Foam::fvMesh::C, py::return_value_policy::reference)
160
+ .def("V", [](Foam::fvMesh &self)
161
+ { return self.V().field(); }, py::return_value_policy::reference)
160
162
  .def("Cf", &Foam::fvMesh::Cf, py::return_value_policy::reference)
161
163
  .def("Sf", &Foam::fvMesh::Sf, py::return_value_policy::reference)
162
164
  .def("magSf", &Foam::fvMesh::magSf, py::return_value_policy::reference)
@@ -41,6 +41,58 @@ def test_sum():
41
41
  assert agg_res.group[1] == 1
42
42
 
43
43
 
44
+ # with scaling factor
45
+ field = scalarField([1, 2, 3])
46
+ scalingFactor = scalarField([2, 4, 4])
47
+ agg_res = aggregation.sum(field, None, labelList([0, 1, 1]), scalingFactor=scalingFactor)
48
+ assert agg_res.values[0] == 2
49
+ assert agg_res.values[1] == 20
50
+ assert agg_res.group[0] == 0
51
+ assert agg_res.group[1] == 1
52
+
53
+
54
+ def test_mean():
55
+ field = scalarField([1, 2, 3])
56
+ assert aggregation.mean(field, None, None).values[0] == 2
57
+ assert aggregation.mean(field, None, None).group == None
58
+ assert aggregation.mean(field, boolList([True, True, True]), None).values[0] == 2
59
+ assert aggregation.mean(field, boolList([True, False, True]), None).values[0] == 2
60
+
61
+ field = vectorField([vector(1, 2, 3), vector(4, 5, 6)])
62
+ assert aggregation.mean(field, None, None).values[0] == vector(2.5, 3.5, 4.5)
63
+ assert aggregation.mean(field, boolList([True, True]), None).values[0] == vector(2.5, 3.5, 4.5)
64
+ assert aggregation.mean(field, boolList([True, False]), None).values[0] == vector(1, 2, 3)
65
+
66
+ # # with groupby
67
+ field = scalarField([1, 2, 3])
68
+ assert aggregation.mean(field, None, labelList([0, 1, 1])).values[0] == 1
69
+ assert aggregation.mean(field, None, labelList([0, 1, 1])).values[1] == 2.5
70
+ assert aggregation.mean(field, None, labelList([0, 1, 1])).group[0] == 0
71
+ assert aggregation.mean(field, None, labelList([0, 1, 1])).group[1] == 1
72
+
73
+ assert aggregation.mean(field, boolList([True, False, True]), labelList([0, 1, 1])).values[0] == 1
74
+ assert aggregation.mean(field, boolList([True, False, True]), labelList([0, 1, 1])).values[1] == 3
75
+
76
+ # with scaling factor
77
+ field = scalarField([1, 28, 3])
78
+ scalingFactor = scalarField([2, 6, 4])
79
+ agg_res = aggregation.mean(field, None, labelList([0, 1, 1]), scalingFactor=scalingFactor)
80
+ assert agg_res.values[0] == 1
81
+ assert agg_res.values[1] == 18.0
82
+ assert agg_res.group[0] == 0
83
+ assert agg_res.group[1] == 1
84
+
85
+ # with scaling factor empty groups
86
+ field = scalarField([1, 28, 3])
87
+ scalingFactor = scalarField([2, 6, 4])
88
+ agg_res = aggregation.mean(field, None, labelList([1, 2, 2]), scalingFactor=scalingFactor)
89
+ assert agg_res.values[0] == 1000000000000000.0 # empty group
90
+ assert agg_res.values[1] == 1.0
91
+ assert agg_res.values[2] == 18.0
92
+ assert agg_res.group[0] == 0
93
+ assert agg_res.group[1] == 1
94
+ assert agg_res.group[2] == 2
95
+
44
96
  def test_min():
45
97
 
46
98
  field = scalarField([1, 2, 3])
@@ -60,15 +112,13 @@ def test_min():
60
112
 
61
113
  # # with groupby
62
114
  field = scalarField([1, 2, 3])
63
- agg_res = aggregation.min(field, None, labelList([0, 1, 1]))
64
- assert agg_res.values[0] == 1
65
- assert agg_res.values[1] == 2
66
- assert agg_res.group[0] == 0
67
- assert agg_res.group[1] == 1
115
+ assert aggregation.min(field, None, labelList([0, 1, 1])).values[0] == 1
116
+ assert aggregation.min(field, None, labelList([0, 1, 1])).values[1] == 2
117
+ assert aggregation.min(field, None, labelList([0, 1, 1])).group[0] == 0
118
+ assert aggregation.min(field, None, labelList([0, 1, 1])).group[1] == 1
68
119
 
69
- agg_res = aggregation.min(field, boolList([True, False, True]), labelList([0, 1, 1]))
70
- assert agg_res.values[0] == 1
71
- assert agg_res.values[1] == 3
120
+ assert aggregation.min(field, boolList([True, False, True]), labelList([0, 1, 1])).values[0] == 1
121
+ assert aggregation.min(field, boolList([True, False, True]), labelList([0, 1, 1])).values[1] == 3
72
122
 
73
123
  def test_max():
74
124
 
@@ -48,14 +48,19 @@ def test_mesh(change_test_dir):
48
48
 
49
49
 
50
50
  C = mesh.C()
51
- print(C["internalField"])
51
+ assert pybFoam.sum(C["internalField"])[0] > 0
52
+ assert pybFoam.sum(C["internalField"])[1] > 0
53
+ assert pybFoam.sum(C["internalField"])[2] > 0
52
54
 
55
+ V = mesh.V()
56
+ assert pybFoam.sum(V) > 0
53
57
 
54
- def test_mesh(change_test_dir):
55
58
 
56
- time = pybFoam.Time(".", ".")
57
- times = pybFoam.selectTimes(time,["test_mesh"])
59
+ # def test_mesh(change_test_dir):
60
+
61
+ # time = pybFoam.Time(".", ".")
62
+ # times = pybFoam.selectTimes(time,["test_mesh"])
58
63
 
59
- for t in times:
60
- print(t)
64
+ # for t in times:
65
+ # print(t)
61
66
 
@@ -1 +0,0 @@
1
- __version__ = "0.1.2"
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