ansys-fluent-core 0.29.dev0__py3-none-any.whl → 0.29.dev2__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 (107) hide show
  1. ansys/fluent/core/__init__.py +1 -1
  2. ansys/fluent/core/_version.py +2 -2
  3. ansys/fluent/core/codegen/tuigen.py +1 -1
  4. ansys/fluent/core/codegen/walk_api.py +45 -18
  5. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  6. ansys/fluent/core/generated/datamodel_252/meshing.py +1 -0
  7. ansys/fluent/core/generated/datamodel_252/preferences.py +7 -0
  8. ansys/fluent/core/generated/fluent_version_252.py +3 -3
  9. ansys/fluent/core/generated/meshing/tui_252.py +395 -390
  10. ansys/fluent/core/generated/solver/settings_252.py +782 -306
  11. ansys/fluent/core/generated/solver/settings_252.pyi +442 -133
  12. ansys/fluent/core/generated/solver/tui_252.py +4046 -3737
  13. ansys/fluent/core/launcher/container_launcher.py +4 -3
  14. ansys/fluent/core/launcher/fluent_container.py +22 -19
  15. ansys/fluent/core/launcher/launcher.py +2 -2
  16. ansys/fluent/core/launcher/pim_launcher.py +2 -2
  17. ansys/fluent/core/launcher/slurm_launcher.py +2 -2
  18. ansys/fluent/core/launcher/standalone_launcher.py +2 -2
  19. ansys/fluent/core/logging.py +2 -0
  20. ansys/fluent/core/logging_config.yaml +3 -0
  21. ansys/fluent/core/services/app_utilities.py +2 -1
  22. ansys/fluent/core/services/datamodel_se.py +141 -61
  23. ansys/fluent/core/services/field_data.py +252 -0
  24. ansys/fluent/core/services/interceptors.py +28 -2
  25. ansys/fluent/core/session.py +7 -2
  26. ansys/fluent/core/session_solver.py +21 -0
  27. ansys/fluent/core/streaming_services/datamodel_event_streaming.py +12 -12
  28. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev2.dist-info}/LICENSE +1 -1
  29. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev2.dist-info}/METADATA +53 -31
  30. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev2.dist-info}/RECORD +65 -141
  31. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev2.dist-info}/WHEEL +1 -1
  32. ansys/fluent/core/docs/README.rst +0 -155
  33. ansys/fluent/tests/conftest.py +0 -415
  34. ansys/fluent/tests/fluent_fixtures.py +0 -195
  35. ansys/fluent/tests/integration/test_optislang/test_optislang_integration.py +0 -263
  36. ansys/fluent/tests/parametric/test_local_parametric_run.py +0 -36
  37. ansys/fluent/tests/parametric/test_local_parametric_setup.py +0 -34
  38. ansys/fluent/tests/parametric/test_parametric_workflow.py +0 -279
  39. ansys/fluent/tests/test_aero_session.py +0 -88
  40. ansys/fluent/tests/test_batch_ops.py +0 -39
  41. ansys/fluent/tests/test_builtin_settings.py +0 -761
  42. ansys/fluent/tests/test_cad_to_post_ftm.py +0 -525
  43. ansys/fluent/tests/test_cad_to_post_wtm.py +0 -250
  44. ansys/fluent/tests/test_casereader.py +0 -324
  45. ansys/fluent/tests/test_codegen.py +0 -783
  46. ansys/fluent/tests/test_creatable.py +0 -31
  47. ansys/fluent/tests/test_data_model_cache.py +0 -434
  48. ansys/fluent/tests/test_datamodel_api.py +0 -449
  49. ansys/fluent/tests/test_datamodel_service.py +0 -814
  50. ansys/fluent/tests/test_datareader.py +0 -103
  51. ansys/fluent/tests/test_error_handling.py +0 -24
  52. ansys/fluent/tests/test_events_manager.py +0 -214
  53. ansys/fluent/tests/test_field_data.py +0 -466
  54. ansys/fluent/tests/test_file_session.py +0 -355
  55. ansys/fluent/tests/test_file_transfer_service.py +0 -165
  56. ansys/fluent/tests/test_fix_doc.py +0 -29
  57. ansys/fluent/tests/test_flobject.py +0 -1235
  58. ansys/fluent/tests/test_fluent_fixes.py +0 -106
  59. ansys/fluent/tests/test_fluent_session.py +0 -270
  60. ansys/fluent/tests/test_fluent_version.py +0 -66
  61. ansys/fluent/tests/test_fluent_version_marker.py +0 -65
  62. ansys/fluent/tests/test_icing_session.py +0 -9
  63. ansys/fluent/tests/test_launcher.py +0 -529
  64. ansys/fluent/tests/test_launcher_remote.py +0 -272
  65. ansys/fluent/tests/test_lispy.py +0 -40
  66. ansys/fluent/tests/test_logging.py +0 -16
  67. ansys/fluent/tests/test_mapped_api.py +0 -774
  68. ansys/fluent/tests/test_meshing_utilities.py +0 -2436
  69. ansys/fluent/tests/test_meshing_workflow.py +0 -421
  70. ansys/fluent/tests/test_meshingmode/test_meshing_launch.py +0 -168
  71. ansys/fluent/tests/test_new_meshing_workflow.py +0 -1801
  72. ansys/fluent/tests/test_preferences.py +0 -89
  73. ansys/fluent/tests/test_pure_mesh_vs_mesh_workflow.py +0 -101
  74. ansys/fluent/tests/test_reduction.py +0 -484
  75. ansys/fluent/tests/test_rp_vars.py +0 -77
  76. ansys/fluent/tests/test_scheduler.py +0 -471
  77. ansys/fluent/tests/test_scheme_eval_222.py +0 -338
  78. ansys/fluent/tests/test_scheme_eval_231.py +0 -243
  79. ansys/fluent/tests/test_search.py +0 -344
  80. ansys/fluent/tests/test_session.py +0 -594
  81. ansys/fluent/tests/test_settings_api.py +0 -606
  82. ansys/fluent/tests/test_settings_reader.py +0 -85
  83. ansys/fluent/tests/test_slurm_future.py +0 -67
  84. ansys/fluent/tests/test_solution_variables.py +0 -241
  85. ansys/fluent/tests/test_solver_monitors.py +0 -83
  86. ansys/fluent/tests/test_solvermode/boundaries_periodic_expDict +0 -1712
  87. ansys/fluent/tests/test_solvermode/test_boundaries.py +0 -127
  88. ansys/fluent/tests/test_solvermode/test_calculationactivities.py +0 -20
  89. ansys/fluent/tests/test_solvermode/test_controls.py +0 -131
  90. ansys/fluent/tests/test_solvermode/test_general.py +0 -109
  91. ansys/fluent/tests/test_solvermode/test_initialization.py +0 -83
  92. ansys/fluent/tests/test_solvermode/test_materials.py +0 -40
  93. ansys/fluent/tests/test_solvermode/test_methods.py +0 -65
  94. ansys/fluent/tests/test_solvermode/test_models.py +0 -99
  95. ansys/fluent/tests/test_solvermode/test_named_expressions.py +0 -35
  96. ansys/fluent/tests/test_solvermode/test_post_vector.py +0 -22
  97. ansys/fluent/tests/test_solvermode/test_species_model.py +0 -67
  98. ansys/fluent/tests/test_streaming_services.py +0 -52
  99. ansys/fluent/tests/test_systemcoupling.py +0 -44
  100. ansys/fluent/tests/test_topy.py +0 -179
  101. ansys/fluent/tests/test_tui_api.py +0 -70
  102. ansys/fluent/tests/test_type_stub.py +0 -37
  103. ansys/fluent/tests/test_utils.py +0 -82
  104. ansys/fluent/tests/util/__init__.py +0 -36
  105. ansys/fluent/tests/util/meshing_workflow.py +0 -33
  106. ansys/fluent/tests/util/solver.py +0 -72
  107. ansys_fluent_core-0.29.dev0.dist-info/AUTHORS +0 -12
@@ -1,415 +0,0 @@
1
- from contextlib import nullcontext
2
- import functools
3
- import inspect
4
- import operator
5
- import os
6
- from pathlib import Path
7
- import shutil
8
- import sys
9
-
10
- from packaging.specifiers import SpecifierSet
11
- from packaging.version import Version
12
- import pytest
13
-
14
- import ansys.fluent.core as pyfluent
15
- from ansys.fluent.core.examples.downloads import download_file
16
- from ansys.fluent.core.utils.file_transfer_service import RemoteFileTransferStrategy
17
- from ansys.fluent.core.utils.fluent_version import FluentVersion
18
-
19
- sys.path.append(Path(__file__).parent / "util")
20
-
21
-
22
- def pytest_addoption(parser):
23
- parser.addoption(
24
- "--fluent-version",
25
- action="store",
26
- metavar="VERSION",
27
- help="only run tests supported by Fluent version VERSION.",
28
- )
29
- parser.addoption(
30
- "--nightly", action="store_true", default=False, help="run nightly tests"
31
- )
32
- parser.addoption(
33
- "--solvermode", action="store_true", default=False, help="run solvermode tests"
34
- )
35
- parser.addoption(
36
- "--write-fluent-journals",
37
- action="store_true",
38
- default=False,
39
- help="Write Fluent journals for unittests",
40
- )
41
-
42
-
43
- def pytest_runtest_setup(item):
44
- if (
45
- any(mark.name == "standalone" for mark in item.iter_markers())
46
- and os.getenv("PYFLUENT_LAUNCH_CONTAINER") == "1"
47
- ):
48
- pytest.skip()
49
-
50
- is_nightly = item.config.getoption("--nightly")
51
- if not is_nightly and any(mark.name == "nightly" for mark in item.iter_markers()):
52
- pytest.skip()
53
-
54
- is_solvermode_option = item.config.getoption("--solvermode")
55
- is_solvermode_path = "test_solvermode" in item.path.parts
56
- if is_solvermode_option ^ is_solvermode_path:
57
- pytest.skip()
58
-
59
- version_specs = []
60
- fluent_release_version = FluentVersion.current_release().value
61
- for mark in item.iter_markers(name="fluent_version"):
62
- spec = mark.args[0]
63
- # if a test is marked as fluent_version("latest")
64
- # run with dev and release Fluent versions in nightly
65
- # run with release Fluent versions in PRs
66
- if spec == "latest":
67
- spec = (
68
- f">={fluent_release_version}"
69
- if is_nightly or is_solvermode_option
70
- else f"=={fluent_release_version}"
71
- )
72
- version_specs.append(SpecifierSet(spec))
73
- if version_specs:
74
- combined_spec = functools.reduce(operator.and_, version_specs)
75
- version = item.config.getoption("--fluent-version")
76
- if version and Version(version) not in combined_spec:
77
- pytest.skip()
78
-
79
-
80
- def pytest_collection_finish(session):
81
- if session.config.getoption("--write-fluent-journals"):
82
- import_path = Path(__file__).parent
83
- sys.path.append(str(import_path))
84
- import fluent_fixtures
85
-
86
- launcher_args_by_fixture = {}
87
- for k, v in fluent_fixtures.__dict__.items():
88
- if hasattr(v, "fluent_launcher_args"):
89
- launcher_args_by_fixture[k] = v.fluent_launcher_args
90
- fluent_test_root = import_path / "fluent"
91
- shutil.rmtree(fluent_test_root, ignore_errors=True)
92
- for item in session.items:
93
- skip = False
94
- for mark in item.iter_markers(name="skip"):
95
- skip = True
96
- for mark in item.iter_markers(name="fluent_version"):
97
- spec = mark.args[0]
98
- # TODO: Support older versions
99
- if not (
100
- spec == "latest"
101
- or Version(FluentVersion.current_dev().value) in SpecifierSet(spec)
102
- ):
103
- skip = True
104
- if skip:
105
- continue
106
- fluent_test_dir = fluent_test_root / item.module.__name__ / item.name
107
- fluent_test_config = fluent_test_dir / "test.yaml"
108
- fluent_test_file = fluent_test_dir / "test.py"
109
- launcher_args = ""
110
- parameters = inspect.signature(item.function).parameters
111
- parameter_set = {p for p in parameters}
112
- if not (parameter_set & set(launcher_args_by_fixture.keys())):
113
- # Skipping as unittest doesn't use fluent fixture
114
- continue
115
- for param in parameters:
116
- if param not in dir(fluent_fixtures):
117
- print(f"Skipping {item.nodeid} because of missing fixture {param}")
118
- skip = True
119
- break
120
- if skip:
121
- continue
122
- for param in parameters:
123
- if param in launcher_args_by_fixture:
124
- launcher_args = launcher_args_by_fixture[param]
125
- break
126
- fluent_test_dir.mkdir(parents=True, exist_ok=True)
127
- with open(fluent_test_config, "w") as f:
128
- f.write(f"launcher_args: {launcher_args}\n")
129
- with open(fluent_test_file, "w") as f:
130
- f.write("import sys\n")
131
- f.write('sys.path.append("/testing")\n')
132
- f.write(
133
- f"from {item.module.__name__} import {item.name} # noqa: E402\n"
134
- )
135
- f.write("from fluent_fixtures import ( # noqa: E402\n")
136
- for param in parameters:
137
- f.write(f" {param},\n")
138
- f.write(")\n")
139
- f.write("\n")
140
- f.write(f"{item.name}(")
141
- f.write(", ".join([f"{p}(globals())" for p in parameters]))
142
- f.write(")\n")
143
- f.write("exit()\n")
144
- print(f"Written {fluent_test_file}")
145
- session.items = []
146
- session.testscollected = 0
147
-
148
-
149
- @pytest.fixture(autouse=True)
150
- def run_before_each_test(
151
- monkeypatch: pytest.MonkeyPatch, request: pytest.FixtureRequest
152
- ) -> None:
153
- monkeypatch.setenv("PYFLUENT_TEST_NAME", request.node.name)
154
- monkeypatch.setenv("PYFLUENT_CODEGEN_SKIP_BUILTIN_SETTINGS", "1")
155
- pyfluent.CONTAINER_MOUNT_SOURCE = pyfluent.EXAMPLES_PATH
156
- pyfluent.CONTAINER_MOUNT_TARGET = pyfluent.EXAMPLES_PATH
157
-
158
-
159
- class Helpers:
160
- """Can be reused to provide helper methods to tests."""
161
-
162
- def __init__(self, monkeypatch: pytest.MonkeyPatch):
163
- self.monkeypatch = monkeypatch
164
-
165
- def mock_awp_vars(self, version=None):
166
- """Activates env vars for Fluent versions up to specified version, deactivates
167
- env vars for versions newer than specified."""
168
- if not version:
169
- version = FluentVersion.current_release()
170
- elif not isinstance(version, FluentVersion):
171
- version = FluentVersion(version)
172
- self.monkeypatch.delenv("PYFLUENT_FLUENT_ROOT", raising=False)
173
- for fv in FluentVersion:
174
- if fv <= version:
175
- self.monkeypatch.setenv(fv.awp_var, f"ansys_inc/{fv.name}")
176
- else:
177
- self.monkeypatch.delenv(fv.awp_var, raising=False)
178
-
179
- def delete_all_awp_vars(self):
180
- for fv in FluentVersion:
181
- self.monkeypatch.delenv(fv.awp_var, raising=False)
182
-
183
-
184
- @pytest.fixture
185
- def helpers(monkeypatch):
186
- return Helpers(monkeypatch)
187
-
188
-
189
- pytest.wont_raise = nullcontext
190
-
191
-
192
- def pytest_sessionfinish(session, exitstatus):
193
- if exitstatus == 5:
194
- session.exitstatus = 0
195
-
196
-
197
- # tests_by_fixture = defaultdict(list)
198
-
199
-
200
- # def pytest_collection_finish(session):
201
- # for k, v in sorted(tests_by_fixture.items(), key=lambda t: len(t[1]), reverse=True):
202
- # print(k, len(v))
203
-
204
-
205
- # def pytest_itemcollected(item):
206
- # if not item.nodeid.startswith("tests/test_solvermode/"):
207
- # for fixture in item.fixturenames:
208
- # tests_by_fixture[fixture].append(item.nodeid)
209
-
210
-
211
- @pytest.fixture
212
- def mixing_elbow_geometry_filename():
213
- return download_file(
214
- file_name="mixing_elbow.pmdb", directory="pyfluent/mixing_elbow"
215
- )
216
-
217
-
218
- @pytest.fixture
219
- def exhaust_system_geometry_filename():
220
- return download_file(
221
- file_name="exhaust_system.fmd", directory="pyfluent/exhaust_system"
222
- )
223
-
224
-
225
- def create_session(**kwargs):
226
- if pyfluent.USE_FILE_TRANSFER_SERVICE:
227
- file_transfer_service = RemoteFileTransferStrategy()
228
- container_dict = {"mount_source": file_transfer_service.MOUNT_SOURCE}
229
- return pyfluent.launch_fluent(
230
- container_dict=container_dict,
231
- file_transfer_service=file_transfer_service,
232
- **kwargs,
233
- )
234
- else:
235
- return pyfluent.launch_fluent(**kwargs)
236
-
237
-
238
- @pytest.fixture
239
- def new_meshing_session():
240
- meshing = create_session(mode=pyfluent.FluentMode.MESHING)
241
- yield meshing
242
- meshing.exit()
243
-
244
-
245
- @pytest.fixture
246
- def new_pure_meshing_session():
247
- meshing = create_session(mode=pyfluent.FluentMode.PURE_MESHING)
248
- yield meshing
249
- meshing.exit()
250
-
251
-
252
- @pytest.fixture
253
- def watertight_workflow_session(new_meshing_session):
254
- new_meshing_session.workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
255
- return new_meshing_session
256
-
257
-
258
- @pytest.fixture
259
- def fault_tolerant_workflow_session(new_meshing_session):
260
- new_meshing_session.workflow.InitializeWorkflow(
261
- WorkflowType="Fault-tolerant Meshing"
262
- )
263
- return new_meshing_session
264
-
265
-
266
- @pytest.fixture
267
- def mixing_elbow_watertight_pure_meshing_session(
268
- new_pure_meshing_session, mixing_elbow_geometry_filename
269
- ):
270
- meshing = new_pure_meshing_session
271
- meshing.workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
272
- meshing.workflow.TaskObject["Import Geometry"].Arguments = dict(
273
- FileName=mixing_elbow_geometry_filename, LengthUnit="in"
274
- )
275
-
276
- return meshing
277
-
278
-
279
- @pytest.fixture
280
- def new_solver_session():
281
- solver = create_session()
282
- yield solver
283
- solver.exit()
284
-
285
-
286
- @pytest.fixture
287
- def new_solver_session_t4():
288
- solver = create_session(processor_count=4)
289
- yield solver
290
- solver.exit()
291
-
292
-
293
- @pytest.fixture
294
- def new_solver_session_sp():
295
- solver = create_session(precision="single")
296
- yield solver
297
- solver.exit()
298
-
299
-
300
- @pytest.fixture
301
- def new_solver_session_2d():
302
- solver = create_session(dimension=2)
303
- yield solver
304
- solver.exit()
305
-
306
-
307
- @pytest.fixture
308
- def static_mixer_settings_session(new_solver_session):
309
- solver = new_solver_session
310
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
311
- solver.file.read(
312
- file_type="case",
313
- file_name=case_name,
314
- lightweight_setup=True,
315
- )
316
- return solver
317
-
318
-
319
- @pytest.fixture
320
- def static_mixer_case_session(new_solver_session):
321
- solver = new_solver_session
322
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
323
- solver.file.read(file_type="case", file_name=case_name)
324
- return solver
325
-
326
-
327
- @pytest.fixture
328
- def mixing_elbow_settings_session(new_solver_session):
329
- solver = new_solver_session
330
- case_name = download_file("mixing_elbow.cas.h5", "pyfluent/mixing_elbow")
331
- solver.settings.file.read(
332
- file_type="case",
333
- file_name=case_name,
334
- lightweight_setup=True,
335
- )
336
- return solver
337
-
338
-
339
- @pytest.fixture
340
- def mixing_elbow_case_session_t4(new_solver_session_t4):
341
- solver = new_solver_session_t4
342
- case_name = download_file("mixing_elbow.cas.h5", "pyfluent/mixing_elbow")
343
- solver.settings.file.read(file_type="case", file_name=case_name)
344
- return solver
345
-
346
-
347
- @pytest.fixture
348
- def mixing_elbow_case_data_session(new_solver_session):
349
- solver = new_solver_session
350
- case_name = download_file("mixing_elbow.cas.h5", "pyfluent/mixing_elbow")
351
- download_file("mixing_elbow.dat.h5", "pyfluent/mixing_elbow")
352
- solver.settings.file.read(file_type="case-data", file_name=case_name)
353
- return solver
354
-
355
-
356
- @pytest.fixture
357
- def mixing_elbow_param_case_data_session(new_solver_session):
358
- solver = new_solver_session
359
- case_name = download_file("elbow_param.cas.h5", "pyfluent/mixing_elbow")
360
- download_file("elbow_param.dat.h5", "pyfluent/mixing_elbow")
361
- solver.settings.file.read(file_type="case-data", file_name=case_name)
362
- return solver
363
-
364
-
365
- @pytest.fixture
366
- def disk_settings_session(new_solver_session_2d):
367
- solver = new_solver_session_2d
368
- case_name = download_file("disk.cas.h5", "pyfluent/rotating_disk")
369
- solver.file.read(
370
- file_type="case",
371
- file_name=case_name,
372
- lightweight_setup=True,
373
- )
374
- return solver
375
-
376
-
377
- @pytest.fixture
378
- def disk_case_session(new_solver_session_2d):
379
- solver = new_solver_session_2d
380
- case_name = download_file("disk.cas.h5", "pyfluent/rotating_disk")
381
- solver.file.read(file_type="case", file_name=case_name)
382
- return solver
383
-
384
-
385
- @pytest.fixture
386
- def periodic_rot_settings_session(new_solver_session):
387
- solver = new_solver_session
388
- case_name = download_file(
389
- "periodic_rot.cas.h5",
390
- "pyfluent/periodic_rot",
391
- )
392
- solver.file.read(
393
- file_type="case",
394
- file_name=case_name,
395
- lightweight_setup=True,
396
- )
397
- return solver
398
-
399
-
400
- @pytest.fixture
401
- def disable_datamodel_cache(monkeypatch: pytest.MonkeyPatch):
402
- monkeypatch.setattr(pyfluent, "DATAMODEL_USE_STATE_CACHE", False)
403
-
404
-
405
- @pytest.fixture(params=["old", "new"])
406
- def datamodel_api_version_all(request, monkeypatch: pytest.MonkeyPatch) -> None:
407
- if request.param == "new":
408
- monkeypatch.setenv("REMOTING_NEW_DM_API", "1")
409
- monkeypatch.setenv("REMOTING_MAPPED_NEW_DM_API", "1")
410
-
411
-
412
- @pytest.fixture
413
- def datamodel_api_version_new(monkeypatch: pytest.MonkeyPatch) -> None:
414
- monkeypatch.setenv("REMOTING_NEW_DM_API", "1")
415
- monkeypatch.setenv("REMOTING_MAPPED_NEW_DM_API", "1")
@@ -1,195 +0,0 @@
1
- from typing import Callable
2
-
3
- import pytest
4
-
5
- import ansys.fluent.core as pyfluent
6
- from ansys.fluent.core.data_model_cache import DataModelCache
7
- from ansys.fluent.core.examples import download_file
8
-
9
-
10
- def fluent_launcher_args(args: str):
11
- def fluent_launcher_args_inner(f: Callable):
12
- def wrapper(*args, **kwargs):
13
- return f(*args, **kwargs)
14
-
15
- wrapper.fluent_launcher_args = args
16
- return wrapper
17
-
18
- return fluent_launcher_args_inner
19
-
20
-
21
- def mixing_elbow_geometry_filename(globals):
22
- return download_file(
23
- file_name="mixing_elbow.pmdb", directory="pyfluent/mixing_elbow"
24
- )
25
-
26
-
27
- def exhaust_system_geometry_filename(globals):
28
- return download_file(
29
- file_name="exhaust_system.fmd", directory="pyfluent/exhaust_system"
30
- )
31
-
32
-
33
- @fluent_launcher_args("3ddp -meshing")
34
- def new_meshing_session(globals):
35
- meshing = globals["meshing"]
36
- return meshing
37
-
38
-
39
- @fluent_launcher_args("3ddp -meshing")
40
- def new_pure_meshing_session(globals):
41
- return new_meshing_session(globals)
42
-
43
-
44
- @fluent_launcher_args("3ddp -meshing")
45
- def watertight_workflow_session(globals):
46
- meshing = new_meshing_session(globals)
47
- meshing.workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
48
- return meshing
49
-
50
-
51
- @fluent_launcher_args("3ddp -meshing")
52
- def fault_tolerant_workflow_session(globals):
53
- meshing = new_meshing_session(globals)
54
- meshing.workflow.InitializeWorkflow(WorkflowType="Fault-tolerant Meshing")
55
- return meshing
56
-
57
-
58
- @fluent_launcher_args("3ddp -meshing")
59
- def mixing_elbow_watertight_pure_meshing_session(globals):
60
- meshing = new_pure_meshing_session(globals)
61
- geometry_filename = mixing_elbow_geometry_filename(globals)
62
- meshing.workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
63
- meshing.workflow.TaskObject["Import Geometry"].Arguments = dict(
64
- FileName=geometry_filename, LengthUnit="in"
65
- )
66
- return meshing
67
-
68
-
69
- @fluent_launcher_args("3ddp")
70
- def new_solver_session(globals):
71
- solver = globals["solver"]
72
- return solver
73
-
74
-
75
- @fluent_launcher_args("3d")
76
- def new_solver_session_sp(globals):
77
- return new_solver_session(globals)
78
-
79
-
80
- @fluent_launcher_args("2ddp")
81
- def new_solver_session_2d(globals):
82
- return new_solver_session(globals)
83
-
84
-
85
- @fluent_launcher_args("3ddp")
86
- def static_mixer_settings_session(globals):
87
- solver = new_solver_session(globals)
88
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
89
- solver.file.read(
90
- file_type="case",
91
- file_name=case_name,
92
- lightweight_setup=True,
93
- )
94
- return solver
95
-
96
-
97
- @fluent_launcher_args("3ddp")
98
- def static_mixer_case_session(globals):
99
- solver = new_solver_session(globals)
100
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
101
- solver.file.read(file_type="case", file_name=case_name)
102
- return solver
103
-
104
-
105
- @fluent_launcher_args("3ddp")
106
- def mixing_elbow_settings_session(globals):
107
- solver = new_solver_session(globals)
108
- case_name = download_file("mixing_elbow.cas.h5", "pyfluent/mixing_elbow")
109
- solver.settings.file.read(
110
- file_type="case",
111
- file_name=case_name,
112
- lightweight_setup=True,
113
- )
114
- return solver
115
-
116
-
117
- @fluent_launcher_args("3ddp")
118
- def mixing_elbow_case_data_session(globals):
119
- solver = new_solver_session(globals)
120
- case_name = download_file("mixing_elbow.cas.h5", "pyfluent/mixing_elbow")
121
- download_file("mixing_elbow.dat.h5", "pyfluent/mixing_elbow")
122
- solver.settings.file.read(file_type="case-data", file_name=case_name)
123
- return solver
124
-
125
-
126
- @fluent_launcher_args("3ddp")
127
- def mixing_elbow_param_case_data_session(globals):
128
- solver = new_solver_session(globals)
129
- case_name = download_file("elbow_param.cas.h5", "pyfluent/mixing_elbow")
130
- download_file("elbow_param.dat.h5", "pyfluent/mixing_elbow")
131
- solver.settings.file.read(file_type="case-data", file_name=case_name)
132
- return solver
133
-
134
-
135
- @fluent_launcher_args("2ddp")
136
- def disk_settings_session(globals):
137
- solver = new_solver_session_2d(globals)
138
- case_name = download_file("disk.cas.h5", "pyfluent/rotating_disk")
139
- solver.file.read(
140
- file_type="case",
141
- file_name=case_name,
142
- lightweight_setup=True,
143
- )
144
- return solver
145
-
146
-
147
- @fluent_launcher_args("2ddp")
148
- def disk_case_session(globals):
149
- solver = new_solver_session_2d(globals)
150
- case_name = download_file("disk.cas.h5", "pyfluent/rotating_disk")
151
- solver.file.read(file_type="case", file_name=case_name)
152
- return solver
153
-
154
-
155
- @fluent_launcher_args("3ddp")
156
- def periodic_rot_settings_session(globals):
157
- solver = new_solver_session(globals)
158
- case_name = download_file(
159
- "periodic_rot.cas.h5",
160
- "pyfluent/periodic_rot",
161
- )
162
- solver.file.read(
163
- file_type="case",
164
- file_name=case_name,
165
- lightweight_setup=True,
166
- )
167
- return solver
168
-
169
-
170
- monkeypatch = pytest.MonkeyPatch()
171
-
172
-
173
- def disable_datamodel_cache(globals):
174
- monkeypatch.setattr(pyfluent, "DATAMODEL_USE_STATE_CACHE", False)
175
-
176
-
177
- def display_names_as_keys_in_cache(globals):
178
- DataModelCache.use_display_name = True
179
-
180
-
181
- def new_meshing_session2(globals):
182
- session = pyfluent.launch_fluent(mode=pyfluent.LaunchMode.MESHING)
183
- return session
184
-
185
-
186
- def new_solver_session2(globals):
187
- session = pyfluent.launch_fluent()
188
- return session
189
-
190
-
191
- def static_mixer_case_session2(globals):
192
- session = new_solver_session2(globals)
193
- case_name = download_file("Static_Mixer_main.cas.h5", "pyfluent/static_mixer")
194
- session.file.read(file_type="case", file_name=case_name)
195
- return session