2626
2727from ansys .fluent .core .solver .flobject import NamedObject , SettingsBase
2828from ansys .fluent .core .solver .settings_builtin_data import DATA
29+ from ansys .fluent .core .utils .context_managers import _get_active_session
2930from ansys .fluent .core .utils .fluent_version import FluentVersion
3031
3132
@@ -70,12 +71,19 @@ def _get_settings_obj(settings_root, builtin_settings_obj):
7071 return obj
7172
7273
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+
7383class _SingletonSetting :
7484 # Covers both groups and named-object containers
7585 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 )
7987
8088 def __setattr__ (self , name , value ):
8189 if name == "settings_source" :
@@ -92,9 +100,9 @@ class _NonCreatableNamedObjectSetting:
92100 def __init__ (
93101 self , name : str , settings_source : SettingsBase | Solver | None = None , ** kwargs
94102 ):
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+ )
98106
99107 def __setattr__ (self , name , value ):
100108 if name == "settings_source" :
@@ -118,12 +126,16 @@ def __init__(
118126 ):
119127 if name and new_instance_name :
120128 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 ,
124138 )
125- if settings_source is not None :
126- self .settings_source = settings_source
127139
128140 def __setattr__ (self , name , value ):
129141 if name == "settings_source" :
0 commit comments