ansys-fluent-core 0.29.dev0__py3-none-any.whl → 0.29.dev1__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.dev1.dist-info}/LICENSE +1 -1
  29. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev1.dist-info}/METADATA +53 -31
  30. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev1.dist-info}/RECORD +65 -141
  31. {ansys_fluent_core-0.29.dev0.dist-info → ansys_fluent_core-0.29.dev1.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,103 +0,0 @@
1
- from ansys.fluent.core import examples
2
- from ansys.fluent.core.filereader.case_file import CaseFile
3
- from ansys.fluent.core.filereader.data_file import DataFile
4
-
5
-
6
- def test_data_reader_for_single_phase():
7
- case_file_name = examples.download_file(
8
- "elbow1.cas.h5", "pyfluent/file_session", return_without_path=False
9
- )
10
-
11
- data_file_name = examples.download_file(
12
- "elbow1.dat.h5", "pyfluent/file_session", return_without_path=False
13
- )
14
-
15
- reader = DataFile(
16
- data_file_name=data_file_name,
17
- case_file_handle=CaseFile(case_file_name=case_file_name),
18
- )
19
-
20
- assert reader.case_file == "elbow1.cas.h5"
21
-
22
- assert len(reader.variables()) == 80
23
-
24
- assert reader.get_phases() == ["phase-1"]
25
-
26
- assert len(reader.get_face_variables("phase-1")) == 30
27
-
28
- assert len(reader.get_cell_variables("phase-1")) == 14
29
-
30
- assert reader.get_cell_variables("phase-1") == [
31
- "SV_BF_V",
32
- "SV_D",
33
- "SV_DENSITY",
34
- "SV_H",
35
- "SV_K",
36
- "SV_LORENTZ_FORCE",
37
- "SV_MU_LAM",
38
- "SV_MU_T",
39
- "SV_P",
40
- "SV_T",
41
- "SV_U",
42
- "SV_V",
43
- "SV_W",
44
- "",
45
- ]
46
-
47
- assert len(reader.get_face_scalar_field_data("phase-1", "SV_DENSITY", 3)) == 3630
48
-
49
- assert len(reader.get_face_vector_field_data("phase-1", 3)) == 10890
50
-
51
-
52
- def test_data_reader_for_multi_phase():
53
- case_file_name = examples.download_file(
54
- "mixing_elbow_mul_ph.cas.h5",
55
- "pyfluent/file_session",
56
- return_without_path=False,
57
- )
58
- data_file_name = examples.download_file(
59
- "mixing_elbow_mul_ph.dat.h5",
60
- "pyfluent/file_session",
61
- return_without_path=False,
62
- )
63
-
64
- reader = DataFile(
65
- data_file_name=data_file_name,
66
- case_file_handle=CaseFile(case_file_name=case_file_name),
67
- ) # Instantiate a DataFile class
68
-
69
- assert reader.case_file == "mixing_elbow_mul_ph.cas.h5"
70
-
71
- assert len(reader.variables()) == 80
72
-
73
- assert reader.get_phases() == [
74
- "phase-1",
75
- "phase-2",
76
- "phase-3",
77
- "phase-4",
78
- ]
79
-
80
- assert len(reader.get_face_variables("phase-1")) == 23
81
-
82
- assert len(reader.get_face_variables("phase-3")) == 13
83
-
84
- assert len(reader.get_cell_variables("phase-2")) == 14
85
-
86
- assert reader.get_cell_variables("phase-2") == [
87
- "SV_BF_V",
88
- "SV_DENSITY",
89
- "SV_DENSITY_M1",
90
- "SV_MU_LAM",
91
- "SV_MU_T",
92
- "SV_U",
93
- "SV_U_M1",
94
- "SV_V",
95
- "SV_VOF",
96
- "SV_VOF_M1",
97
- "SV_V_M1",
98
- "SV_W",
99
- "SV_W_M1",
100
- "",
101
- ]
102
-
103
- assert len(reader.get_face_scalar_field_data("phase-1", "SV_DENSITY", 33)) == 268
@@ -1,24 +0,0 @@
1
- import time
2
-
3
- import pytest
4
-
5
-
6
- @pytest.mark.fluent_version(">=23.1")
7
- @pytest.mark.parametrize(
8
- "error_code,raises",
9
- [
10
- (0, pytest.wont_raise()),
11
- (1, pytest.raises(RuntimeError)),
12
- ],
13
- )
14
- def test_fluent_fatal_error(error_code, raises, new_solver_session):
15
- scheme_eval = new_solver_session.scheme_eval.scheme_eval
16
- with raises:
17
- scheme_eval(
18
- "(events/transmit 'error-event "
19
- f'(cons (format #f "fatal error: ~a~%" "testing") {error_code}))'
20
- )
21
- for _ in range(10):
22
- # as these are mostly instant, exception should usually be raised on the second gRPC call
23
- scheme_eval("(pp 'fatal_error_testing)")
24
- time.sleep(0.1)
@@ -1,214 +0,0 @@
1
- from pathlib import Path
2
-
3
- import pytest
4
-
5
- import ansys.fluent.core as pyfluent
6
- from ansys.fluent.core import FluentVersion, MeshingEvent, SolverEvent, examples
7
- from ansys.fluent.core.warnings import PyFluentDeprecationWarning
8
-
9
-
10
- def test_receive_events_on_case_loaded(new_solver_session) -> None:
11
-
12
- def on_case_loaded_old(session_id, event_info):
13
- on_case_loaded_old.loaded = True
14
-
15
- on_case_loaded_old.loaded = False
16
-
17
- def on_case_loaded_old_with_args(x, y, session_id, event_info):
18
- on_case_loaded_old_with_args.state = dict(x=x, y=y)
19
-
20
- on_case_loaded_old_with_args.state = None
21
-
22
- def on_case_loaded(session, event_info):
23
- on_case_loaded.loaded = True
24
- if session.get_fluent_version() >= FluentVersion.v232:
25
- assert Path(event_info.case_file_name).name == Path(case_file_name).name
26
- with pytest.warns(PyFluentDeprecationWarning):
27
- assert Path(event_info.casefilepath).name == Path(case_file_name).name
28
-
29
- on_case_loaded.loaded = False
30
-
31
- def on_case_loaded_with_args_optional_first(x, y, session, event_info):
32
- on_case_loaded_with_args_optional_first.state = dict(x=x, y=y)
33
-
34
- on_case_loaded_with_args_optional_first.state = None
35
-
36
- def on_case_loaded_with_args(session, event_info, x, y):
37
- on_case_loaded_with_args.state = dict(x=x, y=y)
38
-
39
- on_case_loaded_with_args.state = None
40
-
41
- solver = new_solver_session
42
-
43
- solver.events.register_callback(SolverEvent.CASE_LOADED, on_case_loaded_old)
44
-
45
- solver.events.register_callback(
46
- SolverEvent.CASE_LOADED, on_case_loaded_old_with_args, 12, y=42
47
- )
48
-
49
- solver.events.register_callback(SolverEvent.CASE_LOADED, on_case_loaded)
50
-
51
- solver.events.register_callback(
52
- SolverEvent.CASE_LOADED, on_case_loaded_with_args_optional_first, 12, y=42
53
- )
54
-
55
- solver.events.register_callback(
56
- SolverEvent.CASE_LOADED, on_case_loaded_with_args, 12, y=42
57
- )
58
-
59
- case_file_name = examples.download_file(
60
- "mixing_elbow.cas.h5", "pyfluent/mixing_elbow"
61
- )
62
-
63
- assert not on_case_loaded_old.loaded
64
- assert not on_case_loaded.loaded
65
- assert not on_case_loaded_old_with_args.state
66
- assert not on_case_loaded_with_args_optional_first.state
67
- assert not on_case_loaded_with_args.state
68
-
69
- try:
70
- solver.settings.file.read_case(file_name=case_file_name)
71
- except AttributeError:
72
- solver.tui.file.read_case(case_file_name)
73
-
74
- assert on_case_loaded_old.loaded
75
- assert on_case_loaded.loaded
76
- assert on_case_loaded_old_with_args.state == dict(x=12, y=42)
77
- assert on_case_loaded_with_args_optional_first.state == dict(x=12, y=42)
78
- assert on_case_loaded_with_args.state == dict(x=12, y=42)
79
-
80
-
81
- def test_receive_meshing_events_on_case_loaded(new_meshing_session) -> None:
82
-
83
- case_file_name = examples.download_file(
84
- "mixing_elbow.cas.h5", "pyfluent/mixing_elbow"
85
- )
86
-
87
- def on_case_loaded(session, event_info):
88
- on_case_loaded.loaded = True
89
-
90
- on_case_loaded.loaded = False
91
-
92
- meshing = new_meshing_session
93
-
94
- meshing.events.register_callback(MeshingEvent.CASE_LOADED, on_case_loaded)
95
-
96
- assert not on_case_loaded.loaded
97
-
98
- meshing.tui.file.read_case(case_file_name)
99
-
100
- # this is not working in meshing mode
101
- # assert on_case_loaded.loaded
102
-
103
-
104
- @pytest.mark.fluent_version(">=23.1")
105
- def test_iteration_ended_sync_event(static_mixer_case_session):
106
- solver = static_mixer_case_session
107
- solver.settings.solution.initialization.hybrid_initialize()
108
- count = 0
109
-
110
- def cb(session, event_info):
111
- assert event_info.index == session.scheme_eval.scheme_eval(
112
- "(get-current-iteration)"
113
- )
114
- nonlocal count
115
- count += 1
116
-
117
- cb_id = solver.events.register_callback(pyfluent.SolverEvent.ITERATION_ENDED, cb)
118
- solver.settings.solution.run_calculation.iterate(iter_count=10)
119
- assert count == 10
120
- solver.events.unregister_callback(cb_id)
121
- solver.settings.solution.run_calculation.iterate(iter_count=5)
122
- assert count == 10
123
-
124
-
125
- @pytest.mark.fluent_version(">=23.1")
126
- def test_iteration_ended_sync_event_multiple_connections(static_mixer_case_session):
127
- solver1 = static_mixer_case_session
128
- solver2 = pyfluent.connect_to_fluent(
129
- ip=solver1.connection_properties.ip,
130
- port=solver1.connection_properties.port,
131
- password=solver1.connection_properties.password,
132
- )
133
- solver1.settings.solution.initialization.hybrid_initialize()
134
- solver1_count = 0
135
- solver2_count = 0
136
-
137
- def solver1_cb(session, event_info):
138
- assert session == solver1
139
- if event_info.index % 2 == 0:
140
- nonlocal solver1_count
141
- solver1_count += 1
142
-
143
- def solver2_cb(session, event_info):
144
- assert session == solver2
145
- if event_info.index % 2 == 1:
146
- nonlocal solver2_count
147
- solver2_count += 1
148
-
149
- solver1.events.register_callback(pyfluent.SolverEvent.ITERATION_ENDED, solver1_cb)
150
- solver2.events.register_callback(pyfluent.SolverEvent.ITERATION_ENDED, solver2_cb)
151
- solver2.settings.solution.run_calculation.iterate(iter_count=5)
152
- assert solver1_count == 2
153
- assert solver2_count == 3
154
-
155
-
156
- @pytest.mark.fluent_version(">=23.1")
157
- def test_timestep_ended_sync_event(static_mixer_case_session):
158
- solver = static_mixer_case_session
159
- solver.settings.setup.general.solver.time = "unsteady-2nd-order"
160
- solver.settings.solution.initialization.hybrid_initialize()
161
- count = 0
162
-
163
- def cb(session, event_info):
164
- assert event_info.index == solver.rp_vars("time-step")
165
- nonlocal count
166
- count += 1
167
-
168
- cb_id = solver.events.register_callback(pyfluent.SolverEvent.TIMESTEP_ENDED, cb)
169
- solver.settings.solution.run_calculation.dual_time_iterate(
170
- time_step_count=10, max_iter_per_step=2
171
- )
172
- assert count == 10
173
- solver.events.unregister_callback(cb_id)
174
- solver.settings.solution.run_calculation.dual_time_iterate(
175
- time_step_count=5, max_iter_per_step=2
176
- )
177
- assert count == 10
178
-
179
-
180
- @pytest.mark.fluent_version(">=23.1")
181
- def test_sync_event_exception_in_callback(static_mixer_case_session, caplog):
182
- solver = static_mixer_case_session
183
- solver.settings.solution.initialization.hybrid_initialize()
184
-
185
- def cb(session, event_info):
186
- raise RuntimeError
187
-
188
- cb_id = solver.events.register_callback(pyfluent.SolverEvent.ITERATION_ENDED, cb)
189
- with caplog.at_level("ERROR", logger="pyfluent.networking"):
190
- solver.settings.solution.run_calculation.iterate(iter_count=10)
191
- assert (
192
- len(
193
- [
194
- record
195
- for record in caplog.records
196
- if "Error in callback" in record.message
197
- ]
198
- )
199
- == 10
200
- )
201
- caplog.clear()
202
- solver.events.unregister_callback(cb_id)
203
- with caplog.at_level("ERROR", logger="pyfluent.networking"):
204
- solver.settings.solution.run_calculation.iterate(iter_count=5)
205
- assert (
206
- len(
207
- [
208
- record
209
- for record in caplog.records
210
- if "Error in callback" in record.message
211
- ]
212
- )
213
- == 0
214
- )