ansys-fluent-core 0.28.2__py3-none-any.whl → 0.29.0__py3-none-any.whl

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.

Potentially problematic release.


This version of ansys-fluent-core might be problematic. Click here for more details.

Files changed (221) hide show
  1. ansys/fluent/core/__init__.py +26 -1
  2. ansys/fluent/core/_stand_alone_datamodel_client/_datamodel_client.py +22 -0
  3. ansys/fluent/core/_version.py +24 -2
  4. ansys/fluent/core/codegen/__init__.py +22 -0
  5. ansys/fluent/core/codegen/allapigen.py +38 -5
  6. ansys/fluent/core/codegen/builtin_settingsgen.py +22 -0
  7. ansys/fluent/core/codegen/data/__init__.py +21 -0
  8. ansys/fluent/core/codegen/data/fluent_gui_help_patch.py +22 -0
  9. ansys/fluent/core/codegen/data/meshing_utilities_examples.py +22 -0
  10. ansys/fluent/core/codegen/datamodelgen.py +40 -4
  11. ansys/fluent/core/codegen/print_fluent_version.py +22 -0
  12. ansys/fluent/core/codegen/settingsgen.py +67 -4
  13. ansys/fluent/core/codegen/tuigen.py +44 -6
  14. ansys/fluent/core/codegen/walk_api.py +67 -18
  15. ansys/fluent/core/codegen/write_settings_yaml.py +22 -0
  16. ansys/fluent/core/data_model_cache.py +22 -0
  17. ansys/fluent/core/examples/__init__.py +22 -0
  18. ansys/fluent/core/examples/downloads.py +22 -0
  19. ansys/fluent/core/exceptions.py +22 -0
  20. ansys/fluent/core/file_session.py +22 -0
  21. ansys/fluent/core/filereader/__init__.py +21 -0
  22. ansys/fluent/core/filereader/case_file.py +22 -0
  23. ansys/fluent/core/filereader/casereader.py +22 -0
  24. ansys/fluent/core/filereader/data_file.py +22 -0
  25. ansys/fluent/core/filereader/lispy.py +22 -0
  26. ansys/fluent/core/fluent_connection.py +23 -1
  27. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  28. ansys/fluent/core/generated/datamodel_252/meshing.py +32 -0
  29. ansys/fluent/core/generated/fluent_version_252.py +3 -3
  30. ansys/fluent/core/generated/solver/settings_222.py +0 -72
  31. ansys/fluent/core/generated/solver/settings_222.pyi +0 -307
  32. ansys/fluent/core/generated/solver/settings_231.py +0 -574
  33. ansys/fluent/core/generated/solver/settings_231.pyi +0 -561
  34. ansys/fluent/core/generated/solver/settings_232.py +0 -527
  35. ansys/fluent/core/generated/solver/settings_232.pyi +0 -2803
  36. ansys/fluent/core/generated/solver/settings_241.py +0 -478
  37. ansys/fluent/core/generated/solver/settings_241.pyi +0 -522
  38. ansys/fluent/core/generated/solver/settings_242.py +0 -361
  39. ansys/fluent/core/generated/solver/settings_242.pyi +0 -591
  40. ansys/fluent/core/generated/solver/settings_251.py +0 -399
  41. ansys/fluent/core/generated/solver/settings_251.pyi +0 -629
  42. ansys/fluent/core/generated/solver/settings_252.py +7794 -4185
  43. ansys/fluent/core/generated/solver/settings_252.pyi +6986 -3213
  44. ansys/fluent/core/generated/solver/tui_252.py +537 -181
  45. ansys/fluent/core/get_build_details.py +22 -0
  46. ansys/fluent/core/journaling.py +38 -0
  47. ansys/fluent/core/launcher/__init__.py +22 -0
  48. ansys/fluent/core/launcher/container_launcher.py +65 -56
  49. ansys/fluent/core/launcher/error_handler.py +30 -0
  50. ansys/fluent/core/launcher/fluent_container.py +45 -20
  51. ansys/fluent/core/launcher/launcher.py +53 -5
  52. ansys/fluent/core/launcher/launcher_utils.py +22 -0
  53. ansys/fluent/core/launcher/pim_launcher.py +120 -86
  54. ansys/fluent/core/launcher/process_launch_string.py +22 -0
  55. ansys/fluent/core/launcher/pyfluent_enums.py +22 -0
  56. ansys/fluent/core/launcher/server_info.py +45 -3
  57. ansys/fluent/core/launcher/slurm_launcher.py +25 -3
  58. ansys/fluent/core/launcher/standalone_launcher.py +68 -63
  59. ansys/fluent/core/launcher/watchdog.py +22 -0
  60. ansys/fluent/core/logging.py +24 -0
  61. ansys/fluent/core/logging_config.yaml +3 -0
  62. ansys/fluent/core/meshing/meshing_workflow.py +22 -0
  63. ansys/fluent/core/parametric.py +22 -0
  64. ansys/fluent/core/post_objects/__init__.py +21 -0
  65. ansys/fluent/core/post_objects/check_in_notebook.py +22 -0
  66. ansys/fluent/core/post_objects/meta.py +22 -0
  67. ansys/fluent/core/post_objects/post_helper.py +22 -0
  68. ansys/fluent/core/post_objects/post_object_definitions.py +22 -0
  69. ansys/fluent/core/post_objects/post_objects_container.py +22 -0
  70. ansys/fluent/core/post_objects/singleton_meta.py +22 -0
  71. ansys/fluent/core/post_objects/timing_decorator.py +22 -0
  72. ansys/fluent/core/report.py +77 -0
  73. ansys/fluent/core/rpvars.py +22 -0
  74. ansys/fluent/core/scheduler/__init__.py +22 -0
  75. ansys/fluent/core/scheduler/load_machines.py +22 -0
  76. ansys/fluent/core/scheduler/machine_list.py +22 -0
  77. ansys/fluent/core/search.py +22 -0
  78. ansys/fluent/core/services/__init__.py +22 -0
  79. ansys/fluent/core/services/api_upgrade.py +22 -0
  80. ansys/fluent/core/services/app_utilities.py +38 -0
  81. ansys/fluent/core/services/batch_ops.py +22 -0
  82. ansys/fluent/core/services/datamodel_se.py +26 -1
  83. ansys/fluent/core/services/datamodel_tui.py +22 -0
  84. ansys/fluent/core/services/deprecated_field_data.py +23 -1
  85. ansys/fluent/core/services/events.py +22 -0
  86. ansys/fluent/core/services/field_data.py +285 -2
  87. ansys/fluent/core/services/health_check.py +22 -0
  88. ansys/fluent/core/services/interceptors.py +50 -2
  89. ansys/fluent/core/services/monitor.py +22 -0
  90. ansys/fluent/core/services/reduction.py +22 -0
  91. ansys/fluent/core/services/scheme_eval.py +22 -0
  92. ansys/fluent/core/services/settings.py +22 -0
  93. ansys/fluent/core/services/solution_variables.py +22 -0
  94. ansys/fluent/core/services/streaming.py +22 -0
  95. ansys/fluent/core/services/transcript.py +22 -0
  96. ansys/fluent/core/session.py +39 -2
  97. ansys/fluent/core/session_base_meshing.py +22 -0
  98. ansys/fluent/core/session_meshing.py +22 -0
  99. ansys/fluent/core/session_meshing.pyi +22 -0
  100. ansys/fluent/core/session_pure_meshing.py +22 -0
  101. ansys/fluent/core/session_pure_meshing.pyi +22 -0
  102. ansys/fluent/core/session_shared.py +22 -0
  103. ansys/fluent/core/session_solver.py +43 -0
  104. ansys/fluent/core/session_solver.pyi +22 -0
  105. ansys/fluent/core/session_solver_aero.py +22 -0
  106. ansys/fluent/core/session_solver_icing.py +22 -0
  107. ansys/fluent/core/session_solver_lite.py +22 -0
  108. ansys/fluent/core/solver/__init__.py +22 -0
  109. ansys/fluent/core/solver/error_message.py +22 -0
  110. ansys/fluent/core/solver/flobject.py +22 -0
  111. ansys/fluent/core/solver/flunits.py +22 -0
  112. ansys/fluent/core/solver/function/__init__.py +22 -0
  113. ansys/fluent/core/solver/function/reduction.py +22 -0
  114. ansys/fluent/core/solver/settings_builtin_bases.py +22 -0
  115. ansys/fluent/core/solver/settings_builtin_data.py +22 -0
  116. ansys/fluent/core/solver/settings_external.py +22 -0
  117. ansys/fluent/core/streaming_services/__init__.py +21 -0
  118. ansys/fluent/core/streaming_services/datamodel_event_streaming.py +22 -0
  119. ansys/fluent/core/streaming_services/datamodel_streaming.py +22 -0
  120. ansys/fluent/core/streaming_services/events_streaming.py +22 -0
  121. ansys/fluent/core/streaming_services/field_data_streaming.py +22 -0
  122. ansys/fluent/core/streaming_services/monitor_streaming.py +23 -1
  123. ansys/fluent/core/streaming_services/streaming.py +22 -0
  124. ansys/fluent/core/streaming_services/transcript_streaming.py +22 -0
  125. ansys/fluent/core/systemcoupling.py +22 -0
  126. ansys/fluent/core/utils/__init__.py +22 -0
  127. ansys/fluent/core/utils/data_transfer.py +22 -0
  128. ansys/fluent/core/utils/deprecate.py +24 -1
  129. ansys/fluent/core/utils/dictionary_operations.py +22 -0
  130. ansys/fluent/core/utils/dump_session_data.py +22 -0
  131. ansys/fluent/core/utils/event_loop.py +22 -0
  132. ansys/fluent/core/utils/execution.py +22 -0
  133. ansys/fluent/core/utils/file_transfer_service.py +22 -0
  134. ansys/fluent/core/utils/fix_doc.py +22 -0
  135. ansys/fluent/core/utils/fldoc.py +22 -0
  136. ansys/fluent/core/utils/fluent_version.py +22 -0
  137. ansys/fluent/core/utils/networking.py +22 -0
  138. ansys/fluent/core/utils/setup_for_fluent.py +22 -0
  139. ansys/fluent/core/warnings.py +22 -0
  140. ansys/fluent/core/workflow.py +22 -0
  141. {ansys_fluent_core-0.28.2.dist-info → ansys_fluent_core-0.29.0.dist-info}/LICENSE +8 -8
  142. {ansys_fluent_core-0.28.2.dist-info → ansys_fluent_core-0.29.0.dist-info}/METADATA +56 -33
  143. ansys_fluent_core-0.29.0.dist-info/RECORD +219 -0
  144. {ansys_fluent_core-0.28.2.dist-info → ansys_fluent_core-0.29.0.dist-info}/WHEEL +1 -1
  145. ansys/fluent/core/docs/README.rst +0 -155
  146. ansys/fluent/tests/conftest.py +0 -415
  147. ansys/fluent/tests/fluent_fixtures.py +0 -195
  148. ansys/fluent/tests/integration/test_optislang/test_optislang_integration.py +0 -263
  149. ansys/fluent/tests/parametric/test_local_parametric_run.py +0 -36
  150. ansys/fluent/tests/parametric/test_local_parametric_setup.py +0 -34
  151. ansys/fluent/tests/parametric/test_parametric_workflow.py +0 -279
  152. ansys/fluent/tests/test_aero_session.py +0 -88
  153. ansys/fluent/tests/test_batch_ops.py +0 -39
  154. ansys/fluent/tests/test_builtin_settings.py +0 -761
  155. ansys/fluent/tests/test_cad_to_post_ftm.py +0 -525
  156. ansys/fluent/tests/test_cad_to_post_wtm.py +0 -250
  157. ansys/fluent/tests/test_casereader.py +0 -324
  158. ansys/fluent/tests/test_codegen.py +0 -783
  159. ansys/fluent/tests/test_creatable.py +0 -31
  160. ansys/fluent/tests/test_data_model_cache.py +0 -434
  161. ansys/fluent/tests/test_datamodel_api.py +0 -429
  162. ansys/fluent/tests/test_datamodel_service.py +0 -814
  163. ansys/fluent/tests/test_datareader.py +0 -103
  164. ansys/fluent/tests/test_error_handling.py +0 -24
  165. ansys/fluent/tests/test_events_manager.py +0 -214
  166. ansys/fluent/tests/test_field_data.py +0 -466
  167. ansys/fluent/tests/test_file_session.py +0 -355
  168. ansys/fluent/tests/test_file_transfer_service.py +0 -165
  169. ansys/fluent/tests/test_fix_doc.py +0 -29
  170. ansys/fluent/tests/test_flobject.py +0 -1235
  171. ansys/fluent/tests/test_fluent_fixes.py +0 -106
  172. ansys/fluent/tests/test_fluent_session.py +0 -270
  173. ansys/fluent/tests/test_fluent_version.py +0 -66
  174. ansys/fluent/tests/test_fluent_version_marker.py +0 -65
  175. ansys/fluent/tests/test_icing_session.py +0 -9
  176. ansys/fluent/tests/test_launcher.py +0 -529
  177. ansys/fluent/tests/test_launcher_remote.py +0 -272
  178. ansys/fluent/tests/test_lispy.py +0 -40
  179. ansys/fluent/tests/test_logging.py +0 -16
  180. ansys/fluent/tests/test_mapped_api.py +0 -766
  181. ansys/fluent/tests/test_meshing_utilities.py +0 -2436
  182. ansys/fluent/tests/test_meshing_workflow.py +0 -421
  183. ansys/fluent/tests/test_meshingmode/test_meshing_launch.py +0 -168
  184. ansys/fluent/tests/test_new_meshing_workflow.py +0 -1801
  185. ansys/fluent/tests/test_preferences.py +0 -89
  186. ansys/fluent/tests/test_pure_mesh_vs_mesh_workflow.py +0 -101
  187. ansys/fluent/tests/test_reduction.py +0 -484
  188. ansys/fluent/tests/test_rp_vars.py +0 -77
  189. ansys/fluent/tests/test_scheduler.py +0 -471
  190. ansys/fluent/tests/test_scheme_eval_222.py +0 -338
  191. ansys/fluent/tests/test_scheme_eval_231.py +0 -243
  192. ansys/fluent/tests/test_search.py +0 -344
  193. ansys/fluent/tests/test_session.py +0 -594
  194. ansys/fluent/tests/test_settings_api.py +0 -606
  195. ansys/fluent/tests/test_settings_reader.py +0 -85
  196. ansys/fluent/tests/test_slurm_future.py +0 -67
  197. ansys/fluent/tests/test_solution_variables.py +0 -241
  198. ansys/fluent/tests/test_solver_monitors.py +0 -83
  199. ansys/fluent/tests/test_solvermode/boundaries_periodic_expDict +0 -1712
  200. ansys/fluent/tests/test_solvermode/test_boundaries.py +0 -127
  201. ansys/fluent/tests/test_solvermode/test_calculationactivities.py +0 -20
  202. ansys/fluent/tests/test_solvermode/test_controls.py +0 -131
  203. ansys/fluent/tests/test_solvermode/test_general.py +0 -109
  204. ansys/fluent/tests/test_solvermode/test_initialization.py +0 -83
  205. ansys/fluent/tests/test_solvermode/test_materials.py +0 -40
  206. ansys/fluent/tests/test_solvermode/test_methods.py +0 -65
  207. ansys/fluent/tests/test_solvermode/test_models.py +0 -99
  208. ansys/fluent/tests/test_solvermode/test_named_expressions.py +0 -35
  209. ansys/fluent/tests/test_solvermode/test_post_vector.py +0 -22
  210. ansys/fluent/tests/test_solvermode/test_species_model.py +0 -67
  211. ansys/fluent/tests/test_streaming_services.py +0 -52
  212. ansys/fluent/tests/test_systemcoupling.py +0 -44
  213. ansys/fluent/tests/test_topy.py +0 -179
  214. ansys/fluent/tests/test_tui_api.py +0 -70
  215. ansys/fluent/tests/test_type_stub.py +0 -37
  216. ansys/fluent/tests/test_utils.py +0 -82
  217. ansys/fluent/tests/util/__init__.py +0 -36
  218. ansys/fluent/tests/util/meshing_workflow.py +0 -33
  219. ansys/fluent/tests/util/solver.py +0 -72
  220. ansys_fluent_core-0.28.2.dist-info/AUTHORS +0 -12
  221. ansys_fluent_core-0.28.2.dist-info/RECORD +0 -294
@@ -1,761 +0,0 @@
1
- from pathlib import Path
2
- import tempfile
3
-
4
- import pytest
5
-
6
- try:
7
- from ansys.fluent.core.solver import (
8
- Ablation,
9
- Battery,
10
- BoundaryCondition,
11
- BoundaryConditions,
12
- CalculationActivity,
13
- CaseModification,
14
- CellRegister,
15
- CellRegisters,
16
- CellZoneCondition,
17
- CellZoneConditions,
18
- Contour,
19
- Contours,
20
- Controls,
21
- ConvergenceConditions,
22
- CumulativePlots,
23
- CustomFieldFunctions,
24
- CustomVectors,
25
- DesignPoint,
26
- DesignPoints,
27
- DiscretePhase,
28
- DiscretePhaseHistogram,
29
- DynamicMesh,
30
- EChemistry,
31
- Energy,
32
- ExecuteCommands,
33
- ExpressionVolumes,
34
- FluidCellZone,
35
- FluidCellZones,
36
- FluidMaterial,
37
- FluidMaterials,
38
- Fluxes,
39
- General,
40
- Graphics,
41
- GroupSurfaces,
42
- Histogram,
43
- ImprintSurfaces,
44
- Initialization,
45
- Injections,
46
- InputParameters,
47
- InteriorBoundaries,
48
- InteriorBoundary,
49
- InterpolatedData,
50
- IsoClips,
51
- IsoSurfaces,
52
- LICs,
53
- LineSurfaces,
54
- Materials,
55
- Meshes,
56
- MeshInterfaces,
57
- Methods,
58
- Models,
59
- Monitor,
60
- Multiphase,
61
- NamedExpressions,
62
- Optics,
63
- OutputParameters,
64
- ParametricStudies,
65
- ParametricStudy,
66
- ParticleTracks,
67
- PartitionSurfaces,
68
- Pathlines,
69
- Pemfc,
70
- PlaneSlices,
71
- PlaneSurface,
72
- PlaneSurfaces,
73
- Plots,
74
- PointSurfaces,
75
- PressureOutlet,
76
- PressureOutlets,
77
- ProfileData,
78
- QuadricSurfaces,
79
- Radiation,
80
- RakeSurfaces,
81
- ReferenceFrame,
82
- ReferenceFrames,
83
- ReferenceValues,
84
- Report,
85
- ReportDefinitions,
86
- ReportFile,
87
- ReportFiles,
88
- ReportPlot,
89
- ReportPlots,
90
- Residual,
91
- Results,
92
- RunCalculation,
93
- SceneAnimation,
94
- Scenes,
95
- Setup,
96
- SimulationReports,
97
- Sofc,
98
- SolidMaterial,
99
- SolidMaterials,
100
- Solution,
101
- Species,
102
- SphereSlices,
103
- Structure,
104
- SurfaceCells,
105
- SurfaceIntegrals,
106
- Surfaces,
107
- SystemCoupling,
108
- TransformSurfaces,
109
- Vectors,
110
- VelocityInlet,
111
- VelocityInlets,
112
- VirtualBladeModel,
113
- Viscous,
114
- VolumeIntegrals,
115
- WallBoundaries,
116
- WallBoundary,
117
- XYPlots,
118
- ZoneSurfaces,
119
- )
120
- except ImportError:
121
- pass # for no-codegen testing workflow
122
- import ansys.fluent.core as pyfluent
123
- from ansys.fluent.core.examples import download_file
124
- from ansys.fluent.core.utils.fluent_version import FluentVersion
125
-
126
-
127
- @pytest.mark.codegen_required
128
- def test_builtin_settings(mixing_elbow_case_data_session):
129
- solver = mixing_elbow_case_data_session
130
- fluent_version = solver.get_fluent_version()
131
- assert Setup(settings_source=solver) == solver.setup
132
- assert General(settings_source=solver) == solver.setup.general
133
- assert Models(settings_source=solver) == solver.setup.models
134
- assert Multiphase(settings_source=solver) == solver.setup.models.multiphase
135
- assert Energy(settings_source=solver) == solver.setup.models.energy
136
- assert Viscous(settings_source=solver) == solver.setup.models.viscous
137
- if fluent_version >= FluentVersion.v232:
138
- assert Radiation(settings_source=solver) == solver.setup.models.radiation
139
- else:
140
- with pytest.raises(RuntimeError):
141
- Radiation(settings_source=solver)
142
- if fluent_version >= FluentVersion.v232:
143
- assert Species(settings_source=solver) == solver.setup.models.species
144
- else:
145
- with pytest.raises(RuntimeError):
146
- Species(settings_source=solver)
147
- if fluent_version >= FluentVersion.v231:
148
- assert (
149
- DiscretePhase(settings_source=solver) == solver.setup.models.discrete_phase
150
- )
151
- else:
152
- with pytest.raises(RuntimeError):
153
- DiscretePhase(settings_source=solver)
154
- if fluent_version >= FluentVersion.v231:
155
- assert (
156
- Injections(settings_source=solver)
157
- == solver.setup.models.discrete_phase.injections
158
- )
159
- else:
160
- with pytest.raises(RuntimeError):
161
- Injections(settings_source=solver)
162
- if fluent_version >= FluentVersion.v231:
163
- assert (
164
- VirtualBladeModel(settings_source=solver)
165
- == solver.setup.models.virtual_blade_model
166
- )
167
- else:
168
- with pytest.raises(RuntimeError):
169
- VirtualBladeModel(settings_source=solver)
170
- if fluent_version >= FluentVersion.v231:
171
- assert Optics(settings_source=solver) == solver.setup.models.optics
172
- else:
173
- with pytest.raises(RuntimeError):
174
- Optics(settings_source=solver)
175
- if fluent_version >= FluentVersion.v232:
176
- assert Structure(settings_source=solver) == solver.setup.models.structure
177
- else:
178
- with pytest.raises(RuntimeError):
179
- Structure(settings_source=solver)
180
- if fluent_version >= FluentVersion.v232:
181
- assert Ablation(settings_source=solver) == solver.setup.models.ablation
182
- else:
183
- with pytest.raises(RuntimeError):
184
- Ablation(settings_source=solver)
185
- if fluent_version >= FluentVersion.v241:
186
- assert EChemistry(settings_source=solver) == solver.setup.models.echemistry
187
- else:
188
- with pytest.raises(RuntimeError):
189
- EChemistry(settings_source=solver)
190
- if fluent_version >= FluentVersion.v241:
191
- assert Battery(settings_source=solver) == solver.setup.models.battery
192
- else:
193
- with pytest.raises(RuntimeError):
194
- Battery(settings_source=solver)
195
- if fluent_version >= FluentVersion.v241:
196
- assert (
197
- SystemCoupling(settings_source=solver)
198
- == solver.setup.models.system_coupling
199
- )
200
- else:
201
- with pytest.raises(RuntimeError):
202
- SystemCoupling(settings_source=solver)
203
- if fluent_version >= FluentVersion.v241:
204
- assert Sofc(settings_source=solver) == solver.setup.models.sofc
205
- else:
206
- with pytest.raises(RuntimeError):
207
- Sofc(settings_source=solver)
208
- if fluent_version >= FluentVersion.v242:
209
- assert Pemfc(settings_source=solver) == solver.setup.models.pemfc
210
- else:
211
- with pytest.raises(RuntimeError):
212
- Pemfc(settings_source=solver)
213
- assert Materials(settings_source=solver) == solver.setup.materials
214
- assert FluidMaterials(settings_source=solver) == solver.setup.materials.fluid
215
- assert (
216
- FluidMaterial(settings_source=solver, name="air")
217
- == solver.setup.materials.fluid["air"]
218
- )
219
- assert SolidMaterials(settings_source=solver) == solver.setup.materials.solid
220
- assert (
221
- SolidMaterial(settings_source=solver, name="aluminum")
222
- == solver.setup.materials.solid["aluminum"]
223
- )
224
- assert (
225
- CellZoneConditions(settings_source=solver) == solver.setup.cell_zone_conditions
226
- )
227
- if fluent_version >= FluentVersion.v231:
228
- assert (
229
- CellZoneCondition(settings_source=solver, name="elbow-fluid")
230
- == solver.setup.cell_zone_conditions["elbow-fluid"]
231
- )
232
- else:
233
- with pytest.raises(RuntimeError):
234
- CellZoneCondition(settings_source=solver, name="elbow-fluid")
235
- assert (
236
- FluidCellZones(settings_source=solver)
237
- == solver.setup.cell_zone_conditions.fluid
238
- )
239
- assert (
240
- FluidCellZone(settings_source=solver, name="elbow-fluid")
241
- == solver.setup.cell_zone_conditions.fluid["elbow-fluid"]
242
- )
243
- assert (
244
- BoundaryConditions(settings_source=solver) == solver.setup.boundary_conditions
245
- )
246
- if fluent_version >= FluentVersion.v231:
247
- assert (
248
- BoundaryCondition(settings_source=solver, name="cold-inlet")
249
- == solver.setup.boundary_conditions["cold-inlet"]
250
- )
251
- else:
252
- with pytest.raises(RuntimeError):
253
- BoundaryCondition(settings_source=solver, name="cold-inlet")
254
- with pytest.raises(TypeError):
255
- BoundaryCondition(settings_source=solver, new_instance_name="bc-1")
256
- assert (
257
- VelocityInlets(settings_source=solver)
258
- == solver.setup.boundary_conditions.velocity_inlet
259
- )
260
- assert (
261
- VelocityInlet(settings_source=solver, name="cold-inlet")
262
- == solver.setup.boundary_conditions.velocity_inlet["cold-inlet"]
263
- )
264
- assert (
265
- InteriorBoundaries(settings_source=solver)
266
- == solver.setup.boundary_conditions.interior
267
- )
268
- assert (
269
- InteriorBoundary(settings_source=solver, name="interior--elbow-fluid")
270
- == solver.setup.boundary_conditions.interior["interior--elbow-fluid"]
271
- )
272
- assert (
273
- PressureOutlets(settings_source=solver)
274
- == solver.setup.boundary_conditions.pressure_outlet
275
- )
276
- assert (
277
- PressureOutlet(settings_source=solver, name="outlet")
278
- == solver.setup.boundary_conditions.pressure_outlet["outlet"]
279
- )
280
- assert (
281
- WallBoundaries(settings_source=solver) == solver.setup.boundary_conditions.wall
282
- )
283
- assert (
284
- WallBoundary(settings_source=solver, name="wall-elbow")
285
- == solver.setup.boundary_conditions.wall["wall-elbow"]
286
- )
287
- if fluent_version >= FluentVersion.v231 and fluent_version < FluentVersion.v251:
288
- with pytest.raises(AttributeError):
289
- WallBoundary(settings_source=solver, new_instance_name="wall-1")
290
- if fluent_version >= FluentVersion.v232:
291
- assert MeshInterfaces(settings_source=solver) == solver.setup.mesh_interfaces
292
- else:
293
- with pytest.raises(RuntimeError):
294
- MeshInterfaces(settings_source=solver)
295
- if fluent_version >= FluentVersion.v251:
296
- assert DynamicMesh(settings_source=solver) == solver.setup.dynamic_mesh
297
- else:
298
- with pytest.raises(RuntimeError):
299
- DynamicMesh(settings_source=solver)
300
- assert ReferenceValues(settings_source=solver) == solver.setup.reference_values
301
- if fluent_version >= FluentVersion.v232:
302
- assert ReferenceFrames(settings_source=solver) == solver.setup.reference_frames
303
- else:
304
- with pytest.raises(RuntimeError):
305
- ReferenceFrames(settings_source=solver)
306
- if fluent_version >= FluentVersion.v232:
307
- # Fluent 25.1 issue
308
- if fluent_version != FluentVersion.v251:
309
- assert (
310
- ReferenceFrame(settings_source=solver, name="global")
311
- == solver.setup.reference_frames["global"]
312
- )
313
- else:
314
- with pytest.raises(RuntimeError):
315
- ReferenceFrame(settings_source=solver, name="global")
316
- if fluent_version >= FluentVersion.v232:
317
- assert (
318
- NamedExpressions(settings_source=solver) == solver.setup.named_expressions
319
- )
320
- else:
321
- with pytest.raises(RuntimeError):
322
- NamedExpressions(settings_source=solver)
323
- assert Methods(settings_source=solver) == solver.solution.methods
324
- assert Controls(settings_source=solver) == solver.solution.controls
325
- assert (
326
- ReportDefinitions(settings_source=solver) == solver.solution.report_definitions
327
- )
328
- if fluent_version >= FluentVersion.v231:
329
- assert Monitor(settings_source=solver) == solver.solution.monitor
330
- if fluent_version >= FluentVersion.v241:
331
- assert Residual(settings_source=solver) == solver.solution.monitor.residual
332
- else:
333
- with pytest.raises(RuntimeError):
334
- Residual(settings_source=solver)
335
- assert (
336
- ReportFiles(settings_source=solver) == solver.solution.monitor.report_files
337
- )
338
- assert (
339
- ReportFile(settings_source=solver, new_instance_name="report-file-1")
340
- == solver.solution.monitor.report_files["report-file-1"]
341
- )
342
- assert (
343
- ReportFile(settings_source=solver, name="report-file-1")
344
- == solver.solution.monitor.report_files["report-file-1"]
345
- )
346
- if fluent_version >= FluentVersion.v251:
347
- assert (
348
- ReportFile(settings_source=solver)
349
- == solver.solution.monitor.report_files["report-file-2"]
350
- )
351
- assert (
352
- ReportPlots(settings_source=solver) == solver.solution.monitor.report_plots
353
- )
354
- assert (
355
- ReportPlot(settings_source=solver, new_instance_name="report-plot-1")
356
- == solver.solution.monitor.report_plots["report-plot-1"]
357
- )
358
- assert (
359
- ReportPlot(settings_source=solver, name="report-plot-1")
360
- == solver.solution.monitor.report_plots["report-plot-1"]
361
- )
362
- if fluent_version >= FluentVersion.v251:
363
- assert (
364
- ReportPlot(settings_source=solver)
365
- == solver.solution.monitor.report_plots["report-plot-2"]
366
- )
367
- assert (
368
- ConvergenceConditions(settings_source=solver)
369
- == solver.solution.monitor.convergence_conditions
370
- )
371
- else:
372
- with pytest.raises(RuntimeError):
373
- Monitor(settings_source=solver)
374
- if fluent_version >= FluentVersion.v231:
375
- assert CellRegisters(settings_source=solver) == solver.solution.cell_registers
376
- assert (
377
- CellRegister(settings_source=solver, new_instance_name="cell_register_1")
378
- == solver.solution.cell_registers["cell_register_1"]
379
- )
380
- assert (
381
- CellRegister(settings_source=solver, name="cell_register_1")
382
- == solver.solution.cell_registers["cell_register_1"]
383
- )
384
- if fluent_version >= FluentVersion.v251:
385
- assert (
386
- CellRegister(settings_source=solver)
387
- == solver.solution.cell_registers["cell_register_2"]
388
- )
389
- else:
390
- with pytest.raises(RuntimeError):
391
- CellRegisters(settings_source=solver)
392
- assert Initialization(settings_source=solver) == solver.solution.initialization
393
- if fluent_version >= FluentVersion.v231:
394
- assert (
395
- CalculationActivity(settings_source=solver)
396
- == solver.solution.calculation_activity
397
- )
398
- assert (
399
- ExecuteCommands(settings_source=solver)
400
- == solver.solution.calculation_activity.execute_commands
401
- )
402
- if fluent_version >= FluentVersion.v241:
403
- assert (
404
- CaseModification(settings_source=solver)
405
- == solver.solution.calculation_activity.case_modification
406
- )
407
- else:
408
- with pytest.raises(RuntimeError):
409
- CaseModification(settings_source=solver)
410
- else:
411
- with pytest.raises(RuntimeError):
412
- CalculationActivity(settings_source=solver)
413
- assert RunCalculation(settings_source=solver) == solver.solution.run_calculation
414
- assert Solution(settings_source=solver) == solver.solution
415
- assert Results(settings_source=solver) == solver.results
416
- assert Surfaces(settings_source=solver) == solver.results.surfaces
417
- if fluent_version >= FluentVersion.v232:
418
- assert (
419
- PointSurfaces(settings_source=solver)
420
- == solver.results.surfaces.point_surface
421
- )
422
- assert (
423
- LineSurfaces(settings_source=solver) == solver.results.surfaces.line_surface
424
- )
425
- assert (
426
- RakeSurfaces(settings_source=solver) == solver.results.surfaces.rake_surface
427
- )
428
- assert (
429
- IsoSurfaces(settings_source=solver) == solver.results.surfaces.iso_surface
430
- )
431
- else:
432
- with pytest.raises(RuntimeError):
433
- PointSurfaces(settings_source=solver)
434
- with pytest.raises(RuntimeError):
435
- LineSurfaces(settings_source=solver)
436
- with pytest.raises(RuntimeError):
437
- RakeSurfaces(settings_source=solver)
438
- with pytest.raises(RuntimeError):
439
- IsoSurfaces(settings_source=solver)
440
- assert (
441
- PlaneSurfaces(settings_source=solver) == solver.results.surfaces.plane_surface
442
- )
443
- assert (
444
- PlaneSurface(settings_source=solver, new_instance_name="plane-1")
445
- == solver.results.surfaces.plane_surface["plane-1"]
446
- )
447
- assert (
448
- PlaneSurface(settings_source=solver, name="plane-1")
449
- == solver.results.surfaces.plane_surface["plane-1"]
450
- )
451
- if fluent_version >= FluentVersion.v241:
452
- assert IsoClips(settings_source=solver) == solver.results.surfaces.iso_clip
453
- else:
454
- with pytest.raises(RuntimeError):
455
- IsoClips(settings_source=solver)
456
- if fluent_version >= FluentVersion.v241:
457
- assert (
458
- ZoneSurfaces(settings_source=solver) == solver.results.surfaces.zone_surface
459
- )
460
- assert (
461
- PartitionSurfaces(settings_source=solver)
462
- == solver.results.surfaces.partition_surface
463
- )
464
- assert (
465
- TransformSurfaces(settings_source=solver)
466
- == solver.results.surfaces.transform_surface
467
- )
468
- assert (
469
- ImprintSurfaces(settings_source=solver)
470
- == solver.results.surfaces.imprint_surface
471
- )
472
- assert (
473
- PlaneSlices(settings_source=solver) == solver.results.surfaces.plane_slice
474
- )
475
- assert (
476
- SphereSlices(settings_source=solver) == solver.results.surfaces.sphere_slice
477
- )
478
- assert (
479
- QuadricSurfaces(settings_source=solver)
480
- == solver.results.surfaces.quadric_surface
481
- )
482
- assert (
483
- SurfaceCells(settings_source=solver)
484
- == solver.results.surfaces.surface_cells
485
- )
486
- else:
487
- with pytest.raises(RuntimeError):
488
- ZoneSurfaces(settings_source=solver)
489
- with pytest.raises(RuntimeError):
490
- PartitionSurfaces(settings_source=solver)
491
- with pytest.raises(RuntimeError):
492
- TransformSurfaces(settings_source=solver)
493
- with pytest.raises(RuntimeError):
494
- ImprintSurfaces(settings_source=solver)
495
- with pytest.raises(RuntimeError):
496
- PlaneSlices(settings_source=solver)
497
- with pytest.raises(RuntimeError):
498
- SphereSlices(settings_source=solver)
499
- with pytest.raises(RuntimeError):
500
- QuadricSurfaces(settings_source=solver)
501
- with pytest.raises(RuntimeError):
502
- SurfaceCells(settings_source=solver)
503
- if fluent_version >= FluentVersion.v251:
504
- assert (
505
- ExpressionVolumes(settings_source=solver)
506
- == solver.results.surfaces.expression_volume
507
- )
508
- assert (
509
- GroupSurfaces(settings_source=solver)
510
- == solver.results.surfaces.group_surface
511
- )
512
- else:
513
- with pytest.raises(RuntimeError):
514
- ExpressionVolumes(settings_source=solver)
515
- with pytest.raises(RuntimeError):
516
- GroupSurfaces(settings_source=solver)
517
- assert Graphics(settings_source=solver) == solver.results.graphics
518
- assert Meshes(settings_source=solver) == solver.results.graphics.mesh
519
- assert Contours(settings_source=solver) == solver.results.graphics.contour
520
- assert (
521
- Contour(settings_source=solver, new_instance_name="contour-1")
522
- == solver.results.graphics.contour["contour-1"]
523
- )
524
- assert (
525
- Contour(settings_source=solver, name="contour-1")
526
- == solver.results.graphics.contour["contour-1"]
527
- )
528
- assert Vectors(settings_source=solver) == solver.results.graphics.vector
529
- assert LICs(settings_source=solver) == solver.results.graphics.lic
530
- if fluent_version >= FluentVersion.v231:
531
- assert Pathlines(settings_source=solver) == solver.results.graphics.pathline
532
- assert (
533
- ParticleTracks(settings_source=solver)
534
- == solver.results.graphics.particle_track
535
- )
536
- assert Plots(settings_source=solver) == solver.results.plot
537
- assert XYPlots(settings_source=solver) == solver.results.plot.xy_plot
538
- else:
539
- with pytest.raises(RuntimeError):
540
- Pathlines(settings_source=solver)
541
- with pytest.raises(RuntimeError):
542
- ParticleTracks(settings_source=solver)
543
- with pytest.raises(RuntimeError):
544
- Plots(settings_source=solver)
545
- with pytest.raises(RuntimeError):
546
- XYPlots(settings_source=solver)
547
- if fluent_version >= FluentVersion.v241:
548
- assert Histogram(settings_source=solver) == solver.results.plot.histogram
549
- assert (
550
- CumulativePlots(settings_source=solver)
551
- == solver.results.plot.cumulative_plot
552
- )
553
- else:
554
- with pytest.raises(RuntimeError):
555
- Histogram(settings_source=solver)
556
- with pytest.raises(RuntimeError):
557
- CumulativePlots(settings_source=solver)
558
- if fluent_version >= FluentVersion.v242:
559
- assert ProfileData(settings_source=solver) == solver.results.plot.profile_data
560
- assert (
561
- InterpolatedData(settings_source=solver)
562
- == solver.results.plot.interpolated_data
563
- )
564
- else:
565
- with pytest.raises(RuntimeError):
566
- ProfileData(settings_source=solver)
567
- with pytest.raises(RuntimeError):
568
- InterpolatedData(settings_source=solver)
569
- if fluent_version >= FluentVersion.v231:
570
- assert Scenes(settings_source=solver) == solver.results.scene
571
- else:
572
- with pytest.raises(RuntimeError):
573
- Scenes(settings_source=solver)
574
- if fluent_version >= FluentVersion.v241:
575
- assert (
576
- SceneAnimation(settings_source=solver)
577
- == solver.results.animations.scene_animation
578
- )
579
- else:
580
- with pytest.raises(RuntimeError):
581
- SceneAnimation(settings_source=solver)
582
- if fluent_version >= FluentVersion.v231:
583
- assert Report(settings_source=solver) == solver.results.report
584
- assert (
585
- DiscretePhaseHistogram(settings_source=solver)
586
- == solver.results.report.discrete_phase.histogram
587
- )
588
- assert Fluxes(settings_source=solver) == solver.results.report.fluxes
589
- assert (
590
- SurfaceIntegrals(settings_source=solver)
591
- == solver.results.report.surface_integrals
592
- )
593
- assert (
594
- VolumeIntegrals(settings_source=solver)
595
- == solver.results.report.volume_integrals
596
- )
597
- assert (
598
- SimulationReports(settings_source=solver)
599
- == solver.results.report.simulation_reports
600
- )
601
- else:
602
- with pytest.raises(RuntimeError):
603
- Report(settings_source=solver)
604
- with pytest.raises(RuntimeError):
605
- DiscretePhaseHistogram(settings_source=solver)
606
- with pytest.raises(RuntimeError):
607
- Fluxes(settings_source=solver)
608
- with pytest.raises(RuntimeError):
609
- SurfaceIntegrals(settings_source=solver)
610
- with pytest.raises(RuntimeError):
611
- VolumeIntegrals(settings_source=solver)
612
- with pytest.raises(RuntimeError):
613
- SimulationReports(settings_source=solver)
614
- if fluent_version >= FluentVersion.v241:
615
- assert (
616
- InputParameters(settings_source=solver)
617
- == solver.parameters.input_parameters
618
- )
619
- assert (
620
- OutputParameters(settings_source=solver)
621
- == solver.parameters.output_parameters
622
- )
623
- else:
624
- with pytest.raises(RuntimeError):
625
- InputParameters(settings_source=solver)
626
- with pytest.raises(RuntimeError):
627
- OutputParameters(settings_source=solver)
628
- if fluent_version >= FluentVersion.v251:
629
- assert (
630
- CustomFieldFunctions(settings_source=solver)
631
- == solver.results.custom_field_functions
632
- )
633
- else:
634
- with pytest.raises(RuntimeError):
635
- CustomFieldFunctions(settings_source=solver)
636
- if fluent_version >= FluentVersion.v241:
637
- assert CustomVectors(settings_source=solver) == solver.results.custom_vectors
638
- else:
639
- with pytest.raises(RuntimeError):
640
- CustomVectors(settings_source=solver)
641
- tmp_save_path = tempfile.mkdtemp(dir=pyfluent.EXAMPLES_PATH)
642
- project_file = Path(tmp_save_path) / "mixing_elbow_param.flprj"
643
- solver.settings.parametric_studies.initialize(project_filename=str(project_file))
644
- assert ParametricStudies(settings_source=solver) == solver.parametric_studies
645
- assert (
646
- ParametricStudy(settings_source=solver, name="mixing_elbow-Solve")
647
- == solver.parametric_studies["mixing_elbow-Solve"]
648
- )
649
- assert (
650
- DesignPoints(settings_source=solver, parametric_studies="mixing_elbow-Solve")
651
- == solver.parametric_studies["mixing_elbow-Solve"].design_points
652
- )
653
- assert (
654
- DesignPoint(
655
- settings_source=solver,
656
- parametric_studies="mixing_elbow-Solve",
657
- name="Base DP",
658
- )
659
- == solver.parametric_studies["mixing_elbow-Solve"].design_points["Base DP"]
660
- )
661
-
662
-
663
- @pytest.mark.codegen_required
664
- @pytest.mark.fluent_version(">=23.2")
665
- def test_builtin_singleton_setting_assign_session(
666
- new_meshing_session, new_solver_session
667
- ):
668
- meshing = new_meshing_session
669
- solver = new_solver_session
670
-
671
- models = Models()
672
- assert isinstance(models, Models)
673
- with pytest.raises(TypeError):
674
- models.settings_source = meshing
675
- models.settings_source = solver
676
- assert models.settings_source == solver.settings
677
- assert not isinstance(models, Models)
678
- assert models.path == "setup/models"
679
- assert not models.is_active()
680
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
681
- solver.file.read(
682
- file_type="case",
683
- file_name=case_name,
684
- lightweight_setup=True,
685
- )
686
- assert models.is_active()
687
- assert models == solver.setup.models
688
- # TODO: Ideally an AttributeError should be raised here from flobject.py
689
- with pytest.raises(RuntimeError): # re-assignment is not allowed
690
- models.settings_source = solver
691
-
692
- models = Models()
693
- assert isinstance(models, Models)
694
- models.settings_source = solver.settings
695
- assert models == solver.setup.models
696
- assert models.settings_source == solver.settings
697
-
698
-
699
- @pytest.mark.codegen_required
700
- @pytest.mark.fluent_version(">=23.2")
701
- def test_builtin_non_creatable_named_object_setting_assign_session(
702
- new_meshing_session, static_mixer_case_session
703
- ):
704
- meshing = new_meshing_session
705
- solver = static_mixer_case_session
706
-
707
- inlet = BoundaryCondition(name="inlet1")
708
- assert isinstance(inlet, BoundaryCondition)
709
- with pytest.raises(TypeError):
710
- inlet.settings_source = meshing
711
- inlet.settings_source = solver
712
- assert inlet == solver.settings.setup.boundary_conditions["inlet1"]
713
- assert inlet.settings_source == solver.settings
714
- # TODO: Ideally an AttributeError should be raised here from flobject.py
715
- with pytest.raises(RuntimeError): # re-assignment is not allowed
716
- inlet.settings_source = solver
717
-
718
- inlet = BoundaryCondition(name="inlet1")
719
- assert isinstance(inlet, BoundaryCondition)
720
- inlet.settings_source = solver.settings
721
- assert inlet == solver.settings.setup.boundary_conditions["inlet1"]
722
- assert inlet.settings_source == solver.settings
723
-
724
-
725
- @pytest.mark.codegen_required
726
- @pytest.mark.fluent_version(">=23.2")
727
- def test_builtin_creatable_named_object_setting_assign_session(
728
- new_meshing_session, static_mixer_case_session
729
- ):
730
- meshing = new_meshing_session
731
- solver = static_mixer_case_session
732
-
733
- report_file = ReportFile(new_instance_name="report-file-1")
734
- assert isinstance(report_file, ReportFile)
735
- with pytest.raises(TypeError):
736
- report_file.settings_source = meshing
737
- report_file.settings_source = solver
738
- assert report_file == solver.solution.monitor.report_files["report-file-1"]
739
- assert report_file.settings_source == solver.settings
740
- # TODO: Ideally an AttributeError should be raised here from flobject.py
741
- with pytest.raises(RuntimeError): # re-assignment is not allowed
742
- report_file.settings_source = solver
743
-
744
- report_file = ReportFile(name="report-file-1")
745
- assert isinstance(report_file, ReportFile)
746
- report_file.settings_source = solver
747
- assert report_file == solver.solution.monitor.report_files["report-file-1"]
748
- assert report_file.settings_source == solver.settings
749
-
750
- report_file = ReportFile(name="report-file-1")
751
- assert isinstance(report_file, ReportFile)
752
- report_file.settings_source = solver.settings
753
- assert report_file == solver.solution.monitor.report_files["report-file-1"]
754
- assert report_file.settings_source == solver.settings
755
-
756
- if solver.get_fluent_version() >= FluentVersion.v251:
757
- report_file = ReportFile()
758
- assert isinstance(report_file, ReportFile)
759
- report_file.settings_source = solver
760
- assert report_file == solver.solution.monitor.report_files["report-file-2"]
761
- assert report_file.settings_source == solver.settings