turbo-turtle 1.2.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 (286) hide show
  1. turbo_turtle-1.2.4/CITATION.bib +33 -0
  2. turbo_turtle-1.2.4/CITATION.cff +21 -0
  3. turbo_turtle-1.2.4/LICENSE.txt +23 -0
  4. turbo_turtle-1.2.4/MANIFEST.in +29 -0
  5. turbo_turtle-1.2.4/PKG-INFO +224 -0
  6. turbo_turtle-1.2.4/README.rst +200 -0
  7. turbo_turtle-1.2.4/profiles.py +130 -0
  8. turbo_turtle-1.2.4/pyproject.toml +79 -0
  9. turbo_turtle-1.2.4/setup.cfg +4 -0
  10. turbo_turtle-1.2.4/turbo_turtle/README.rst +200 -0
  11. turbo_turtle-1.2.4/turbo_turtle/__init__.py +62 -0
  12. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/_turbo_turtle_plugin.py +109 -0
  13. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turboTurtleIcon.png +0 -0
  14. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/__init__.py +0 -0
  15. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/_abaqus_utilities.py +252 -0
  16. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/_mixed_settings.py +106 -0
  17. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/_mixed_utilities.py +212 -0
  18. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/cylinder.py +172 -0
  19. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/export.py +267 -0
  20. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/geometry.py +399 -0
  21. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/image.py +301 -0
  22. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/merge.py +106 -0
  23. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/mesh_module.py +237 -0
  24. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/parsers.py +958 -0
  25. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/partition.py +380 -0
  26. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/sets.py +130 -0
  27. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/sphere.py +263 -0
  28. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_abaqus_utilities.py +47 -0
  29. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_mixed_utilities.py +92 -0
  30. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_parsers.py +65 -0
  31. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_vertices.py +583 -0
  32. turbo_turtle-1.2.4/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/vertices.py +435 -0
  33. turbo_turtle-1.2.4/turbo_turtle/_abaqus_wrappers.py +204 -0
  34. turbo_turtle-1.2.4/turbo_turtle/_cubit_python.py +1043 -0
  35. turbo_turtle-1.2.4/turbo_turtle/_cubit_wrappers.py +175 -0
  36. turbo_turtle-1.2.4/turbo_turtle/_docs.py +59 -0
  37. turbo_turtle-1.2.4/turbo_turtle/_fetch.py +320 -0
  38. turbo_turtle-1.2.4/turbo_turtle/_gmsh_python.py +473 -0
  39. turbo_turtle-1.2.4/turbo_turtle/_gmsh_wrappers.py +127 -0
  40. turbo_turtle-1.2.4/turbo_turtle/_main.py +306 -0
  41. turbo_turtle-1.2.4/turbo_turtle/_settings.py +21 -0
  42. turbo_turtle-1.2.4/turbo_turtle/_utilities.py +233 -0
  43. turbo_turtle-1.2.4/turbo_turtle/_version.py +21 -0
  44. turbo_turtle-1.2.4/turbo_turtle/conftest.py +38 -0
  45. turbo_turtle-1.2.4/turbo_turtle/docs/README.html +645 -0
  46. turbo_turtle-1.2.4/turbo_turtle/docs/_images/axisymmetric-cubit.png +0 -0
  47. turbo_turtle-1.2.4/turbo_turtle/docs/_images/axisymmetric.png +0 -0
  48. turbo_turtle-1.2.4/turbo_turtle/docs/_images/sphere-cubit.png +0 -0
  49. turbo_turtle-1.2.4/turbo_turtle/docs/_images/sphere.png +0 -0
  50. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/index.html +426 -0
  51. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/_abaqus_utilities.html +680 -0
  52. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/_mixed_utilities.html +637 -0
  53. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/cylinder.html +579 -0
  54. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/export.html +680 -0
  55. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/geometry.html +809 -0
  56. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/image.html +711 -0
  57. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/merge.html +504 -0
  58. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/mesh_module.html +647 -0
  59. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/parsers.html +1389 -0
  60. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/partition.html +799 -0
  61. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/sets.html +531 -0
  62. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/sphere.html +673 -0
  63. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_abaqus_utilities.html +445 -0
  64. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_mixed_utilities.html +490 -0
  65. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_parsers.html +463 -0
  66. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/test_vertices.html +981 -0
  67. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_python/turbo_turtle_abaqus/vertices.html +887 -0
  68. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_abaqus_wrappers.html +626 -0
  69. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_cubit_python.html +1561 -0
  70. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_cubit_wrappers.html +597 -0
  71. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_gmsh_python.html +901 -0
  72. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_main.html +716 -0
  73. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/_utilities.html +661 -0
  74. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/geometry_xyplot.html +562 -0
  75. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/scons_extensions.html +1210 -0
  76. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_fetch.html +825 -0
  77. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_main.html +414 -0
  78. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_mixed_utilities.html +778 -0
  79. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_parsers.html +515 -0
  80. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_scons_extensions.html +656 -0
  81. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_system.html +1112 -0
  82. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_utilities.html +574 -0
  83. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_vertices.html +1067 -0
  84. turbo_turtle-1.2.4/turbo_turtle/docs/_modules/turbo_turtle/tests/test_wrappers.html +916 -0
  85. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/README.rst +8 -0
  86. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/changelog.rst +906 -0
  87. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/citation.rst +9 -0
  88. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/cli.rst +146 -0
  89. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/devops.rst +221 -0
  90. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/external_api.rst +21 -0
  91. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/gui.rst +75 -0
  92. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/index.rst +77 -0
  93. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/installation.rst +48 -0
  94. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/internal_api.rst +344 -0
  95. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/license.rst +9 -0
  96. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/release_philosophy.rst +81 -0
  97. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/user.rst +169 -0
  98. turbo_turtle-1.2.4/turbo_turtle/docs/_sources/zreferences.rst +8 -0
  99. turbo_turtle-1.2.4/turbo_turtle/docs/_static/basic.css +906 -0
  100. turbo_turtle-1.2.4/turbo_turtle/docs/_static/check-solid.svg +4 -0
  101. turbo_turtle-1.2.4/turbo_turtle/docs/_static/clipboard.min.js +7 -0
  102. turbo_turtle-1.2.4/turbo_turtle/docs/_static/copy-button.svg +5 -0
  103. turbo_turtle-1.2.4/turbo_turtle/docs/_static/copybutton.css +94 -0
  104. turbo_turtle-1.2.4/turbo_turtle/docs/_static/copybutton.js +248 -0
  105. turbo_turtle-1.2.4/turbo_turtle/docs/_static/copybutton_funcs.js +73 -0
  106. turbo_turtle-1.2.4/turbo_turtle/docs/_static/custom.css +11 -0
  107. turbo_turtle-1.2.4/turbo_turtle/docs/_static/doctools.js +149 -0
  108. turbo_turtle-1.2.4/turbo_turtle/docs/_static/documentation_options.js +13 -0
  109. turbo_turtle-1.2.4/turbo_turtle/docs/_static/favicon.ico +0 -0
  110. turbo_turtle-1.2.4/turbo_turtle/docs/_static/file.png +0 -0
  111. turbo_turtle-1.2.4/turbo_turtle/docs/_static/images/logo_binder.svg +19 -0
  112. turbo_turtle-1.2.4/turbo_turtle/docs/_static/images/logo_colab.png +0 -0
  113. turbo_turtle-1.2.4/turbo_turtle/docs/_static/images/logo_deepnote.svg +1 -0
  114. turbo_turtle-1.2.4/turbo_turtle/docs/_static/images/logo_jupyterhub.svg +1 -0
  115. turbo_turtle-1.2.4/turbo_turtle/docs/_static/language_data.js +192 -0
  116. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ar/LC_MESSAGES/booktheme.mo +0 -0
  117. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ar/LC_MESSAGES/booktheme.po +75 -0
  118. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/bg/LC_MESSAGES/booktheme.mo +0 -0
  119. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/bg/LC_MESSAGES/booktheme.po +75 -0
  120. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/bn/LC_MESSAGES/booktheme.mo +0 -0
  121. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/bn/LC_MESSAGES/booktheme.po +63 -0
  122. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ca/LC_MESSAGES/booktheme.mo +0 -0
  123. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ca/LC_MESSAGES/booktheme.po +66 -0
  124. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/cs/LC_MESSAGES/booktheme.mo +0 -0
  125. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/cs/LC_MESSAGES/booktheme.po +75 -0
  126. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/da/LC_MESSAGES/booktheme.mo +0 -0
  127. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/da/LC_MESSAGES/booktheme.po +75 -0
  128. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/de/LC_MESSAGES/booktheme.mo +0 -0
  129. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/de/LC_MESSAGES/booktheme.po +75 -0
  130. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/el/LC_MESSAGES/booktheme.mo +0 -0
  131. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/el/LC_MESSAGES/booktheme.po +75 -0
  132. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/eo/LC_MESSAGES/booktheme.mo +0 -0
  133. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/eo/LC_MESSAGES/booktheme.po +75 -0
  134. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/es/LC_MESSAGES/booktheme.mo +0 -0
  135. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/es/LC_MESSAGES/booktheme.po +75 -0
  136. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/et/LC_MESSAGES/booktheme.mo +0 -0
  137. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/et/LC_MESSAGES/booktheme.po +75 -0
  138. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/fi/LC_MESSAGES/booktheme.mo +0 -0
  139. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/fi/LC_MESSAGES/booktheme.po +75 -0
  140. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/fr/LC_MESSAGES/booktheme.mo +0 -0
  141. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/fr/LC_MESSAGES/booktheme.po +75 -0
  142. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/hr/LC_MESSAGES/booktheme.mo +0 -0
  143. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/hr/LC_MESSAGES/booktheme.po +75 -0
  144. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/id/LC_MESSAGES/booktheme.mo +0 -0
  145. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/id/LC_MESSAGES/booktheme.po +75 -0
  146. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/it/LC_MESSAGES/booktheme.mo +0 -0
  147. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/it/LC_MESSAGES/booktheme.po +75 -0
  148. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/iw/LC_MESSAGES/booktheme.mo +0 -0
  149. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/iw/LC_MESSAGES/booktheme.po +75 -0
  150. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ja/LC_MESSAGES/booktheme.mo +0 -0
  151. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ja/LC_MESSAGES/booktheme.po +75 -0
  152. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ko/LC_MESSAGES/booktheme.mo +0 -0
  153. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ko/LC_MESSAGES/booktheme.po +75 -0
  154. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/lt/LC_MESSAGES/booktheme.mo +0 -0
  155. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/lt/LC_MESSAGES/booktheme.po +75 -0
  156. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/lv/LC_MESSAGES/booktheme.mo +0 -0
  157. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/lv/LC_MESSAGES/booktheme.po +75 -0
  158. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ml/LC_MESSAGES/booktheme.mo +0 -0
  159. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ml/LC_MESSAGES/booktheme.po +66 -0
  160. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/mr/LC_MESSAGES/booktheme.mo +0 -0
  161. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/mr/LC_MESSAGES/booktheme.po +66 -0
  162. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ms/LC_MESSAGES/booktheme.mo +0 -0
  163. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ms/LC_MESSAGES/booktheme.po +66 -0
  164. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/nl/LC_MESSAGES/booktheme.mo +0 -0
  165. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/nl/LC_MESSAGES/booktheme.po +75 -0
  166. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/no/LC_MESSAGES/booktheme.mo +0 -0
  167. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/no/LC_MESSAGES/booktheme.po +75 -0
  168. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/pl/LC_MESSAGES/booktheme.mo +0 -0
  169. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/pl/LC_MESSAGES/booktheme.po +75 -0
  170. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/pt/LC_MESSAGES/booktheme.mo +0 -0
  171. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/pt/LC_MESSAGES/booktheme.po +75 -0
  172. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ro/LC_MESSAGES/booktheme.mo +0 -0
  173. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ro/LC_MESSAGES/booktheme.po +75 -0
  174. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ru/LC_MESSAGES/booktheme.mo +0 -0
  175. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ru/LC_MESSAGES/booktheme.po +75 -0
  176. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sk/LC_MESSAGES/booktheme.mo +0 -0
  177. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sk/LC_MESSAGES/booktheme.po +75 -0
  178. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sl/LC_MESSAGES/booktheme.mo +0 -0
  179. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sl/LC_MESSAGES/booktheme.po +75 -0
  180. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sr/LC_MESSAGES/booktheme.mo +0 -0
  181. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sr/LC_MESSAGES/booktheme.po +75 -0
  182. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sv/LC_MESSAGES/booktheme.mo +0 -0
  183. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/sv/LC_MESSAGES/booktheme.po +75 -0
  184. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ta/LC_MESSAGES/booktheme.mo +0 -0
  185. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ta/LC_MESSAGES/booktheme.po +66 -0
  186. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/te/LC_MESSAGES/booktheme.mo +0 -0
  187. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/te/LC_MESSAGES/booktheme.po +66 -0
  188. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tg/LC_MESSAGES/booktheme.mo +0 -0
  189. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tg/LC_MESSAGES/booktheme.po +75 -0
  190. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/th/LC_MESSAGES/booktheme.mo +0 -0
  191. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/th/LC_MESSAGES/booktheme.po +75 -0
  192. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tl/LC_MESSAGES/booktheme.mo +0 -0
  193. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tl/LC_MESSAGES/booktheme.po +66 -0
  194. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tr/LC_MESSAGES/booktheme.mo +0 -0
  195. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/tr/LC_MESSAGES/booktheme.po +75 -0
  196. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/uk/LC_MESSAGES/booktheme.mo +0 -0
  197. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/uk/LC_MESSAGES/booktheme.po +75 -0
  198. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ur/LC_MESSAGES/booktheme.mo +0 -0
  199. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/ur/LC_MESSAGES/booktheme.po +66 -0
  200. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/vi/LC_MESSAGES/booktheme.mo +0 -0
  201. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/vi/LC_MESSAGES/booktheme.po +75 -0
  202. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo +0 -0
  203. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/zh_CN/LC_MESSAGES/booktheme.po +75 -0
  204. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo +0 -0
  205. turbo_turtle-1.2.4/turbo_turtle/docs/_static/locales/zh_TW/LC_MESSAGES/booktheme.po +75 -0
  206. turbo_turtle-1.2.4/turbo_turtle/docs/_static/minus.png +0 -0
  207. turbo_turtle-1.2.4/turbo_turtle/docs/_static/plus.png +0 -0
  208. turbo_turtle-1.2.4/turbo_turtle/docs/_static/pygments.css +152 -0
  209. turbo_turtle-1.2.4/turbo_turtle/docs/_static/sbt-webpack-macros.html +11 -0
  210. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/bootstrap.js +3 -0
  211. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/bootstrap.js.LICENSE.txt +5 -0
  212. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/bootstrap.js.map +1 -0
  213. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/pydata-sphinx-theme.js +2 -0
  214. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/pydata-sphinx-theme.js.map +1 -0
  215. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/sphinx-book-theme.js +2 -0
  216. turbo_turtle-1.2.4/turbo_turtle/docs/_static/scripts/sphinx-book-theme.js.map +1 -0
  217. turbo_turtle-1.2.4/turbo_turtle/docs/_static/searchtools.js +635 -0
  218. turbo_turtle-1.2.4/turbo_turtle/docs/_static/sphinx_highlight.js +154 -0
  219. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/bootstrap.css +6 -0
  220. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/bootstrap.css.map +1 -0
  221. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/pydata-sphinx-theme.css +2 -0
  222. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/pydata-sphinx-theme.css.map +1 -0
  223. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/sphinx-book-theme.css +19 -0
  224. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/sphinx-book-theme.css.map +1 -0
  225. turbo_turtle-1.2.4/turbo_turtle/docs/_static/styles/theme.css +2 -0
  226. turbo_turtle-1.2.4/turbo_turtle/docs/_static/turbo-turtle-logo.png +0 -0
  227. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/LICENSE.txt +165 -0
  228. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/css/all.min.css +5 -0
  229. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js +2 -0
  230. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/js/all.min.js.LICENSE.txt +5 -0
  231. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.ttf +0 -0
  232. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2 +0 -0
  233. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.ttf +0 -0
  234. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2 +0 -0
  235. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.ttf +0 -0
  236. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2 +0 -0
  237. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-v4compatibility.ttf +0 -0
  238. turbo_turtle-1.2.4/turbo_turtle/docs/_static/vendor/fontawesome/6.5.2/webfonts/fa-v4compatibility.woff2 +0 -0
  239. turbo_turtle-1.2.4/turbo_turtle/docs/_static/webpack-macros.html +31 -0
  240. turbo_turtle-1.2.4/turbo_turtle/docs/changelog.html +2139 -0
  241. turbo_turtle-1.2.4/turbo_turtle/docs/citation.html +530 -0
  242. turbo_turtle-1.2.4/turbo_turtle/docs/cli.html +1365 -0
  243. turbo_turtle-1.2.4/turbo_turtle/docs/devops.html +761 -0
  244. turbo_turtle-1.2.4/turbo_turtle/docs/external_api.html +1349 -0
  245. turbo_turtle-1.2.4/turbo_turtle/docs/genindex.html +1328 -0
  246. turbo_turtle-1.2.4/turbo_turtle/docs/gui.html +589 -0
  247. turbo_turtle-1.2.4/turbo_turtle/docs/index.html +562 -0
  248. turbo_turtle-1.2.4/turbo_turtle/docs/installation.html +498 -0
  249. turbo_turtle-1.2.4/turbo_turtle/docs/internal_api.html +6207 -0
  250. turbo_turtle-1.2.4/turbo_turtle/docs/license.html +519 -0
  251. turbo_turtle-1.2.4/turbo_turtle/docs/objects.inv +0 -0
  252. turbo_turtle-1.2.4/turbo_turtle/docs/py-modindex.html +576 -0
  253. turbo_turtle-1.2.4/turbo_turtle/docs/release_philosophy.html +593 -0
  254. turbo_turtle-1.2.4/turbo_turtle/docs/search.html +388 -0
  255. turbo_turtle-1.2.4/turbo_turtle/docs/searchindex.js +1 -0
  256. turbo_turtle-1.2.4/turbo_turtle/docs/turbo-turtle.1 +1627 -0
  257. turbo_turtle-1.2.4/turbo_turtle/docs/user.html +837 -0
  258. turbo_turtle-1.2.4/turbo_turtle/docs/zreferences.html +525 -0
  259. turbo_turtle-1.2.4/turbo_turtle/geometry_xyplot.py +164 -0
  260. turbo_turtle-1.2.4/turbo_turtle/pyproject.toml +79 -0
  261. turbo_turtle-1.2.4/turbo_turtle/scons_extensions.py +782 -0
  262. turbo_turtle-1.2.4/turbo_turtle/tests/SConstruct +351 -0
  263. turbo_turtle-1.2.4/turbo_turtle/tests/legacy_geometry.py +234 -0
  264. turbo_turtle-1.2.4/turbo_turtle/tests/test_cubit_python.py +153 -0
  265. turbo_turtle-1.2.4/turbo_turtle/tests/test_docs.py +56 -0
  266. turbo_turtle-1.2.4/turbo_turtle/tests/test_fetch.py +427 -0
  267. turbo_turtle-1.2.4/turbo_turtle/tests/test_geometry_xyplot.py +46 -0
  268. turbo_turtle-1.2.4/turbo_turtle/tests/test_main.py +16 -0
  269. turbo_turtle-1.2.4/turbo_turtle/tests/test_mixed_utilities.py +371 -0
  270. turbo_turtle-1.2.4/turbo_turtle/tests/test_parsers.py +117 -0
  271. turbo_turtle-1.2.4/turbo_turtle/tests/test_scons_extensions.py +258 -0
  272. turbo_turtle-1.2.4/turbo_turtle/tests/test_system.py +708 -0
  273. turbo_turtle-1.2.4/turbo_turtle/tests/test_utilities.py +170 -0
  274. turbo_turtle-1.2.4/turbo_turtle/tests/test_vertices.py +660 -0
  275. turbo_turtle-1.2.4/turbo_turtle/tests/test_wrappers.py +518 -0
  276. turbo_turtle-1.2.4/turbo_turtle/tests/vase.csv +14 -0
  277. turbo_turtle-1.2.4/turbo_turtle/tests/washer.csv +4 -0
  278. turbo_turtle-1.2.4/turbo_turtle/tutorials/SConscript +50 -0
  279. turbo_turtle-1.2.4/turbo_turtle/tutorials/SConstruct +80 -0
  280. turbo_turtle-1.2.4/turbo_turtle.egg-info/PKG-INFO +224 -0
  281. turbo_turtle-1.2.4/turbo_turtle.egg-info/SOURCES.txt +284 -0
  282. turbo_turtle-1.2.4/turbo_turtle.egg-info/dependency_links.txt +1 -0
  283. turbo_turtle-1.2.4/turbo_turtle.egg-info/entry_points.txt +2 -0
  284. turbo_turtle-1.2.4/turbo_turtle.egg-info/not-zip-safe +1 -0
  285. turbo_turtle-1.2.4/turbo_turtle.egg-info/requires.txt +3 -0
  286. turbo_turtle-1.2.4/turbo_turtle.egg-info/top_level.txt +1 -0
@@ -0,0 +1,33 @@
1
+ # General with "All versions" Zenodo
2
+ @misc{turbo-turtle-software,
3
+ title = {{turbo-turtle}},
4
+ author = {Brindley, Kyle and Roberts, Thomas},
5
+ doi = {10.5281/zenodo.13787498},
6
+ organization = {Los Alamos National Laboratory},
7
+ address = {Los Alamos, New Mexico, USA},
8
+ license = {BSD 3-Clause},
9
+ url = {https://github.com/lanl-aea/turbo-turtle},
10
+ year = {2025}
11
+ }
12
+ # Current with "All versions" Zenodo
13
+ @misc{turbo-turtle-1-2-4,
14
+ title = {{turbo-turtle} 1.2.4},
15
+ author = {Brindley, Kyle and Roberts, Thomas},
16
+ doi = {10.5281/zenodo.13787498},
17
+ organization = {Los Alamos National Laboratory},
18
+ address = {Los Alamos, New Mexico, USA},
19
+ license = {BSD 3-Clause},
20
+ url = {https://github.com/lanl-aea/turbo-turtle},
21
+ year = {2025}
22
+ }
23
+ # Most up-to-date Zenodo
24
+ @misc{turbo-turtle-1-1-5,
25
+ title = {{turbo-turtle} 1.1.5},
26
+ author = {Brindley, Kyle and Roberts, Thomas},
27
+ doi = {10.5281/zenodo.15115383},
28
+ organization = {Los Alamos National Laboratory},
29
+ address = {Los Alamos, New Mexico, USA},
30
+ license = {BSD 3-Clause},
31
+ url = {https://github.com/lanl-aea/turbo-turtle},
32
+ year = {2025}
33
+ }
@@ -0,0 +1,21 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - family-names: "Brindley"
5
+ given-names: "Kyle"
6
+ orcid: "https://orcid.org/0000-0002-9637-4706"
7
+ - family-names: "Roberts"
8
+ given-names: "Thomas"
9
+ orcid: "https://orcid.org/0000-0001-7121-1823"
10
+ title: "turbo-turtle"
11
+ doi: 10.5281/zenodo.13787499
12
+ url: "https://github.com/lanl-aea/turbo-turtle"
13
+ license: BSD-3-Clause
14
+ date-released: 2025-05-21
15
+ identifiers:
16
+ - description: "All versions"
17
+ type: doi
18
+ value: 10.5281/zenodo.13787499
19
+ - description: "1.1.5"
20
+ type: doi
21
+ value: 10.5281/zenodo.15115383
@@ -0,0 +1,23 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024, Triad National Security, LLC. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
6
+ following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
9
+ disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
12
+ disclaimer in the documentation and/or other materials provided with the distribution.
13
+
14
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products
15
+ derived from this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
18
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,29 @@
1
+ recursive-include turbo_turtle/docs *
2
+ recursive-include turbo_turtle/tutorials *
3
+ recursive-exclude turbo_turtle/docs/.doctrees *
4
+ recursive-exclude build *
5
+ recursive-exclude */*/build *
6
+ recursive-exclude */*/*/build* *
7
+ recursive-exclude *cache* *
8
+ recursive-exclude */*cache* *
9
+ recursive-exclude */*/*cache* *
10
+ recursive-exclude docs *
11
+ recursive-exclude recipe* *
12
+ recursive-exclude modulefiles *
13
+ recursive-exclude .github *
14
+ global-exclude *.pyc
15
+ global-exclude config.log
16
+ global-exclude .sconsign.dblite
17
+ exclude turbo_turtle/docs/.buildinfo*
18
+ exclude .flake8
19
+ exclude .git*
20
+ exclude *.yml
21
+ exclude turbo_turtle/.coveragerc
22
+ exclude import_package.py
23
+ exclude SConstruct
24
+ exclude style
25
+ exclude mypy
26
+ exclude cProfile
27
+ exclude pytest
28
+ include turbo_turtle/README.rst
29
+ include turbo_turtle/pyproject.toml
@@ -0,0 +1,224 @@
1
+ Metadata-Version: 2.4
2
+ Name: turbo-turtle
3
+ Version: 1.2.4
4
+ Summary: Solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D revolved models
5
+ Author-email: Kyle Brindley <kbrindley@lanl.gov>, Thomas Roberts <tproberts@lanl.gov>
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: homepage, https://github.com/lanl-aea/turbo-turtle
8
+ Project-URL: documentation, https://lanl-aea.github.io/turbo-turtle/
9
+ Project-URL: repository, https://github.com/lanl-aea/turbo-turtle
10
+ Project-URL: changelog, https://lanl-aea.github.io/turbo-turtle/changelog.html
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Scientific/Engineering
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/x-rst
19
+ License-File: LICENSE.txt
20
+ Requires-Dist: lazy_loader>=0.4
21
+ Requires-Dist: scons>=4.6
22
+ Requires-Dist: waves-workflows>=0.13.0
23
+ Dynamic: license-file
24
+
25
+ .. target-start-do-not-remove
26
+
27
+ .. _`Turbo-Turtle`: https://lanl-aea.github.io/turbo-turtle/index.html
28
+ .. _`Turbo-Turtle repository`: https://re-git.lanl.gov/aea/python-projects/turbo-turtle
29
+ .. _`AEA Gitlab Group`: https://re-git.lanl.gov/aea
30
+ .. _`Gitlab CI/CD`: https://docs.gitlab.com/ee/ci/
31
+ .. _`AEA Compute Environment`: https://re-git.lanl.gov/aea/developer-operations/aea_compute_environment
32
+ .. _`AEA Conda channel`: https://aea.re-pages.lanl.gov/developer-operations/aea_compute_environment/aea_compute_environment.html#aea-conda-channel
33
+ .. _`Bash rsync`: https://re-git.lanl.gov/aea/developer-operations/aea_compute_environment
34
+ .. _Conda: https://docs.conda.io/en/latest/
35
+ .. _Conda installation: https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html
36
+ .. _Conda environment management: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
37
+ .. _SCons: https://scons.org/
38
+
39
+ .. _`Kyle Brindley`: kbrindley@lanl.gov
40
+ .. _`Thomas Roberts`: tproberts@lanl.gov
41
+ .. _`Matthew Fister`: mwfister@lanl.gov
42
+ .. _`Paula Rutherford`: pmiller@lanl.gov
43
+
44
+ .. target-end-do-not-remove
45
+
46
+ ############
47
+ Turbo Turtle
48
+ ############
49
+
50
+ .. |pipeline| image:: https://img.shields.io/github/actions/workflow/status/lanl-aea/turbo-turtle/pages.yml?branch=main&label=GitHub-Pages
51
+ :target: https://lanl-aea.github.io/turbo-turtle/
52
+
53
+ .. |release| image:: https://img.shields.io/github/v/release/lanl-aea/turbo-turtle?label=GitHub-Release
54
+ :target: https://github.com/lanl-aea/turbo-turtle/releases
55
+
56
+ .. |conda-forge version| image:: https://img.shields.io/conda/vn/conda-forge/turbo_turtle
57
+ :target: https://anaconda.org/conda-forge/turbo_turtle
58
+
59
+ .. |conda-forge downloads| image:: https://img.shields.io/conda/dn/conda-forge/turbo_turtle.svg?label=Conda%20downloads
60
+ :target: https://anaconda.org/conda-forge/turbo_turtle
61
+
62
+ .. |zenodo| image:: https://zenodo.org/badge/855818315.svg
63
+ :target: https://zenodo.org/doi/10.5281/zenodo.13787498
64
+
65
+ |pipeline| |release| |conda-forge version| |conda-forge downloads| |zenodo|
66
+
67
+ .. inclusion-marker-do-not-remove
68
+
69
+ ***********
70
+ Description
71
+ ***********
72
+
73
+ .. description-start-do-not-remove
74
+
75
+ `Turbo-Turtle`_ (LANL code O4765) is a collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D
76
+ revolved models. It also contains general purpose meshing and image generation utilities appropriate for any model, not
77
+ just those created with this package. Implemented for Abaqus and Cubit as backend modeling and meshing software. Orginal
78
+ implementation targeted Abaqus so most options and descriptions use Abaqus modeling concepts and language.
79
+
80
+ Turbo-Turtle makes a best effort to maintain common behaviors and features across each third-party software's modeling
81
+ concepts. As much as possible, the work for each subcommand is performed in Python 3 to minimize solution approach
82
+ duplication in third-party tools. The third-party scripting interface is only accessed when creating the final tool
83
+ specific objects and output. The tools contained in this project can be expanded to drive other meshing utilities in the
84
+ future, as needed by the user community.
85
+
86
+ This project derives its name from the origins as a sphere partitioning utility following the turtle shell (or soccer
87
+ ball) pattern.
88
+
89
+ .. description-end-do-not-remove
90
+
91
+ Documentation
92
+ =============
93
+
94
+ * GitHub: https://lanl-aea.github.io/turbo-turtle/
95
+ * LANL: https://aea.re-pages.lanl.gov/python-projects/turbo-turtle/
96
+
97
+ Author Info
98
+ ===========
99
+
100
+ * `Kyle Brindley`_
101
+ * `Thomas Roberts`_
102
+
103
+ ************
104
+ Installation
105
+ ************
106
+
107
+ .. installation-start-do-not-remove
108
+
109
+ `Turbo-Turtle`_ can be installed in a `Conda`_ environment with the `Conda`_ package manager. See the `Conda
110
+ installation`_ and `Conda environment management`_ documentation for more details about using `Conda`_.
111
+
112
+ .. code-block::
113
+
114
+ $ conda install --channel conda-forge turbo_turtle
115
+
116
+ .. installation-end-do-not-remove
117
+
118
+ ***********
119
+ Quick Start
120
+ ***********
121
+
122
+ .. user-start-do-not-remove
123
+
124
+ 1. View the CLI usage
125
+
126
+ .. code-block::
127
+
128
+ $ turbo-turtle -h
129
+ $ turbo-turtle docs -h
130
+ $ turbo-turtle geometry -h
131
+ $ turbo-turtle cylinder -h
132
+ $ turbo-turtle sphere -h
133
+ $ turbo-turtle partition -h
134
+ $ turbo-turtle mesh -h
135
+ $ turbo-turtle image -h
136
+ $ turbo-turtle merge -h
137
+ $ turbo-turtle export -h
138
+
139
+ .. user-end-do-not-remove
140
+
141
+ ****************
142
+ Copyright Notice
143
+ ****************
144
+
145
+ .. copyright-start-do-not-remove
146
+
147
+ Copyright (c) 2024, Triad National Security, LLC. All rights reserved.
148
+
149
+ This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL),
150
+ which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security
151
+ Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of
152
+ Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a
153
+ nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute
154
+ copies to the public, perform publicly and display publicly, and to permit others to do so.
155
+
156
+ .. copyright-end-do-not-remove
157
+
158
+ **********************
159
+ Developer Instructions
160
+ **********************
161
+
162
+ Cloning the Repository
163
+ ======================
164
+
165
+ .. cloning-the-repo-start-do-not-remove
166
+
167
+ Cloning the repository is very easy, simply refer to the sample session below. Keep in mind that you get to choose the
168
+ location of your local `Turbo-Turtle repository`_ clone. Here we use ``/projects/roppenheimer/repos`` as an example.
169
+
170
+ .. code-block:: bash
171
+
172
+ [roppenheimer@sstelmo repos]$ git clone ssh://git@re-git.lanl.gov:10022/aea/python-projects/turbo-turtle.git
173
+
174
+ .. cloning-the-repo-end-do-not-remove
175
+
176
+ Compute Environment
177
+ ===================
178
+
179
+ .. compute-env-start-do-not-remove
180
+
181
+ This project uses `Conda`_ to manage most of the compute environment. Some software, e.g. Abaqus and Cubit, can not be
182
+ installed with `Conda`_ and must be installed separately.
183
+
184
+ `SCons`_ can be installed in a `Conda`_ environment with the `Conda`_ package manager. See the `Conda installation`_
185
+ and `Conda environment management`_ documentation for more details about using `Conda`_.
186
+
187
+ 1. Create the environment if it doesn't exist
188
+
189
+ .. code-block::
190
+
191
+ $ conda env create --name berms-env --file environment.yml
192
+
193
+ 2. Activate the environment
194
+
195
+ .. code-block::
196
+
197
+ $ conda activate berms-env
198
+
199
+ .. compute-env-end-do-not-remove
200
+
201
+ Testing
202
+ =======
203
+
204
+ .. testing-start-do-not-remove
205
+
206
+ This project now performs CI testing on AEA compute servers. The up-to-date test commands can be found in the
207
+ ``.gitlab-ci.yml`` file. The full regression suite includes the documentation builds, Python 3 unit tests, Abaqus Python
208
+ unit tests, and the system tests.
209
+
210
+ .. code-block::
211
+
212
+ $ pwd
213
+ /home/roppenheimer/repos/turbo-turtle
214
+ $ scons regression
215
+
216
+ There is also a separate style guide check run as
217
+
218
+ .. code-block::
219
+
220
+ $ scons flake8 black-check
221
+
222
+ The full list of available aliases can be found as ``scons -h``.
223
+
224
+ .. testing-end-do-not-remove
@@ -0,0 +1,200 @@
1
+ .. target-start-do-not-remove
2
+
3
+ .. _`Turbo-Turtle`: https://lanl-aea.github.io/turbo-turtle/index.html
4
+ .. _`Turbo-Turtle repository`: https://re-git.lanl.gov/aea/python-projects/turbo-turtle
5
+ .. _`AEA Gitlab Group`: https://re-git.lanl.gov/aea
6
+ .. _`Gitlab CI/CD`: https://docs.gitlab.com/ee/ci/
7
+ .. _`AEA Compute Environment`: https://re-git.lanl.gov/aea/developer-operations/aea_compute_environment
8
+ .. _`AEA Conda channel`: https://aea.re-pages.lanl.gov/developer-operations/aea_compute_environment/aea_compute_environment.html#aea-conda-channel
9
+ .. _`Bash rsync`: https://re-git.lanl.gov/aea/developer-operations/aea_compute_environment
10
+ .. _Conda: https://docs.conda.io/en/latest/
11
+ .. _Conda installation: https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html
12
+ .. _Conda environment management: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
13
+ .. _SCons: https://scons.org/
14
+
15
+ .. _`Kyle Brindley`: kbrindley@lanl.gov
16
+ .. _`Thomas Roberts`: tproberts@lanl.gov
17
+ .. _`Matthew Fister`: mwfister@lanl.gov
18
+ .. _`Paula Rutherford`: pmiller@lanl.gov
19
+
20
+ .. target-end-do-not-remove
21
+
22
+ ############
23
+ Turbo Turtle
24
+ ############
25
+
26
+ .. |pipeline| image:: https://img.shields.io/github/actions/workflow/status/lanl-aea/turbo-turtle/pages.yml?branch=main&label=GitHub-Pages
27
+ :target: https://lanl-aea.github.io/turbo-turtle/
28
+
29
+ .. |release| image:: https://img.shields.io/github/v/release/lanl-aea/turbo-turtle?label=GitHub-Release
30
+ :target: https://github.com/lanl-aea/turbo-turtle/releases
31
+
32
+ .. |conda-forge version| image:: https://img.shields.io/conda/vn/conda-forge/turbo_turtle
33
+ :target: https://anaconda.org/conda-forge/turbo_turtle
34
+
35
+ .. |conda-forge downloads| image:: https://img.shields.io/conda/dn/conda-forge/turbo_turtle.svg?label=Conda%20downloads
36
+ :target: https://anaconda.org/conda-forge/turbo_turtle
37
+
38
+ .. |zenodo| image:: https://zenodo.org/badge/855818315.svg
39
+ :target: https://zenodo.org/doi/10.5281/zenodo.13787498
40
+
41
+ |pipeline| |release| |conda-forge version| |conda-forge downloads| |zenodo|
42
+
43
+ .. inclusion-marker-do-not-remove
44
+
45
+ ***********
46
+ Description
47
+ ***********
48
+
49
+ .. description-start-do-not-remove
50
+
51
+ `Turbo-Turtle`_ (LANL code O4765) is a collection of solid body modeling tools for 2D sketched, 2D axisymmetric, and 3D
52
+ revolved models. It also contains general purpose meshing and image generation utilities appropriate for any model, not
53
+ just those created with this package. Implemented for Abaqus and Cubit as backend modeling and meshing software. Orginal
54
+ implementation targeted Abaqus so most options and descriptions use Abaqus modeling concepts and language.
55
+
56
+ Turbo-Turtle makes a best effort to maintain common behaviors and features across each third-party software's modeling
57
+ concepts. As much as possible, the work for each subcommand is performed in Python 3 to minimize solution approach
58
+ duplication in third-party tools. The third-party scripting interface is only accessed when creating the final tool
59
+ specific objects and output. The tools contained in this project can be expanded to drive other meshing utilities in the
60
+ future, as needed by the user community.
61
+
62
+ This project derives its name from the origins as a sphere partitioning utility following the turtle shell (or soccer
63
+ ball) pattern.
64
+
65
+ .. description-end-do-not-remove
66
+
67
+ Documentation
68
+ =============
69
+
70
+ * GitHub: https://lanl-aea.github.io/turbo-turtle/
71
+ * LANL: https://aea.re-pages.lanl.gov/python-projects/turbo-turtle/
72
+
73
+ Author Info
74
+ ===========
75
+
76
+ * `Kyle Brindley`_
77
+ * `Thomas Roberts`_
78
+
79
+ ************
80
+ Installation
81
+ ************
82
+
83
+ .. installation-start-do-not-remove
84
+
85
+ `Turbo-Turtle`_ can be installed in a `Conda`_ environment with the `Conda`_ package manager. See the `Conda
86
+ installation`_ and `Conda environment management`_ documentation for more details about using `Conda`_.
87
+
88
+ .. code-block::
89
+
90
+ $ conda install --channel conda-forge turbo_turtle
91
+
92
+ .. installation-end-do-not-remove
93
+
94
+ ***********
95
+ Quick Start
96
+ ***********
97
+
98
+ .. user-start-do-not-remove
99
+
100
+ 1. View the CLI usage
101
+
102
+ .. code-block::
103
+
104
+ $ turbo-turtle -h
105
+ $ turbo-turtle docs -h
106
+ $ turbo-turtle geometry -h
107
+ $ turbo-turtle cylinder -h
108
+ $ turbo-turtle sphere -h
109
+ $ turbo-turtle partition -h
110
+ $ turbo-turtle mesh -h
111
+ $ turbo-turtle image -h
112
+ $ turbo-turtle merge -h
113
+ $ turbo-turtle export -h
114
+
115
+ .. user-end-do-not-remove
116
+
117
+ ****************
118
+ Copyright Notice
119
+ ****************
120
+
121
+ .. copyright-start-do-not-remove
122
+
123
+ Copyright (c) 2024, Triad National Security, LLC. All rights reserved.
124
+
125
+ This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL),
126
+ which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security
127
+ Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of
128
+ Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a
129
+ nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute
130
+ copies to the public, perform publicly and display publicly, and to permit others to do so.
131
+
132
+ .. copyright-end-do-not-remove
133
+
134
+ **********************
135
+ Developer Instructions
136
+ **********************
137
+
138
+ Cloning the Repository
139
+ ======================
140
+
141
+ .. cloning-the-repo-start-do-not-remove
142
+
143
+ Cloning the repository is very easy, simply refer to the sample session below. Keep in mind that you get to choose the
144
+ location of your local `Turbo-Turtle repository`_ clone. Here we use ``/projects/roppenheimer/repos`` as an example.
145
+
146
+ .. code-block:: bash
147
+
148
+ [roppenheimer@sstelmo repos]$ git clone ssh://git@re-git.lanl.gov:10022/aea/python-projects/turbo-turtle.git
149
+
150
+ .. cloning-the-repo-end-do-not-remove
151
+
152
+ Compute Environment
153
+ ===================
154
+
155
+ .. compute-env-start-do-not-remove
156
+
157
+ This project uses `Conda`_ to manage most of the compute environment. Some software, e.g. Abaqus and Cubit, can not be
158
+ installed with `Conda`_ and must be installed separately.
159
+
160
+ `SCons`_ can be installed in a `Conda`_ environment with the `Conda`_ package manager. See the `Conda installation`_
161
+ and `Conda environment management`_ documentation for more details about using `Conda`_.
162
+
163
+ 1. Create the environment if it doesn't exist
164
+
165
+ .. code-block::
166
+
167
+ $ conda env create --name berms-env --file environment.yml
168
+
169
+ 2. Activate the environment
170
+
171
+ .. code-block::
172
+
173
+ $ conda activate berms-env
174
+
175
+ .. compute-env-end-do-not-remove
176
+
177
+ Testing
178
+ =======
179
+
180
+ .. testing-start-do-not-remove
181
+
182
+ This project now performs CI testing on AEA compute servers. The up-to-date test commands can be found in the
183
+ ``.gitlab-ci.yml`` file. The full regression suite includes the documentation builds, Python 3 unit tests, Abaqus Python
184
+ unit tests, and the system tests.
185
+
186
+ .. code-block::
187
+
188
+ $ pwd
189
+ /home/roppenheimer/repos/turbo-turtle
190
+ $ scons regression
191
+
192
+ There is also a separate style guide check run as
193
+
194
+ .. code-block::
195
+
196
+ $ scons flake8 black-check
197
+
198
+ The full list of available aliases can be found as ``scons -h``.
199
+
200
+ .. testing-end-do-not-remove
@@ -0,0 +1,130 @@
1
+ """Read cProfile files and plot.
2
+
3
+ Files *must* use extensions ``*.cprofile.{lazy,eager}``
4
+
5
+ .. warning::
6
+
7
+ requires Python >=3.9
8
+
9
+ .. code-block::
10
+
11
+ $ python -m cProfile -m profiler.cprofile.lazy -m turbo_turtle._main
12
+ $ EAGER_IMPORT=eager python -m cProfile -m profiler.cprofile.eager -m turbo_turtle._main
13
+ $ python profile_package.py profiler.cprofile.{eager,lazy} -o profiler.png
14
+ """
15
+ import typing
16
+ import pstats
17
+ import pathlib
18
+ import argparse
19
+
20
+ import numpy
21
+ import xarray
22
+ import matplotlib.pyplot
23
+
24
+
25
+ default_figsize = [10, 5]
26
+ default_output = None
27
+
28
+
29
+ def get_parser() -> argparse.Namespace():
30
+ """Get CLI parser
31
+
32
+ :returns: profiler.py CLI parser
33
+ """
34
+ parser = argparse.ArgumentParser(
35
+ description="Read multiple cProfile files and plot. Files *must* use extensions ``.cprofile.{lazy,eager}``"
36
+ )
37
+ parser.add_argument(
38
+ "FILE",
39
+ nargs="+",
40
+ help="cProfile output file"
41
+ )
42
+ parser.add_argument(
43
+ "-o", "--output",
44
+ default=default_output,
45
+ help="Output file to save as figure. Must use an extension supported by matplotlib. (default: %(default)s)"
46
+ )
47
+ parser.add_argument(
48
+ "-f", "--figsize",
49
+ nargs=2,
50
+ type=float,
51
+ default=default_figsize,
52
+ help="Matplotlib figure size [width, height] in inches. (default: %(default)s)"
53
+ )
54
+ return parser
55
+
56
+
57
+ def smallest_stem(path: pathlib.Path) -> str:
58
+ """Return the smallest stem from a pathlib Path object by removing all suffixes
59
+
60
+ .. warning::
61
+
62
+ requires Python >=3.9
63
+
64
+ :param path: pathlib Path object to process
65
+
66
+ :returns: shortest stem (all suffixes removed)
67
+ """
68
+ # Python >=3.9 for the ``.removesuffix`` method
69
+ return str(path.name).removesuffix("".join(path.suffixes))
70
+
71
+
72
+ def plot(
73
+ dataset: xarray.Dataset,
74
+ figsize: typing.Tuple[float, float] = default_figsize,
75
+ output: typing.Optional[str] = default_output,
76
+ **kwargs
77
+ ) -> None:
78
+ """Plot Xarray Dataset, optionally saving and output file
79
+
80
+ If no output file is specified, open a matplotlib figure window
81
+
82
+ :param dataset: Xarray dataset to plot
83
+ :param figsize: Matplotlib figure size argument (width, height) in inches
84
+ :param output: Output file to save. Optional.
85
+ :param **kwargs: ``dataset.plot.scatter`` keyword arguments
86
+ """
87
+ figure = matplotlib.pyplot.figure(figsize=figsize)
88
+ dataset.plot.scatter(**kwargs)
89
+ figure.axes[0].set_xticklabels(labels=dataset["file"].values, rotation=6)
90
+ if output is not None:
91
+ figure.savefig(output)
92
+ else:
93
+ matplotlib.pyplot.show()
94
+
95
+
96
+ def main() -> None:
97
+ """Read cProfile files and plot"""
98
+ parser = get_parser()
99
+ args = parser.parse_args()
100
+
101
+ dispositions = [".eager", ".lazy"]
102
+ paths = [pathlib.Path(path) for path in args.FILE]
103
+ stems = list(set([smallest_stem(path)for path in paths]))
104
+
105
+ total_time = numpy.zeros([len(stems), len(dispositions)])
106
+ for path in paths:
107
+ stats = pstats.Stats(str(path))
108
+
109
+ stem = smallest_stem(path)
110
+ disposition = path.suffixes[-1]
111
+ disposition_index = dispositions.index(disposition)
112
+ stems_index = stems.index(stem)
113
+ total_time[stems_index, disposition_index] = stats.total_tt
114
+
115
+ dataset = xarray.Dataset(
116
+ {"total time": (["file", "disposition"], total_time)},
117
+ coords={
118
+ "file": stems,
119
+ "disposition": dispositions
120
+ }
121
+ )
122
+ dataset["total time"].attrs["units"] = "s"
123
+ dataset = dataset.sortby("file")
124
+
125
+ plot(dataset, figsize=tuple(args.figsize), output=args.output,
126
+ x="file", y="total time", hue="disposition", add_legend=True, add_colorbar=False)
127
+
128
+
129
+ if __name__ == "__main__":
130
+ main()