ansys-fluent-core 0.33.dev0__py3-none-any.whl → 0.34.dev0__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.
- ansys/fluent/core/__init__.py +11 -4
- ansys/fluent/core/codegen/builtin_settingsgen.py +17 -9
- ansys/fluent/core/codegen/datamodelgen.py +2 -2
- ansys/fluent/core/codegen/print_fluent_version.py +4 -4
- ansys/fluent/core/codegen/settingsgen.py +1 -2
- ansys/fluent/core/exceptions.py +0 -1
- ansys/fluent/core/file_session.py +9 -9
- ansys/fluent/core/filereader/case_file.py +2 -2
- ansys/fluent/core/fluent_connection.py +5 -5
- ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
- ansys/fluent/core/generated/datamodel_231/flicing.py +40 -40
- ansys/fluent/core/generated/datamodel_231/meshing.py +202 -202
- ansys/fluent/core/generated/datamodel_232/flicing.py +55 -55
- ansys/fluent/core/generated/datamodel_232/meshing.py +159 -159
- ansys/fluent/core/generated/datamodel_241/flicing.py +35 -35
- ansys/fluent/core/generated/datamodel_241/meshing.py +294 -294
- ansys/fluent/core/generated/datamodel_242/flicing.py +35 -35
- ansys/fluent/core/generated/datamodel_242/meshing.py +305 -305
- ansys/fluent/core/generated/datamodel_242/part_management.py +9 -9
- ansys/fluent/core/generated/datamodel_251/flicing.py +50 -50
- ansys/fluent/core/generated/datamodel_251/meshing.py +337 -337
- ansys/fluent/core/generated/datamodel_251/part_management.py +6 -6
- ansys/fluent/core/generated/datamodel_252/flicing.py +35 -35
- ansys/fluent/core/generated/datamodel_252/meshing.py +399 -399
- ansys/fluent/core/generated/datamodel_252/part_management.py +5 -5
- ansys/fluent/core/generated/datamodel_261/flicing.py +45 -45
- ansys/fluent/core/generated/datamodel_261/meshing.py +412 -406
- ansys/fluent/core/generated/datamodel_261/part_management.py +5 -5
- ansys/fluent/core/generated/datamodel_261/solver_workflow.py +7 -0
- ansys/fluent/core/generated/fluent_version_261.py +3 -3
- ansys/fluent/core/generated/solver/settings_252.py +55 -55
- ansys/fluent/core/generated/solver/settings_261.py +2483 -3943
- ansys/fluent/core/generated/solver/settings_261.pyi +3530 -6130
- ansys/fluent/core/generated/solver/settings_builtin.py +57 -1
- ansys/fluent/core/generated/solver/settings_builtin.pyi +79 -0
- ansys/fluent/core/generated/solver/tui_261.py +185 -345
- ansys/fluent/core/launcher/container_launcher.py +7 -9
- ansys/fluent/core/launcher/fluent_container.py +106 -75
- ansys/fluent/core/launcher/launch_options.py +22 -1
- ansys/fluent/core/launcher/launcher.py +5 -4
- ansys/fluent/core/pyfluent_warnings.py +13 -0
- ansys/fluent/core/search.py +170 -83
- ansys/fluent/core/services/app_utilities.py +52 -32
- ansys/fluent/core/services/datamodel_se.py +6 -3
- ansys/fluent/core/services/scheme_eval.py +2 -0
- ansys/fluent/core/services/solution_variables.py +64 -49
- ansys/fluent/core/session.py +36 -30
- ansys/fluent/core/session_base_meshing.py +2 -24
- ansys/fluent/core/session_shared.py +5 -2
- ansys/fluent/core/session_solver.py +15 -9
- ansys/fluent/core/solver/__init__.py +1 -1
- ansys/fluent/core/solver/flobject.py +62 -64
- ansys/fluent/core/solver/settings_builtin_bases.py +14 -7
- ansys/fluent/core/solver/settings_builtin_data.py +121 -540
- ansys/fluent/core/utils/context_managers.py +0 -17
- ansys/fluent/core/utils/fluent_version.py +173 -0
- {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/METADATA +8 -8
- {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/RECORD +60 -78
- {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info}/WHEEL +1 -1
- ansys/fluent/core/generated/datamodel_222/meshing.py +0 -6332
- ansys/fluent/core/generated/datamodel_222/part_management.py +0 -2072
- ansys/fluent/core/generated/datamodel_222/pm_file_management.py +0 -290
- ansys/fluent/core/generated/datamodel_222/preferences.py +0 -2449
- ansys/fluent/core/generated/datamodel_222/workflow.py +0 -651
- ansys/fluent/core/generated/fluent_version_222.py +0 -5
- ansys/fluent/core/generated/meshing/tui_222.py +0 -9649
- ansys/fluent/core/generated/solver/settings_222.py +0 -29473
- ansys/fluent/core/generated/solver/settings_222.pyi +0 -19590
- ansys/fluent/core/generated/solver/tui_222.py +0 -43451
- ansys/fluent/core/post_objects/__init__.py +0 -21
- ansys/fluent/core/post_objects/check_in_notebook.py +0 -35
- ansys/fluent/core/post_objects/meta.py +0 -926
- ansys/fluent/core/post_objects/post_helper.py +0 -178
- ansys/fluent/core/post_objects/post_object_definitions.py +0 -693
- ansys/fluent/core/post_objects/post_objects_container.py +0 -248
- ansys/fluent/core/post_objects/singleton_meta.py +0 -42
- ansys/fluent/core/post_objects/timing_decorator.py +0 -38
- {ansys_fluent_core-0.33.dev0.dist-info → ansys_fluent_core-0.34.dev0.dist-info/licenses}/LICENSE +0 -0
|
@@ -92,7 +92,7 @@ class SolutionVariableInfo:
|
|
|
92
92
|
>>> print(solution_variable_info_centroid)
|
|
93
93
|
>>> name:SV_CENTROID dimension:3 field_type:<class 'numpy.float64'>
|
|
94
94
|
>>> zones_info = solution_variable_info.get_zones_info()
|
|
95
|
-
>>> print(zones_info.
|
|
95
|
+
>>> print(zones_info.zone_names)
|
|
96
96
|
>>> ['fluid', 'wall', 'symmetry', 'pressure-outlet-7', 'velocity-inlet-6', 'velocity-inlet-5', 'default-interior']
|
|
97
97
|
>>> zone_info = zones_info['wall']
|
|
98
98
|
>>> print(zone_info)
|
|
@@ -208,7 +208,16 @@ class SolutionVariableInfo:
|
|
|
208
208
|
return self._zones_info.get(name, None)
|
|
209
209
|
|
|
210
210
|
@property
|
|
211
|
-
def zones(self)
|
|
211
|
+
def zones(self):
|
|
212
|
+
"""Get zone names."""
|
|
213
|
+
warnings.warn(
|
|
214
|
+
"'zones' is deprecated, use 'zone_names' instead",
|
|
215
|
+
PyFluentDeprecationWarning,
|
|
216
|
+
)
|
|
217
|
+
return self.zone_names
|
|
218
|
+
|
|
219
|
+
@property
|
|
220
|
+
def zone_names(self) -> List[str]:
|
|
212
221
|
"""Get zone names."""
|
|
213
222
|
return list(self._zones_info.keys())
|
|
214
223
|
|
|
@@ -290,16 +299,15 @@ class SolutionVariableInfo:
|
|
|
290
299
|
return SolutionVariableInfo.ZonesInfo(response.zonesInfo, response.domainsInfo)
|
|
291
300
|
|
|
292
301
|
|
|
293
|
-
class
|
|
302
|
+
class InvalidSolutionVariableNameError(ValueError):
|
|
294
303
|
"""Exception class for errors in solution variable name."""
|
|
295
304
|
|
|
296
|
-
def __init__(self,
|
|
297
|
-
"""Initialize
|
|
298
|
-
self.solution_variable_name = solution_variable_name
|
|
305
|
+
def __init__(self, variable_name: str, allowed_values: List[str]):
|
|
306
|
+
"""Initialize InvalidSolutionVariableNameError."""
|
|
299
307
|
super().__init__(
|
|
300
308
|
allowed_name_error_message(
|
|
301
309
|
context="solution variable",
|
|
302
|
-
trial_name=
|
|
310
|
+
trial_name=variable_name,
|
|
303
311
|
allowed_values=allowed_values,
|
|
304
312
|
)
|
|
305
313
|
)
|
|
@@ -337,18 +345,16 @@ class _AllowedSvarNames:
|
|
|
337
345
|
|
|
338
346
|
def is_valid(
|
|
339
347
|
self,
|
|
340
|
-
|
|
348
|
+
variable_name,
|
|
341
349
|
zone_names: List[str],
|
|
342
350
|
domain_name: str | None = "mixture",
|
|
343
351
|
):
|
|
344
352
|
"""Check whether solution variable name is valid or not."""
|
|
345
|
-
return
|
|
346
|
-
zone_names=zone_names, domain_name=domain_name
|
|
347
|
-
)
|
|
353
|
+
return variable_name in self(zone_names=zone_names, domain_name=domain_name)
|
|
348
354
|
|
|
349
355
|
def valid_name(
|
|
350
356
|
self,
|
|
351
|
-
|
|
357
|
+
variable_name,
|
|
352
358
|
zone_names: List[str],
|
|
353
359
|
domain_name: str | None = "mixture",
|
|
354
360
|
):
|
|
@@ -356,18 +362,18 @@ class _AllowedSvarNames:
|
|
|
356
362
|
|
|
357
363
|
Raises
|
|
358
364
|
------
|
|
359
|
-
|
|
365
|
+
InvalidSolutionVariableNameError
|
|
360
366
|
If the given solution variable name is invalid.
|
|
361
367
|
"""
|
|
362
|
-
|
|
368
|
+
variable_name = _to_field_name_str(variable_name)
|
|
363
369
|
if not self.is_valid(
|
|
364
|
-
|
|
370
|
+
variable_name, zone_names=zone_names, domain_name=domain_name
|
|
365
371
|
):
|
|
366
|
-
raise
|
|
367
|
-
|
|
372
|
+
raise InvalidSolutionVariableNameError(
|
|
373
|
+
variable_name=variable_name,
|
|
368
374
|
allowed_values=self(zone_names=zone_names, domain_name=domain_name),
|
|
369
375
|
)
|
|
370
|
-
return
|
|
376
|
+
return variable_name
|
|
371
377
|
|
|
372
378
|
|
|
373
379
|
class _AllowedZoneNames(_AllowedNames):
|
|
@@ -375,7 +381,7 @@ class _AllowedZoneNames(_AllowedNames):
|
|
|
375
381
|
self._zones_info = solution_variable_info.get_zones_info()
|
|
376
382
|
|
|
377
383
|
def __call__(self) -> List[str]:
|
|
378
|
-
return self._zones_info.
|
|
384
|
+
return self._zones_info.zone_names
|
|
379
385
|
|
|
380
386
|
def valid_name(self, zone_name):
|
|
381
387
|
"""Get a valid zone name.
|
|
@@ -491,10 +497,10 @@ class SolutionVariableData:
|
|
|
491
497
|
Examples
|
|
492
498
|
--------
|
|
493
499
|
>>> solution_variable_data = solver_session.fields.solution_variable_data
|
|
494
|
-
>>> sv_t_wall_fluid=solver_session.fields.solution_variable_data.get_data(
|
|
500
|
+
>>> sv_t_wall_fluid=solver_session.fields.solution_variable_data.get_data(variable_name="SV_T", domain_name="mixture", zone_names=["fluid", "wall"])
|
|
495
501
|
>>> print(sv_t_wall_fluid.domain)
|
|
496
502
|
>>> 'mixture'
|
|
497
|
-
>>> print(sv_t_wall_fluid.
|
|
503
|
+
>>> print(sv_t_wall_fluid.zone_names)
|
|
498
504
|
>>> ['fluid', 'wall']
|
|
499
505
|
>>> fluid_temp = sv_t_wall_fluid['fluid']
|
|
500
506
|
>>> print(fluid_temp.size)
|
|
@@ -507,8 +513,8 @@ class SolutionVariableData:
|
|
|
507
513
|
>>> fluid_temp_array =solution_variable_data.create_empty_array("SV_T", "fluid")
|
|
508
514
|
>>> wall_temp_array[:]= 500
|
|
509
515
|
>>> fluid_temp_array[:]= 600
|
|
510
|
-
>>>
|
|
511
|
-
>>> solution_variable_data.set_data(
|
|
516
|
+
>>> zone_names_to_data = {'wall':wall_temp_array, 'fluid':fluid_temp_array}
|
|
517
|
+
>>> solution_variable_data.set_data(variable_name="SV_T", domain_name="mixture", zone_names_to_data=zone_names_to_data)
|
|
512
518
|
"""
|
|
513
519
|
|
|
514
520
|
class Data:
|
|
@@ -529,7 +535,16 @@ class SolutionVariableData:
|
|
|
529
535
|
|
|
530
536
|
@property
|
|
531
537
|
def zones(self):
|
|
532
|
-
"""Zone
|
|
538
|
+
"""Zone names."""
|
|
539
|
+
warnings.warn(
|
|
540
|
+
"'zones' is deprecated, use 'zone_names' instead",
|
|
541
|
+
PyFluentDeprecationWarning,
|
|
542
|
+
)
|
|
543
|
+
return self.zone_names
|
|
544
|
+
|
|
545
|
+
@property
|
|
546
|
+
def zone_names(self):
|
|
547
|
+
"""Zone names."""
|
|
533
548
|
return list(self._data.keys())
|
|
534
549
|
|
|
535
550
|
@property
|
|
@@ -568,7 +583,7 @@ class SolutionVariableData:
|
|
|
568
583
|
|
|
569
584
|
def create_empty_array(
|
|
570
585
|
self,
|
|
571
|
-
|
|
586
|
+
variable_name: str,
|
|
572
587
|
zone_name: str,
|
|
573
588
|
domain_name: str | None = "mixture",
|
|
574
589
|
) -> np.zeros:
|
|
@@ -579,20 +594,20 @@ class SolutionVariableData:
|
|
|
579
594
|
self._update_solution_variable_info()
|
|
580
595
|
|
|
581
596
|
zones_info = self._solution_variable_info.get_zones_info()
|
|
582
|
-
if zone_name in zones_info.
|
|
597
|
+
if zone_name in zones_info.zone_names:
|
|
583
598
|
solution_variables_info = self._solution_variable_info.get_variables_info(
|
|
584
599
|
zone_names=[zone_name], domain_name=domain_name
|
|
585
600
|
)
|
|
586
|
-
if
|
|
601
|
+
if variable_name in solution_variables_info.solution_variables:
|
|
587
602
|
return np.zeros(
|
|
588
603
|
zones_info[zone_name].count
|
|
589
|
-
* solution_variables_info[
|
|
590
|
-
dtype=solution_variables_info[
|
|
604
|
+
* solution_variables_info[variable_name].dimension,
|
|
605
|
+
dtype=solution_variables_info[variable_name].field_type,
|
|
591
606
|
)
|
|
592
607
|
|
|
593
608
|
def get_data(
|
|
594
609
|
self,
|
|
595
|
-
|
|
610
|
+
variable_name: str,
|
|
596
611
|
zone_names: List[str],
|
|
597
612
|
domain_name: str | None = "mixture",
|
|
598
613
|
) -> Data:
|
|
@@ -600,10 +615,10 @@ class SolutionVariableData:
|
|
|
600
615
|
|
|
601
616
|
Parameters
|
|
602
617
|
----------
|
|
603
|
-
|
|
604
|
-
Name of the
|
|
618
|
+
variable_name : str
|
|
619
|
+
Name of the solution variable.
|
|
605
620
|
zone_names: List[str]
|
|
606
|
-
Zone names list for
|
|
621
|
+
Zone names list for solution variable data.
|
|
607
622
|
domain_name : str, optional
|
|
608
623
|
Domain name. The default is ``mixture``.
|
|
609
624
|
|
|
@@ -619,7 +634,7 @@ class SolutionVariableData:
|
|
|
619
634
|
)
|
|
620
635
|
svars_request.domainId = self._allowed_domain_names.valid_name(domain_name)
|
|
621
636
|
svars_request.name = self._allowed_solution_variable_names.valid_name(
|
|
622
|
-
|
|
637
|
+
variable_name,
|
|
623
638
|
zone_names,
|
|
624
639
|
domain_name,
|
|
625
640
|
)
|
|
@@ -637,7 +652,7 @@ class SolutionVariableData:
|
|
|
637
652
|
|
|
638
653
|
def get_svar_data(
|
|
639
654
|
self,
|
|
640
|
-
|
|
655
|
+
variable_name: str,
|
|
641
656
|
zone_names: List[str],
|
|
642
657
|
domain_name: str | None = "mixture",
|
|
643
658
|
) -> Data:
|
|
@@ -647,25 +662,25 @@ class SolutionVariableData:
|
|
|
647
662
|
PyFluentDeprecationWarning,
|
|
648
663
|
)
|
|
649
664
|
return self.get_data(
|
|
650
|
-
|
|
665
|
+
variable_name=variable_name,
|
|
651
666
|
zone_names=zone_names,
|
|
652
667
|
domain_name=domain_name,
|
|
653
668
|
)
|
|
654
669
|
|
|
655
670
|
def set_data(
|
|
656
671
|
self,
|
|
657
|
-
|
|
658
|
-
|
|
672
|
+
variable_name: str,
|
|
673
|
+
zone_names_to_data: Dict[str, np.array],
|
|
659
674
|
domain_name: str | None = "mixture",
|
|
660
675
|
) -> None:
|
|
661
676
|
"""Set SVAR data on zones.
|
|
662
677
|
|
|
663
678
|
Parameters
|
|
664
679
|
----------
|
|
665
|
-
|
|
666
|
-
Name of the
|
|
667
|
-
|
|
668
|
-
Dictionary containing zone names for
|
|
680
|
+
variable_name : str
|
|
681
|
+
Name of the solution variable.
|
|
682
|
+
zone_names_to_data: Dict[str, np.array]
|
|
683
|
+
Dictionary containing zone names for solution variable data.
|
|
669
684
|
domain_name : str, optional
|
|
670
685
|
Domain name. The default is ``mixture``.
|
|
671
686
|
|
|
@@ -677,7 +692,7 @@ class SolutionVariableData:
|
|
|
677
692
|
domain_id = self._allowed_domain_names.valid_name(domain_name)
|
|
678
693
|
zone_ids_to_svar_data = {
|
|
679
694
|
self._allowed_zone_names.valid_name(zone_name): solution_variable_data
|
|
680
|
-
for zone_name, solution_variable_data in
|
|
695
|
+
for zone_name, solution_variable_data in zone_names_to_data.items()
|
|
681
696
|
}
|
|
682
697
|
|
|
683
698
|
def generate_set_data_requests():
|
|
@@ -686,7 +701,7 @@ class SolutionVariableData:
|
|
|
686
701
|
set_data_requests.append(
|
|
687
702
|
SvarProtoModule.SetSvarDataRequest(
|
|
688
703
|
header=SvarProtoModule.SvarHeader(
|
|
689
|
-
name=
|
|
704
|
+
name=variable_name, domainId=domain_id
|
|
690
705
|
)
|
|
691
706
|
)
|
|
692
707
|
)
|
|
@@ -754,17 +769,17 @@ class SolutionVariableData:
|
|
|
754
769
|
|
|
755
770
|
def set_svar_data(
|
|
756
771
|
self,
|
|
757
|
-
|
|
758
|
-
zone_names_to_svar_data:
|
|
772
|
+
variable_name: str,
|
|
773
|
+
zone_names_to_svar_data: Dict[str, np.array],
|
|
759
774
|
domain_name: str | None = "mixture",
|
|
760
|
-
) ->
|
|
775
|
+
) -> None:
|
|
761
776
|
"""Set solution variable data."""
|
|
762
777
|
warnings.warn(
|
|
763
778
|
"set_svar_data is deprecated, use set_data instead",
|
|
764
779
|
PyFluentDeprecationWarning,
|
|
765
780
|
)
|
|
766
781
|
return self.set_data(
|
|
767
|
-
|
|
768
|
-
|
|
782
|
+
variable_name=variable_name,
|
|
783
|
+
zone_names_to_data=zone_names_to_svar_data,
|
|
769
784
|
domain_name=domain_name,
|
|
770
785
|
)
|
ansys/fluent/core/session.py
CHANGED
|
@@ -221,36 +221,7 @@ class BaseSession:
|
|
|
221
221
|
FieldDataService, self._error_state
|
|
222
222
|
)
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
"""Container for field and solution variables."""
|
|
226
|
-
|
|
227
|
-
def __init__(self, _session):
|
|
228
|
-
"""Initialize Fields."""
|
|
229
|
-
self._is_solution_data_valid = (
|
|
230
|
-
_session._app_utilities.is_solution_data_available
|
|
231
|
-
)
|
|
232
|
-
self.field_info = service_creator("field_info").create(
|
|
233
|
-
_session._field_data_service,
|
|
234
|
-
self._is_solution_data_valid,
|
|
235
|
-
)
|
|
236
|
-
self.field_data = service_creator("field_data").create(
|
|
237
|
-
_session._field_data_service,
|
|
238
|
-
self.field_info,
|
|
239
|
-
self._is_solution_data_valid,
|
|
240
|
-
_session.scheme,
|
|
241
|
-
get_zones_info,
|
|
242
|
-
)
|
|
243
|
-
self.field_data_streaming = FieldDataStreaming(
|
|
244
|
-
_session._fluent_connection._id, _session._field_data_service
|
|
245
|
-
)
|
|
246
|
-
self.field_data_old = service_creator("field_data_old").create(
|
|
247
|
-
_session._field_data_service,
|
|
248
|
-
self.field_info,
|
|
249
|
-
self._is_solution_data_valid,
|
|
250
|
-
_session.scheme,
|
|
251
|
-
)
|
|
252
|
-
|
|
253
|
-
self.fields = Fields(self)
|
|
224
|
+
self.fields = Fields(self, get_zones_info)
|
|
254
225
|
|
|
255
226
|
self._settings_service = service_creator("settings").create(
|
|
256
227
|
fluent_connection._channel,
|
|
@@ -283,6 +254,7 @@ class BaseSession:
|
|
|
283
254
|
"""Provides access to Fluent field information."""
|
|
284
255
|
return self.scheme
|
|
285
256
|
|
|
257
|
+
@property
|
|
286
258
|
@deprecated(version="0.32", reason="Use ``session.is_server_healthy``.")
|
|
287
259
|
def health_check(self):
|
|
288
260
|
"""Provides access to Health Check service."""
|
|
@@ -482,3 +454,37 @@ class BaseSession:
|
|
|
482
454
|
"stop_journal",
|
|
483
455
|
}
|
|
484
456
|
return sorted(dir_list)
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
class Fields:
|
|
460
|
+
"""Container for field and solution variables."""
|
|
461
|
+
|
|
462
|
+
def __init__(
|
|
463
|
+
self,
|
|
464
|
+
_session: BaseSession,
|
|
465
|
+
get_zones_info: weakref.WeakMethod[Callable[[], list[ZoneInfo]]] | None = None,
|
|
466
|
+
):
|
|
467
|
+
"""Initialize Fields."""
|
|
468
|
+
self._is_solution_data_valid = (
|
|
469
|
+
_session._app_utilities.is_solution_data_available
|
|
470
|
+
)
|
|
471
|
+
self.field_info = service_creator("field_info").create(
|
|
472
|
+
_session._field_data_service,
|
|
473
|
+
self._is_solution_data_valid,
|
|
474
|
+
)
|
|
475
|
+
self.field_data = service_creator("field_data").create(
|
|
476
|
+
_session._field_data_service,
|
|
477
|
+
self.field_info,
|
|
478
|
+
self._is_solution_data_valid,
|
|
479
|
+
_session.scheme,
|
|
480
|
+
get_zones_info,
|
|
481
|
+
)
|
|
482
|
+
self.field_data_streaming = FieldDataStreaming(
|
|
483
|
+
_session._fluent_connection._id, _session._field_data_service
|
|
484
|
+
)
|
|
485
|
+
self.field_data_old = service_creator("field_data_old").create(
|
|
486
|
+
_session._field_data_service,
|
|
487
|
+
self.field_info,
|
|
488
|
+
self._is_solution_data_valid,
|
|
489
|
+
_session.scheme,
|
|
490
|
+
)
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
|
|
25
25
|
import logging
|
|
26
26
|
|
|
27
|
-
import ansys.fluent.core as pyfluent
|
|
28
27
|
from ansys.fluent.core.fluent_connection import FluentConnection
|
|
29
28
|
from ansys.fluent.core.meshing.meshing_workflow import (
|
|
30
29
|
CreateWorkflow,
|
|
@@ -32,9 +31,7 @@ from ansys.fluent.core.meshing.meshing_workflow import (
|
|
|
32
31
|
WorkflowMode,
|
|
33
32
|
name_to_identifier_map,
|
|
34
33
|
)
|
|
35
|
-
from ansys.fluent.core.services.datamodel_se import PyMenuGeneric
|
|
36
34
|
from ansys.fluent.core.session_shared import (
|
|
37
|
-
_CODEGEN_MSG_DATAMODEL,
|
|
38
35
|
_make_datamodel_module,
|
|
39
36
|
_make_tui_module,
|
|
40
37
|
)
|
|
@@ -113,27 +110,8 @@ class BaseMeshing:
|
|
|
113
110
|
@property
|
|
114
111
|
def _meshing_utilities_root(self):
|
|
115
112
|
"""Datamodel root of meshing_utilities."""
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
from ansys.fluent.core import CODEGEN_OUTDIR
|
|
119
|
-
|
|
120
|
-
meshing_utilities_module = pyfluent.utils.load_module(
|
|
121
|
-
f"meshing_utilities_{self._version}",
|
|
122
|
-
CODEGEN_OUTDIR
|
|
123
|
-
/ f"datamodel_{self._version}"
|
|
124
|
-
/ "meshing_utilities.py",
|
|
125
|
-
)
|
|
126
|
-
meshing_utilities_root = meshing_utilities_module.Root(
|
|
127
|
-
self._se_service, "MeshingUtilities", []
|
|
128
|
-
)
|
|
129
|
-
except (ImportError, FileNotFoundError):
|
|
130
|
-
datamodel_logger.warning("Generated API not found for MeshingUtilities.")
|
|
131
|
-
datamodel_logger.warning(_CODEGEN_MSG_DATAMODEL)
|
|
132
|
-
if self.get_fluent_version() >= FluentVersion.v242:
|
|
133
|
-
meshing_utilities_root = PyMenuGeneric(
|
|
134
|
-
self._se_service, "MeshingUtilities"
|
|
135
|
-
)
|
|
136
|
-
return meshing_utilities_root
|
|
113
|
+
if self.get_fluent_version() >= FluentVersion.v242:
|
|
114
|
+
return _make_datamodel_module(self, "MeshingUtilities")
|
|
137
115
|
|
|
138
116
|
@property
|
|
139
117
|
def meshing_utilities(self):
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
import logging
|
|
26
26
|
|
|
27
27
|
import ansys.fluent.core as pyfluent
|
|
28
|
+
from ansys.fluent.core.pyfluent_warnings import warning_for_fluent_dev_version
|
|
28
29
|
from ansys.fluent.core.services.datamodel_se import PyMenuGeneric
|
|
29
30
|
from ansys.fluent.core.services.datamodel_tui import TUIMenu
|
|
30
31
|
|
|
@@ -52,6 +53,7 @@ def _make_tui_module(session, module_name):
|
|
|
52
53
|
f"{module_name}_tui_{session._version}",
|
|
53
54
|
CODEGEN_OUTDIR / module_name / f"tui_{session._version}.py",
|
|
54
55
|
)
|
|
56
|
+
warning_for_fluent_dev_version(session._version)
|
|
55
57
|
return tui_module.main_menu(
|
|
56
58
|
session._tui_service, session._version, module_name, []
|
|
57
59
|
)
|
|
@@ -63,13 +65,14 @@ def _make_tui_module(session, module_name):
|
|
|
63
65
|
def _make_datamodel_module(session, module_name):
|
|
64
66
|
try:
|
|
65
67
|
from ansys.fluent.core import CODEGEN_OUTDIR
|
|
66
|
-
from ansys.fluent.core.codegen.datamodelgen import
|
|
68
|
+
from ansys.fluent.core.codegen.datamodelgen import datamodel_file_name_map
|
|
67
69
|
|
|
68
|
-
file_name =
|
|
70
|
+
file_name = datamodel_file_name_map[module_name]
|
|
69
71
|
module = pyfluent.utils.load_module(
|
|
70
72
|
f"{module_name}_{session._version}",
|
|
71
73
|
CODEGEN_OUTDIR / f"datamodel_{session._version}" / f"{file_name}.py",
|
|
72
74
|
)
|
|
75
|
+
warning_for_fluent_dev_version(session._version)
|
|
73
76
|
return module.Root(session._se_service, module_name, [])
|
|
74
77
|
except (ImportError, FileNotFoundError):
|
|
75
78
|
datamodel_logger.warning("Generated API not found for %s.", module_name)
|
|
@@ -117,6 +117,7 @@ class Solver(BaseSession):
|
|
|
117
117
|
event_type=SolverEvent,
|
|
118
118
|
get_zones_info=weakref.WeakMethod(self._get_zones_info),
|
|
119
119
|
)
|
|
120
|
+
self._settings = None
|
|
120
121
|
self._build_from_fluent_connection(fluent_connection, scheme_eval)
|
|
121
122
|
|
|
122
123
|
def _build_from_fluent_connection(
|
|
@@ -132,15 +133,6 @@ class Solver(BaseSession):
|
|
|
132
133
|
self._system_coupling = None
|
|
133
134
|
self._fluent_version = None
|
|
134
135
|
self._bg_session_threads = []
|
|
135
|
-
|
|
136
|
-
#: Root settings object.
|
|
137
|
-
self.settings = flobject.get_root(
|
|
138
|
-
flproxy=self._settings_service,
|
|
139
|
-
version=self._version,
|
|
140
|
-
interrupt=Solver._interrupt,
|
|
141
|
-
file_transfer_service=self._file_transfer_service,
|
|
142
|
-
scheme_eval=self.scheme.eval,
|
|
143
|
-
)
|
|
144
136
|
self._solution_variable_service = service_creator("svar").create(
|
|
145
137
|
fluent_connection._channel, fluent_connection._metadata
|
|
146
138
|
)
|
|
@@ -182,6 +174,20 @@ class Solver(BaseSession):
|
|
|
182
174
|
self._solution_variable_service, self.fields.solution_variable_info
|
|
183
175
|
)
|
|
184
176
|
|
|
177
|
+
@property
|
|
178
|
+
def settings(self):
|
|
179
|
+
"""Settings root handle."""
|
|
180
|
+
if self._settings is None:
|
|
181
|
+
#: Root settings object.
|
|
182
|
+
self._settings = flobject.get_root(
|
|
183
|
+
flproxy=self._settings_service,
|
|
184
|
+
version=self._version,
|
|
185
|
+
interrupt=Solver._interrupt,
|
|
186
|
+
file_transfer_service=self._file_transfer_service,
|
|
187
|
+
scheme_eval=self.scheme.eval,
|
|
188
|
+
)
|
|
189
|
+
return self._settings
|
|
190
|
+
|
|
185
191
|
@property
|
|
186
192
|
def svar_data(self):
|
|
187
193
|
"""``SolutionVariableData`` handle."""
|