From d32a8cf80e0400e5042acf1c30d2fb7fd53860b0 Mon Sep 17 00:00:00 2001 From: pshriwise Date: Tue, 25 Sep 2018 22:53:47 -0500 Subject: [PATCH] Adding dagmc to python settings module and XML/RELAX NG. --- openmc/settings.py | 21 ++++++++++++++++++++- src/relaxng/settings.rnc | 2 ++ src/relaxng/settings.rng | 5 +++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/openmc/settings.py b/openmc/settings.py index efe41b2a1b..8d5c9db0dd 100644 --- a/openmc/settings.py +++ b/openmc/settings.py @@ -37,6 +37,8 @@ class Settings(object): weight assigned to particles that are not killed after Russian roulette. Value of energy should be a float indicating energy in eV below which particle type will be killed. + dagmc : bool + Indicate that a CAD-based DAGMC geometry will be used. electron_treatment : {'led', 'ttb'} Whether to deposit all energy from electrons locally ('led') or create secondary bremsstrahlung photons ('ttb'). @@ -224,6 +226,9 @@ class Settings(object): self._create_fission_neutrons = None self._log_grid_bins = None + # dagmc + self._dagmc = None + @property def run_mode(self): return self._run_mode @@ -368,6 +373,10 @@ class Settings(object): def log_grid_bins(self): return self._log_grid_bins + @property + def dagmc(self): + return self._dagmc + @run_mode.setter def run_mode(self, run_mode): cv.check_value('run mode', run_mode, _RUN_MODES) @@ -511,6 +520,11 @@ class Settings(object): cv.check_type('photon transport', photon_transport, bool) self._photon_transport = photon_transport + @dagmc.setter + def dagmc(self, dagmc): + cv.check_type('dagmc geometry', dagmc, bool) + self._dagmc = dagmc + @ptables.setter def ptables(self, ptables): cv.check_type('probability tables', ptables, bool) @@ -945,6 +959,11 @@ class Settings(object): elem = ET.SubElement(root, "log_grid_bins") elem.text = str(self._log_grid_bins) + def _create_dagmc_subelement(self, root): + if self._dagmc is not None: + elem = ET.SubElement(root, "dagmc") + element.text = str(self._dagmc).lower() + def export_to_xml(self, path='settings.xml'): """Export simulation settings to an XML file. @@ -992,7 +1011,7 @@ class Settings(object): self._create_volume_calcs_subelement(root_element) self._create_create_fission_neutrons_subelement(root_element) self._create_log_grid_bins_subelement(root_element) - + self._create_dagmc_subelement(root_element) # Clean the indentation in the file to be user-readable clean_indentation(root_element) diff --git a/src/relaxng/settings.rnc b/src/relaxng/settings.rnc index 37bc3f66e8..83d9bed0c4 100644 --- a/src/relaxng/settings.rnc +++ b/src/relaxng/settings.rnc @@ -57,6 +57,8 @@ element settings { element ptables { xsd:boolean }? & + element dagmc { xsd:boolean }? & + element run_cmfd { xsd:boolean }? & element run_mode { xsd:string }? & diff --git a/src/relaxng/settings.rng b/src/relaxng/settings.rng index 549ea83df9..92a1d748ab 100644 --- a/src/relaxng/settings.rng +++ b/src/relaxng/settings.rng @@ -254,6 +254,11 @@ + + + + +