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