Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Adding option to set number of threads when opening the plotter
  • Loading branch information
pshriwise committed May 31, 2022
commit 19b324d935befdd9436d538863a4bdd5f291b26a
11 changes: 7 additions & 4 deletions openmc_plotter/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,17 @@ def main():
help='Location of model dir (default is current dir)')
ap.add_argument('-e','--ignore-settings', action='store_false',
help='Ignore plot_settings.pkl file if present.')
ap.add_argument('-s', '--threads', type=int, default=None,
help='If present, number of threads used to run OpenMC')

args = ap.parse_args()

os.chdir(args.model_directory)

run_app(use_settings_pkl=args.ignore_settings)
run_app(args)


def run_app(use_settings_pkl=True):
def run_app(user_args):
path_icon = str(Path(__file__).parent / 'assets/openmc_logo.png')
path_splash = str(Path(__file__).parent / 'assets/splash.png')

Expand All @@ -47,7 +49,8 @@ def run_app(use_settings_pkl=True):
QtCore.Qt.AlignHCenter | QtCore.Qt.AlignBottom)
app.processEvents()
# load OpenMC model on another thread
loader_thread = Thread(target=_openmcReload)
openmc_args = {'threads': user_args.threads}
loader_thread = Thread(target=_openmcReload, kwargs=openmc_args)
loader_thread.start()
# while thread is working, process app events
while loader_thread.is_alive():
Expand All @@ -62,7 +65,7 @@ def run_app(use_settings_pkl=True):
screen_size = app.primaryScreen().size()
mainWindow = MainWindow(font_metric, screen_size)
# connect splashscreen to main window, close when main window opens
mainWindow.loadGui(use_settings_pkl=use_settings_pkl)
mainWindow.loadGui(use_settings_pkl=user_args.ignore_settings)
mainWindow.show()
splash.close()

Expand Down
7 changes: 5 additions & 2 deletions openmc_plotter/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,16 @@

_COORD_LEVELS = 0

def _openmcReload():
def _openmcReload(threads=None):
# reset OpenMC memory, instances
openmc.lib.reset()
openmc.lib.finalize()
# initialize geometry (for volume calculation)
openmc.lib.settings.output_summary = False
openmc.lib.init(["-c"])
args = ["-c"]
if threads is not None:
args += ["-s", str(threads)]
openmc.lib.init(args)
openmc.lib.settings.verbosity = 1

class MainWindow(QMainWindow):
Expand Down