ansys-fluent-core 0.32.dev1__py3-none-any.whl → 0.32.2__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 (32) hide show
  1. ansys/fluent/core/__init__.py +2 -2
  2. ansys/fluent/core/codegen/builtin_settingsgen.py +1 -1
  3. ansys/fluent/core/generated/api_tree/api_objects.json +1 -1
  4. ansys/fluent/core/generated/datamodel_231/flicing.py +40 -40
  5. ansys/fluent/core/generated/datamodel_231/meshing.py +178 -178
  6. ansys/fluent/core/generated/datamodel_232/flicing.py +65 -65
  7. ansys/fluent/core/generated/datamodel_232/meshing.py +202 -202
  8. ansys/fluent/core/generated/datamodel_241/flicing.py +55 -55
  9. ansys/fluent/core/generated/datamodel_241/meshing.py +226 -226
  10. ansys/fluent/core/generated/datamodel_242/flicing.py +45 -45
  11. ansys/fluent/core/generated/datamodel_242/meshing.py +287 -287
  12. ansys/fluent/core/generated/datamodel_242/part_management.py +6 -6
  13. ansys/fluent/core/generated/datamodel_251/flicing.py +40 -40
  14. ansys/fluent/core/generated/datamodel_251/meshing.py +349 -349
  15. ansys/fluent/core/generated/datamodel_251/part_management.py +6 -6
  16. ansys/fluent/core/generated/datamodel_252/flicing.py +40 -40
  17. ansys/fluent/core/generated/datamodel_252/meshing.py +410 -410
  18. ansys/fluent/core/generated/datamodel_252/part_management.py +15 -15
  19. ansys/fluent/core/generated/datamodel_261/flicing.py +40 -40
  20. ansys/fluent/core/generated/datamodel_261/meshing.py +427 -427
  21. ansys/fluent/core/generated/fluent_version_261.py +3 -3
  22. ansys/fluent/core/generated/solver/settings_261.py +271 -221
  23. ansys/fluent/core/generated/solver/settings_261.pyi +144 -122
  24. ansys/fluent/core/generated/solver/tui_261.py +107 -117
  25. ansys/fluent/core/solver/__init__.py +2 -0
  26. ansys/fluent/core/solver/flobject.py +7 -26
  27. ansys/fluent/core/solver/settings_builtin_bases.py +23 -11
  28. ansys/fluent/core/utils/context_managers.py +68 -0
  29. {ansys_fluent_core-0.32.dev1.dist-info → ansys_fluent_core-0.32.2.dist-info}/METADATA +2 -2
  30. {ansys_fluent_core-0.32.dev1.dist-info → ansys_fluent_core-0.32.2.dist-info}/RECORD +32 -31
  31. {ansys_fluent_core-0.32.dev1.dist-info → ansys_fluent_core-0.32.2.dist-info}/LICENSE +0 -0
  32. {ansys_fluent_core-0.32.dev1.dist-info → ansys_fluent_core-0.32.2.dist-info}/WHEEL +0 -0
@@ -31385,6 +31385,7 @@ class main_menu(TUIMenu):
31385
31385
  def __init__(self, service, version, mode, path):
31386
31386
  self.boundary_zone = self.__class__.boundary_zone(service, version, mode, path + ["boundary_zone"])
31387
31387
  self.flat_init = self.__class__.flat_init(service, version, mode, path + ["flat_init"])
31388
+ self.open_channel_initialization_method = self.__class__.open_channel_initialization_method(service, version, mode, path + ["open_channel_initialization_method"])
31388
31389
  self.wavy_surface_init = self.__class__.wavy_surface_init(service, version, mode, path + ["wavy_surface_init"])
31389
31390
  super().__init__(service, version, mode, path)
31390
31391
  class boundary_zone(TUIMethod):
@@ -31395,6 +31396,10 @@ class main_menu(TUIMenu):
31395
31396
  """
31396
31397
  No help available.
31397
31398
  """
31399
+ class open_channel_initialization_method(TUIMethod):
31400
+ """
31401
+ No help available.
31402
+ """
31398
31403
  class wavy_surface_init(TUIMethod):
31399
31404
  """
31400
31405
  No help available.
@@ -34398,6 +34403,7 @@ class main_menu(TUIMenu):
34398
34403
  self.cfl_based_adaptive_time_stepping = self.__class__.cfl_based_adaptive_time_stepping(service, version, mode, path + ["cfl_based_adaptive_time_stepping"])
34399
34404
  self.data_sampling = self.__class__.data_sampling(service, version, mode, path + ["data_sampling"])
34400
34405
  self.data_sampling_options = self.__class__.data_sampling_options(service, version, mode, path + ["data_sampling_options"])
34406
+ self.parameters = self.__class__.parameters(service, version, mode, path + ["parameters"])
34401
34407
  self.pollutants = self.__class__.pollutants(service, version, mode, path + ["pollutants"])
34402
34408
  self.pseudo_time_settings = self.__class__.pseudo_time_settings(service, version, mode, path + ["pseudo_time_settings"])
34403
34409
  self.solution_steering = self.__class__.solution_steering(service, version, mode, path + ["solution_steering"])
@@ -34405,10 +34411,7 @@ class main_menu(TUIMenu):
34405
34411
  self.calculate = self.__class__.calculate(service, version, mode, path + ["calculate"])
34406
34412
  self.dual_time_iterate = self.__class__.dual_time_iterate(service, version, mode, path + ["dual_time_iterate"])
34407
34413
  self.interrupt = self.__class__.interrupt(service, version, mode, path + ["interrupt"])
34408
- self.iter_count = self.__class__.iter_count(service, version, mode, path + ["iter_count"])
34409
34414
  self.iterate = self.__class__.iterate(service, version, mode, path + ["iterate"])
34410
- self.profile_update_interval = self.__class__.profile_update_interval(service, version, mode, path + ["profile_update_interval"])
34411
- self.reporting_interval = self.__class__.reporting_interval(service, version, mode, path + ["reporting_interval"])
34412
34415
  self.residual_verbosity = self.__class__.residual_verbosity(service, version, mode, path + ["residual_verbosity"])
34413
34416
  self.time_step_count = self.__class__.time_step_count(service, version, mode, path + ["time_step_count"])
34414
34417
  super().__init__(service, version, mode, path)
@@ -34424,22 +34427,10 @@ class main_menu(TUIMenu):
34424
34427
  """
34425
34428
  No help available.
34426
34429
  """
34427
- class iter_count(TUIMethod):
34428
- """
34429
- No help available.
34430
- """
34431
34430
  class iterate(TUIMethod):
34432
34431
  """
34433
34432
  No help available.
34434
34433
  """
34435
- class profile_update_interval(TUIMethod):
34436
- """
34437
- No help available.
34438
- """
34439
- class reporting_interval(TUIMethod):
34440
- """
34441
- No help available.
34442
- """
34443
34434
  class residual_verbosity(TUIMethod):
34444
34435
  """
34445
34436
  No help available.
@@ -34695,6 +34686,28 @@ class main_menu(TUIMenu):
34695
34686
  No help available.
34696
34687
  """
34697
34688
 
34689
+ class parameters(TUIMenu):
34690
+ """
34691
+ No help available.
34692
+ """
34693
+ def __init__(self, service, version, mode, path):
34694
+ self.iter_count = self.__class__.iter_count(service, version, mode, path + ["iter_count"])
34695
+ self.profile_update_interval = self.__class__.profile_update_interval(service, version, mode, path + ["profile_update_interval"])
34696
+ self.reporting_interval = self.__class__.reporting_interval(service, version, mode, path + ["reporting_interval"])
34697
+ super().__init__(service, version, mode, path)
34698
+ class iter_count(TUIMethod):
34699
+ """
34700
+ No help available.
34701
+ """
34702
+ class profile_update_interval(TUIMethod):
34703
+ """
34704
+ No help available.
34705
+ """
34706
+ class reporting_interval(TUIMethod):
34707
+ """
34708
+ No help available.
34709
+ """
34710
+
34698
34711
  class pollutants(TUIMenu):
34699
34712
  """
34700
34713
  No help available.
@@ -34718,12 +34731,7 @@ class main_menu(TUIMenu):
34718
34731
  """
34719
34732
  def __init__(self, service, version, mode, path):
34720
34733
  self.time_step_method = self.__class__.time_step_method(service, version, mode, path + ["time_step_method"])
34721
- self.verbosity = self.__class__.verbosity(service, version, mode, path + ["verbosity"])
34722
34734
  super().__init__(service, version, mode, path)
34723
- class verbosity(TUIMethod):
34724
- """
34725
- No help available.
34726
- """
34727
34735
 
34728
34736
  class time_step_method(TUIMenu):
34729
34737
  """
@@ -34738,6 +34746,7 @@ class main_menu(TUIMenu):
34738
34746
  self.time_step_method = self.__class__.time_step_method(service, version, mode, path + ["time_step_method"])
34739
34747
  self.time_step_size_for_solid_zone = self.__class__.time_step_size_for_solid_zone(service, version, mode, path + ["time_step_size_for_solid_zone"])
34740
34748
  self.time_step_size_scale_factor = self.__class__.time_step_size_scale_factor(service, version, mode, path + ["time_step_size_scale_factor"])
34749
+ self.verbosity = self.__class__.verbosity(service, version, mode, path + ["verbosity"])
34741
34750
  super().__init__(service, version, mode, path)
34742
34751
  class auto_time_size_calc_solid_zone(TUIMethod):
34743
34752
  """
@@ -34771,6 +34780,10 @@ class main_menu(TUIMenu):
34771
34780
  """
34772
34781
  No help available.
34773
34782
  """
34783
+ class verbosity(TUIMethod):
34784
+ """
34785
+ No help available.
34786
+ """
34774
34787
 
34775
34788
  class solution_steering(TUIMenu):
34776
34789
  """
@@ -34810,12 +34823,10 @@ class main_menu(TUIMenu):
34810
34823
  """
34811
34824
  def __init__(self, service, version, mode, path):
34812
34825
  self.cfl_based_time_stepping = self.__class__.cfl_based_time_stepping(service, version, mode, path + ["cfl_based_time_stepping"])
34813
- self.cfl_based_time_stepping_advanced_options = self.__class__.cfl_based_time_stepping_advanced_options(service, version, mode, path + ["cfl_based_time_stepping_advanced_options"])
34814
34826
  self.error_based_time_stepping = self.__class__.error_based_time_stepping(service, version, mode, path + ["error_based_time_stepping"])
34815
34827
  self.extrapolate_eqn_vars = self.__class__.extrapolate_eqn_vars(service, version, mode, path + ["extrapolate_eqn_vars"])
34816
34828
  self.fixed_periodic = self.__class__.fixed_periodic(service, version, mode, path + ["fixed_periodic"])
34817
34829
  self.mp_specific_time_stepping = self.__class__.mp_specific_time_stepping(service, version, mode, path + ["mp_specific_time_stepping"])
34818
- self.multiphase_specific_time_constraints = self.__class__.multiphase_specific_time_constraints(service, version, mode, path + ["multiphase_specific_time_constraints"])
34819
34830
  self.solid_time_step_size = self.__class__.solid_time_step_size(service, version, mode, path + ["solid_time_step_size"])
34820
34831
  self.duration_specification_method = self.__class__.duration_specification_method(service, version, mode, path + ["duration_specification_method"])
34821
34832
  self.extrapolate_variables = self.__class__.extrapolate_variables(service, version, mode, path + ["extrapolate_variables"])
@@ -34835,7 +34846,6 @@ class main_menu(TUIMenu):
34835
34846
  self.total_time_step_count = self.__class__.total_time_step_count(service, version, mode, path + ["total_time_step_count"])
34836
34847
  self.type = self.__class__.type(service, version, mode, path + ["type"])
34837
34848
  self.udf_hook = self.__class__.udf_hook(service, version, mode, path + ["udf_hook"])
34838
- self.undo_timestep = self.__class__.undo_timestep(service, version, mode, path + ["undo_timestep"])
34839
34849
  super().__init__(service, version, mode, path)
34840
34850
  class duration_specification_method(TUIMethod):
34841
34851
  """
@@ -34909,16 +34919,13 @@ class main_menu(TUIMenu):
34909
34919
  """
34910
34920
  No help available.
34911
34921
  """
34912
- class undo_timestep(TUIMethod):
34913
- """
34914
- No help available.
34915
- """
34916
34922
 
34917
34923
  class cfl_based_time_stepping(TUIMenu):
34918
34924
  """
34919
34925
  No help available.
34920
34926
  """
34921
34927
  def __init__(self, service, version, mode, path):
34928
+ self.advanced_options = self.__class__.advanced_options(service, version, mode, path + ["advanced_options"])
34922
34929
  self.courant_number = self.__class__.courant_number(service, version, mode, path + ["courant_number"])
34923
34930
  self.fixed_time_step_size = self.__class__.fixed_time_step_size(service, version, mode, path + ["fixed_time_step_size"])
34924
34931
  self.initial_time_step_size = self.__class__.initial_time_step_size(service, version, mode, path + ["initial_time_step_size"])
@@ -34961,27 +34968,27 @@ class main_menu(TUIMenu):
34961
34968
  No help available.
34962
34969
  """
34963
34970
 
34964
- class cfl_based_time_stepping_advanced_options(TUIMenu):
34965
- """
34966
- No help available.
34967
- """
34968
- def __init__(self, service, version, mode, path):
34969
- self.cfl_type = self.__class__.cfl_type(service, version, mode, path + ["cfl_type"])
34970
- self.control_time_step_size_variation = self.__class__.control_time_step_size_variation(service, version, mode, path + ["control_time_step_size_variation"])
34971
- self.use_average_cfl = self.__class__.use_average_cfl(service, version, mode, path + ["use_average_cfl"])
34972
- super().__init__(service, version, mode, path)
34973
- class cfl_type(TUIMethod):
34974
- """
34975
- No help available.
34976
- """
34977
- class control_time_step_size_variation(TUIMethod):
34978
- """
34979
- No help available.
34980
- """
34981
- class use_average_cfl(TUIMethod):
34971
+ class advanced_options(TUIMenu):
34982
34972
  """
34983
34973
  No help available.
34984
34974
  """
34975
+ def __init__(self, service, version, mode, path):
34976
+ self.cfl_type = self.__class__.cfl_type(service, version, mode, path + ["cfl_type"])
34977
+ self.control_time_step_size_variation = self.__class__.control_time_step_size_variation(service, version, mode, path + ["control_time_step_size_variation"])
34978
+ self.use_average_cfl = self.__class__.use_average_cfl(service, version, mode, path + ["use_average_cfl"])
34979
+ super().__init__(service, version, mode, path)
34980
+ class cfl_type(TUIMethod):
34981
+ """
34982
+ No help available.
34983
+ """
34984
+ class control_time_step_size_variation(TUIMethod):
34985
+ """
34986
+ No help available.
34987
+ """
34988
+ class use_average_cfl(TUIMethod):
34989
+ """
34990
+ No help available.
34991
+ """
34985
34992
 
34986
34993
  class error_based_time_stepping(TUIMenu):
34987
34994
  """
@@ -34995,6 +35002,7 @@ class main_menu(TUIMenu):
34995
35002
  self.max_time_step_size = self.__class__.max_time_step_size(service, version, mode, path + ["max_time_step_size"])
34996
35003
  self.min_step_change_factor = self.__class__.min_step_change_factor(service, version, mode, path + ["min_step_change_factor"])
34997
35004
  self.min_time_step_size = self.__class__.min_time_step_size(service, version, mode, path + ["min_time_step_size"])
35005
+ self.undo_timestep = self.__class__.undo_timestep(service, version, mode, path + ["undo_timestep"])
34998
35006
  self.update_interval = self.__class__.update_interval(service, version, mode, path + ["update_interval"])
34999
35007
  super().__init__(service, version, mode, path)
35000
35008
  class error_tolerance(TUIMethod):
@@ -35025,6 +35033,10 @@ class main_menu(TUIMenu):
35025
35033
  """
35026
35034
  No help available.
35027
35035
  """
35036
+ class undo_timestep(TUIMethod):
35037
+ """
35038
+ No help available.
35039
+ """
35028
35040
  class update_interval(TUIMethod):
35029
35041
  """
35030
35042
  No help available.
@@ -35124,6 +35136,7 @@ class main_menu(TUIMenu):
35124
35136
  No help available.
35125
35137
  """
35126
35138
  def __init__(self, service, version, mode, path):
35139
+ self.time_constraints = self.__class__.time_constraints(service, version, mode, path + ["time_constraints"])
35127
35140
  self.enabled = self.__class__.enabled(service, version, mode, path + ["enabled"])
35128
35141
  self.fixed_time_step_size = self.__class__.fixed_time_step_size(service, version, mode, path + ["fixed_time_step_size"])
35129
35142
  self.global_courant_number = self.__class__.global_courant_number(service, version, mode, path + ["global_courant_number"])
@@ -35171,68 +35184,68 @@ class main_menu(TUIMenu):
35171
35184
  No help available.
35172
35185
  """
35173
35186
 
35174
- class multiphase_specific_time_constraints(TUIMenu):
35175
- """
35176
- No help available.
35177
- """
35178
- def __init__(self, service, version, mode, path):
35179
- self.moving_mesh_cfl_constraint = self.__class__.moving_mesh_cfl_constraint(service, version, mode, path + ["moving_mesh_cfl_constraint"])
35180
- self.time_scale_options = self.__class__.time_scale_options(service, version, mode, path + ["time_scale_options"])
35181
- self.physics_based_constraint = self.__class__.physics_based_constraint(service, version, mode, path + ["physics_based_constraint"])
35182
- self.verbosity = self.__class__.verbosity(service, version, mode, path + ["verbosity"])
35183
- super().__init__(service, version, mode, path)
35184
- class physics_based_constraint(TUIMethod):
35185
- """
35186
- No help available.
35187
- """
35188
- class verbosity(TUIMethod):
35189
- """
35190
- No help available.
35191
- """
35192
-
35193
- class moving_mesh_cfl_constraint(TUIMenu):
35187
+ class time_constraints(TUIMenu):
35194
35188
  """
35195
35189
  No help available.
35196
35190
  """
35197
35191
  def __init__(self, service, version, mode, path):
35198
- self.mesh_courant_number = self.__class__.mesh_courant_number(service, version, mode, path + ["mesh_courant_number"])
35199
- self.moving_mesh_constraint = self.__class__.moving_mesh_constraint(service, version, mode, path + ["moving_mesh_constraint"])
35192
+ self.moving_mesh_cfl_constraint = self.__class__.moving_mesh_cfl_constraint(service, version, mode, path + ["moving_mesh_cfl_constraint"])
35193
+ self.time_scale_options = self.__class__.time_scale_options(service, version, mode, path + ["time_scale_options"])
35194
+ self.physics_based_constraint = self.__class__.physics_based_constraint(service, version, mode, path + ["physics_based_constraint"])
35195
+ self.verbosity = self.__class__.verbosity(service, version, mode, path + ["verbosity"])
35200
35196
  super().__init__(service, version, mode, path)
35201
- class mesh_courant_number(TUIMethod):
35197
+ class physics_based_constraint(TUIMethod):
35202
35198
  """
35203
35199
  No help available.
35204
35200
  """
35205
- class moving_mesh_constraint(TUIMethod):
35201
+ class verbosity(TUIMethod):
35206
35202
  """
35207
35203
  No help available.
35208
35204
  """
35209
35205
 
35210
- class time_scale_options(TUIMenu):
35211
- """
35212
- No help available.
35213
- """
35214
- def __init__(self, service, version, mode, path):
35215
- self.acoustic_scale = self.__class__.acoustic_scale(service, version, mode, path + ["acoustic_scale"])
35216
- self.gravity_scale = self.__class__.gravity_scale(service, version, mode, path + ["gravity_scale"])
35217
- self.surface_tension_scale = self.__class__.surface_tension_scale(service, version, mode, path + ["surface_tension_scale"])
35218
- self.viscous_scale = self.__class__.viscous_scale(service, version, mode, path + ["viscous_scale"])
35219
- super().__init__(service, version, mode, path)
35220
- class acoustic_scale(TUIMethod):
35221
- """
35222
- No help available.
35223
- """
35224
- class gravity_scale(TUIMethod):
35225
- """
35226
- No help available.
35227
- """
35228
- class surface_tension_scale(TUIMethod):
35206
+ class moving_mesh_cfl_constraint(TUIMenu):
35229
35207
  """
35230
35208
  No help available.
35231
35209
  """
35232
- class viscous_scale(TUIMethod):
35210
+ def __init__(self, service, version, mode, path):
35211
+ self.mesh_courant_number = self.__class__.mesh_courant_number(service, version, mode, path + ["mesh_courant_number"])
35212
+ self.moving_mesh_constraint = self.__class__.moving_mesh_constraint(service, version, mode, path + ["moving_mesh_constraint"])
35213
+ super().__init__(service, version, mode, path)
35214
+ class mesh_courant_number(TUIMethod):
35215
+ """
35216
+ No help available.
35217
+ """
35218
+ class moving_mesh_constraint(TUIMethod):
35219
+ """
35220
+ No help available.
35221
+ """
35222
+
35223
+ class time_scale_options(TUIMenu):
35233
35224
  """
35234
35225
  No help available.
35235
35226
  """
35227
+ def __init__(self, service, version, mode, path):
35228
+ self.acoustic_scale = self.__class__.acoustic_scale(service, version, mode, path + ["acoustic_scale"])
35229
+ self.gravity_scale = self.__class__.gravity_scale(service, version, mode, path + ["gravity_scale"])
35230
+ self.surface_tension_scale = self.__class__.surface_tension_scale(service, version, mode, path + ["surface_tension_scale"])
35231
+ self.viscous_scale = self.__class__.viscous_scale(service, version, mode, path + ["viscous_scale"])
35232
+ super().__init__(service, version, mode, path)
35233
+ class acoustic_scale(TUIMethod):
35234
+ """
35235
+ No help available.
35236
+ """
35237
+ class gravity_scale(TUIMethod):
35238
+ """
35239
+ No help available.
35240
+ """
35241
+ class surface_tension_scale(TUIMethod):
35242
+ """
35243
+ No help available.
35244
+ """
35245
+ class viscous_scale(TUIMethod):
35246
+ """
35247
+ No help available.
35248
+ """
35236
35249
 
35237
35250
  class solid_time_step_size(TUIMenu):
35238
35251
  """
@@ -36114,7 +36127,7 @@ class main_menu(TUIMenu):
36114
36127
  """
36115
36128
  class open_channel_auto_init(TUIMethod):
36116
36129
  """
36117
- No help available.
36130
+ Open channel initialization method.
36118
36131
  """
36119
36132
  class reference_frame(TUIMethod):
36120
36133
  """
@@ -36327,7 +36340,7 @@ class main_menu(TUIMenu):
36327
36340
  super().__init__(service, version, mode, path)
36328
36341
  class enable(TUIMethod):
36329
36342
  """
36330
- No help available.
36343
+ Enable localized initialization of turbulent flow variables for VOF/Mixture multiphase flow models.
36331
36344
  """
36332
36345
  class turb_init_parameters(TUIMethod):
36333
36346
  """
@@ -39483,9 +39496,9 @@ class main_menu(TUIMenu):
39483
39496
  Set Multiphase-specific time constraints.
39484
39497
  """
39485
39498
  def __init__(self, service, version, mode, path):
39486
- self.time_scale_options = self.__class__.time_scale_options(service, version, mode, path + ["time_scale_options"])
39487
39499
  self.moving_mesh_cfl_constraint = self.__class__.moving_mesh_cfl_constraint(service, version, mode, path + ["moving_mesh_cfl_constraint"])
39488
39500
  self.physics_based_constraint = self.__class__.physics_based_constraint(service, version, mode, path + ["physics_based_constraint"])
39501
+ self.time_scale_options = self.__class__.time_scale_options(service, version, mode, path + ["time_scale_options"])
39489
39502
  self.verbosity = self.__class__.verbosity(service, version, mode, path + ["verbosity"])
39490
39503
  super().__init__(service, version, mode, path)
39491
39504
  class moving_mesh_cfl_constraint(TUIMethod):
@@ -39496,37 +39509,14 @@ class main_menu(TUIMenu):
39496
39509
  """
39497
39510
  No help available.
39498
39511
  """
39499
- class verbosity(TUIMethod):
39512
+ class time_scale_options(TUIMethod):
39500
39513
  """
39501
39514
  No help available.
39502
39515
  """
39503
-
39504
- class time_scale_options(TUIMenu):
39516
+ class verbosity(TUIMethod):
39505
39517
  """
39506
39518
  No help available.
39507
39519
  """
39508
- def __init__(self, service, version, mode, path):
39509
- self.acoustic_scale = self.__class__.acoustic_scale(service, version, mode, path + ["acoustic_scale"])
39510
- self.gravity_scale = self.__class__.gravity_scale(service, version, mode, path + ["gravity_scale"])
39511
- self.surface_tension_scale = self.__class__.surface_tension_scale(service, version, mode, path + ["surface_tension_scale"])
39512
- self.viscous_scale = self.__class__.viscous_scale(service, version, mode, path + ["viscous_scale"])
39513
- super().__init__(service, version, mode, path)
39514
- class acoustic_scale(TUIMethod):
39515
- """
39516
- No help available.
39517
- """
39518
- class gravity_scale(TUIMethod):
39519
- """
39520
- No help available.
39521
- """
39522
- class surface_tension_scale(TUIMethod):
39523
- """
39524
- No help available.
39525
- """
39526
- class viscous_scale(TUIMethod):
39527
- """
39528
- No help available.
39529
- """
39530
39520
 
39531
39521
  class warped_face_gradient_correction(TUIMenu):
39532
39522
  """
@@ -26,3 +26,5 @@ try:
26
26
  from ansys.fluent.core.generated.solver.settings_builtin import * # noqa: F401, F403
27
27
  except (ImportError, AttributeError, SyntaxError):
28
28
  pass
29
+
30
+ from ansys.fluent.core.utils.context_managers import ReadCase, using # noqa: F401
@@ -97,7 +97,6 @@ class InactiveObjectError(RuntimeError):
97
97
 
98
98
  class _InlineConstants:
99
99
  is_active = "active?"
100
- is_stable = "webui-release-active?"
101
100
  is_read_only = "read-only?"
102
101
  default_value = "default"
103
102
  min = "min"
@@ -195,7 +194,7 @@ _to_field_name_str = naming_strategy().to_string
195
194
  def _get_python_path_comps(obj):
196
195
  """Get python path components for traversing class hierarchy."""
197
196
  comps = []
198
- while obj:
197
+ while obj is not None:
199
198
  python_name = obj.python_name
200
199
  obj = obj._parent
201
200
  if isinstance(obj, (NamedObject, ListObject)):
@@ -286,12 +285,10 @@ class Base:
286
285
 
287
286
  Supports file upload and download.
288
287
  """
289
- with warnings.catch_warnings():
290
- warnings.filterwarnings(action="ignore", category=UnstableSettingWarning)
291
- if self._file_transfer_service:
292
- return self._file_transfer_service
293
- elif self._parent:
294
- return self._parent._file_transfer_handler
288
+ if self._file_transfer_service:
289
+ return self._file_transfer_service
290
+ elif self._parent:
291
+ return self._parent._file_transfer_handler
295
292
 
296
293
  _name = None
297
294
  fluent_name = None
@@ -421,20 +418,6 @@ class Base:
421
418
  attr = self.get_attr(_InlineConstants.is_active)
422
419
  return False if attr is False else True
423
420
 
424
- def _check_stable(self) -> None:
425
- """Whether the object is stable."""
426
- if not self.is_active():
427
- return
428
- attr = self.get_attr(_InlineConstants.is_stable)
429
- attr = True if attr is None else attr
430
- if not attr:
431
- warnings.warn(
432
- f"The API feature at '{self.path}' is not stable. "
433
- f"It is not guaranteed that it is fully validated and "
434
- f"there is no commitment to its backwards compatibility.",
435
- UnstableSettingWarning,
436
- )
437
-
438
421
  def is_read_only(self) -> bool:
439
422
  """Whether the object is read-only."""
440
423
  attr = self.get_attr(_InlineConstants.is_read_only)
@@ -639,6 +622,7 @@ class DeprecatedSettingWarning(PyFluentDeprecationWarning):
639
622
  pass
640
623
 
641
624
 
625
+ # TODO: Delete this after updating PyConsole code when next PyFluent version is pushed.
642
626
  class UnstableSettingWarning(PyFluentUserWarning):
643
627
  """Provides unstable settings warning."""
644
628
 
@@ -1155,10 +1139,7 @@ class Group(SettingsBase[DictStateType]):
1155
1139
  )
1156
1140
  return alias_obj
1157
1141
  try:
1158
- attr = super().__getattribute__(name)
1159
- if name in super().__getattribute__("_child_classes"):
1160
- attr._check_stable()
1161
- return attr
1142
+ return super().__getattribute__(name)
1162
1143
  except AttributeError as ex:
1163
1144
  error_msg = allowed_name_error_message(
1164
1145
  trial_name=name,
@@ -26,6 +26,7 @@ from typing import Protocol, runtime_checkable
26
26
 
27
27
  from ansys.fluent.core.solver.flobject import NamedObject, SettingsBase
28
28
  from ansys.fluent.core.solver.settings_builtin_data import DATA
29
+ from ansys.fluent.core.utils.context_managers import _get_active_session
29
30
  from ansys.fluent.core.utils.fluent_version import FluentVersion
30
31
 
31
32
 
@@ -70,12 +71,19 @@ def _get_settings_obj(settings_root, builtin_settings_obj):
70
71
  return obj
71
72
 
72
73
 
74
+ def _initialize_settings(instance, defaults: dict, settings_source=None, **kwargs):
75
+ active_session = _get_active_session()
76
+ instance.__dict__.update(defaults | kwargs)
77
+ if settings_source is not None:
78
+ instance.settings_source = settings_source
79
+ elif active_session:
80
+ instance.settings_source = active_session
81
+
82
+
73
83
  class _SingletonSetting:
74
84
  # Covers both groups and named-object containers
75
85
  def __init__(self, settings_source: SettingsBase | Solver | None = None, **kwargs):
76
- self.__dict__.update(dict(settings_source=None) | kwargs)
77
- if settings_source is not None:
78
- self.settings_source = settings_source
86
+ _initialize_settings(self, {"settings_source": None}, settings_source, **kwargs)
79
87
 
80
88
  def __setattr__(self, name, value):
81
89
  if name == "settings_source":
@@ -92,9 +100,9 @@ class _NonCreatableNamedObjectSetting:
92
100
  def __init__(
93
101
  self, name: str, settings_source: SettingsBase | Solver | None = None, **kwargs
94
102
  ):
95
- self.__dict__.update(dict(settings_source=None, name=name) | kwargs)
96
- if settings_source is not None:
97
- self.settings_source = settings_source
103
+ _initialize_settings(
104
+ self, {"settings_source": None, "name": name}, settings_source, **kwargs
105
+ )
98
106
 
99
107
  def __setattr__(self, name, value):
100
108
  if name == "settings_source":
@@ -118,12 +126,16 @@ class _CreatableNamedObjectSetting:
118
126
  ):
119
127
  if name and new_instance_name:
120
128
  raise ValueError("Cannot specify both name and new_instance_name.")
121
- self.__dict__.update(
122
- dict(settings_source=None, name=name, new_instance_name=new_instance_name)
123
- | kwargs
129
+ _initialize_settings(
130
+ self,
131
+ {
132
+ "settings_source": None,
133
+ "name": name,
134
+ "new_instance_name": new_instance_name,
135
+ },
136
+ settings_source,
137
+ **kwargs,
124
138
  )
125
- if settings_source is not None:
126
- self.settings_source = settings_source
127
139
 
128
140
  def __setattr__(self, name, value):
129
141
  if name == "settings_source":
@@ -0,0 +1,68 @@
1
+ # Copyright (C) 2021 - 2025 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ """Module for context managers used in PyFluent."""
24
+
25
+ from contextlib import contextmanager
26
+ from threading import local
27
+
28
+ _thread_local = local()
29
+
30
+
31
+ def _get_stack():
32
+ if not hasattr(_thread_local, "stack"):
33
+ _thread_local.stack = []
34
+ return _thread_local.stack
35
+
36
+
37
+ @contextmanager
38
+ def using(session):
39
+ """Context manager to use a Fluent session."""
40
+ stack = _get_stack()
41
+ stack.append(session)
42
+ try:
43
+ yield
44
+ finally:
45
+ stack.pop()
46
+
47
+
48
+ def _get_active_session():
49
+ stack = _get_stack()
50
+ if stack:
51
+ return stack[-1]
52
+
53
+
54
+ class ReadCase:
55
+ """Context manager to read a Fluent case file."""
56
+
57
+ def __init__(self, session=None, case_file: str | None = None):
58
+ self.session = session or _get_active_session()
59
+ self.case_file = case_file
60
+
61
+ def __enter__(self):
62
+ if not self.case_file:
63
+ raise ValueError("A case file path must be provided to read.")
64
+ self.session.settings.file.read_case(file_name=self.case_file)
65
+ return self.session
66
+
67
+ def __exit__(self, exc_type, exc_value, traceback):
68
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ansys-fluent-core
3
- Version: 0.32.dev1
3
+ Version: 0.32.2
4
4
  Summary: PyFluent provides Pythonic access to Ansys Fluent.
5
5
  Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
6
6
  Maintainer-email: "ANSYS, Inc." <pyansys.core@ansys.com>
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
13
13
  Requires-Dist: ansys-api-fluent>=0.3.35
14
14
  Requires-Dist: ansys-platform-instancemanagement~=1.1
15
15
  Requires-Dist: ansys-tools-filetransfer>=0.1,<0.3
16
- Requires-Dist: ansys-units>=0.6.dev1,<1.0
16
+ Requires-Dist: ansys-units>=0.6.0,<1.0
17
17
  Requires-Dist: defusedxml>=0.7.1
18
18
  Requires-Dist: deprecated>=1.2.18
19
19
  Requires-Dist: docker>=7.1.0