From 123fefe08d615de6b9b246330985e7616420a11b Mon Sep 17 00:00:00 2001 From: agnelson Date: Mon, 25 Oct 2021 05:15:34 -0500 Subject: [PATCH] Added the import to openmc.lib to model.py while leaving it optiona l --- openmc/model/model.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/openmc/model/model.py b/openmc/model/model.py index bc0796ea74..22fa475dae 100644 --- a/openmc/model/model.py +++ b/openmc/model/model.py @@ -14,8 +14,17 @@ import openmc from openmc.dummy_comm import DummyCommunicator from openmc.executor import _process_CLI_arguments from openmc.checkvalue import check_type, check_value + from openmc.exceptions import InvalidIDError +# Establish whether openmc.lib is available for downstream uses; +# this avoids the need for extraneous try/import/except statements +try: + import openmc.lib + _openmc_lib_present = True +except ImportError: + _openmc_lib_present = False + @contextmanager def _change_directory(working_dir): @@ -137,7 +146,10 @@ class Model: @property def is_initialized(self): - return openmc.lib.is_initialized + if _openmc_lib_present: + return openmc.lib.is_initialized + else: + return False @geometry.setter def geometry(self, geometry): @@ -512,7 +524,7 @@ class Model: for arg_name, arg, default in zip( ['threads', 'geometry_debug', 'restart_file', 'tracks'], [threads, geometry_debug, restart_file, tracks], - [None, False, None, False]): + [None, False, None, False]): if arg != default: msg = f"{arg_name} must be set via Model.is_initialized(...)" raise ValueError(msg)