From fd2637cb485eca0f23ee2bdea0ff880795aff26b Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Thu, 24 Jun 2021 14:56:38 +0700 Subject: [PATCH] Add Model.from_xml classmethod --- openmc/model/model.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/openmc/model/model.py b/openmc/model/model.py index e7a56bb19..de80bfa3a 100644 --- a/openmc/model/model.py +++ b/openmc/model/model.py @@ -126,6 +126,31 @@ class Model: for plot in plots: self._plots.append(plot) + @classmethod + def from_xml(cls, geometry='geometry.xml', materials='materials.xml', + settings='settings.xml'): + """Create model from existing XML files + + Parameters + ---------- + geometry : str + Path to geometry.xml file + materials : str + Path to materials.xml file + settings : str + Path to settings.xml file + + Returns + ------- + openmc.model.Model + Model created from XML files + + """ + materials = openmc.Materials.from_xml(materials) + geometry = openmc.Geometry.from_xml(geometry, materials) + settings = openmc.Settings.from_xml(settings) + return cls(geometry, materials, settings) + def deplete(self, timesteps, chain_file=None, method='cecm', fission_q=None, **kwargs): """Deplete model using specified timesteps/power