@@ -179,6 +179,9 @@ class Settings:
179179 Initial seed for randomly generated plot colors.
180180 ptables : bool
181181 Determine whether probability tables are used.
182+ properties_file : Pathlike
183+ Location of the properties file to load cell temperatures/densities
184+ and materials
182185 random_ray : dict
183186 Options for configuring the random ray solver. Acceptable keys are:
184187
@@ -392,6 +395,7 @@ def __init__(self, **kwargs):
392395 self ._photon_transport = None
393396 self ._plot_seed = None
394397 self ._ptables = None
398+ self ._properties_file = None
395399 self ._uniform_source_sampling = None
396400 self ._seed = None
397401 self ._stride = None
@@ -1018,6 +1022,18 @@ def temperature(self, temperature: dict):
10181022
10191023 self ._temperature = temperature
10201024
1025+ @property
1026+ def properties_file (self ) -> PathLike | None :
1027+ return self ._properties_file
1028+
1029+ @properties_file .setter
1030+ def properties_file (self , value : PathLike | None ):
1031+ if value is None :
1032+ self ._properties_file = None
1033+ else :
1034+ cv .check_type ('weight windows file' , value , PathLike )
1035+ self ._properties_file = input_path (value )
1036+
10211037 @property
10221038 def trace (self ) -> Iterable :
10231039 return self ._trace
@@ -1708,6 +1724,12 @@ def _create_temperature_subelements(self, root):
17081724 else :
17091725 element .text = str (value )
17101726
1727+ def _create_properties_file_element (self , root ):
1728+ if self .properties_file is not None :
1729+ element = ET .Element ("properties_file" )
1730+ element .text = str (self .properties_file )
1731+ root .append (element )
1732+
17111733 def _create_trace_subelement (self , root ):
17121734 if self ._trace is not None :
17131735 element = ET .SubElement (root , "trace" )
@@ -2205,6 +2227,11 @@ def _temperature_from_xml_element(self, root):
22052227 if text is not None :
22062228 self .temperature ['multipole' ] = text in ('true' , '1' )
22072229
2230+ def _properties_file_from_xml_element (self , root ):
2231+ text = get_text (root , 'properties_file' )
2232+ if text is not None :
2233+ self .properties_file = text
2234+
22082235 def _trace_from_xml_element (self , root ):
22092236 text = get_elem_list (root , "trace" , int )
22102237 if text is not None :
@@ -2440,6 +2467,7 @@ def to_xml_element(self, mesh_memo=None):
24402467 self ._create_ifp_n_generation_subelement (element )
24412468 self ._create_tabular_legendre_subelements (element )
24422469 self ._create_temperature_subelements (element )
2470+ self ._create_properties_file_element (element )
24432471 self ._create_trace_subelement (element )
24442472 self ._create_track_subelement (element )
24452473 self ._create_ufs_mesh_subelement (element , mesh_memo )
@@ -2554,6 +2582,7 @@ def from_xml_element(cls, elem, meshes=None):
25542582 settings ._ifp_n_generation_from_xml_element (elem )
25552583 settings ._tabular_legendre_from_xml_element (elem )
25562584 settings ._temperature_from_xml_element (elem )
2585+ settings ._properties_file_from_xml_element (elem )
25572586 settings ._trace_from_xml_element (elem )
25582587 settings ._track_from_xml_element (elem )
25592588 settings ._ufs_mesh_from_xml_element (elem , meshes )
0 commit comments