From 7fd6319a93e2788e8f14a28ed523293ec55b91d3 Mon Sep 17 00:00:00 2001 From: davidepettinari Date: Wed, 8 Jan 2025 23:45:14 +0100 Subject: [PATCH] avoid redundant cross-section downloads --- libra_toolbox/neutronics/vault.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libra_toolbox/neutronics/vault.py b/libra_toolbox/neutronics/vault.py index ac64388..7e6224f 100644 --- a/libra_toolbox/neutronics/vault.py +++ b/libra_toolbox/neutronics/vault.py @@ -53,7 +53,10 @@ def build_vault_model( try: import openmc import openmc.model - import openmc_data_downloader as odd + import os + + if "OPENMC_CROSS_SECTIONS" not in os.environ: + import openmc_data_downloader as odd except ModuleNotFoundError: raise ModuleNotFoundError("openmc and openmc_data_downloader are required.") @@ -91,11 +94,12 @@ def build_vault_model( # Add materials from imported model materials += added_materials - materials.download_cross_section_data( - libraries=["ENDFB-8.0-NNDC"], - set_OPENMC_CROSS_SECTIONS=True, - particles=["neutron"], - ) + if "OPENMC_CROSS_SECTIONS" not in os.environ: + materials.download_cross_section_data( + libraries=["ENDFB-8.0-NNDC"], + set_OPENMC_CROSS_SECTIONS=True, + particles=["neutron"], + ) # # Definition of the spherical void/blackhole boundary Surface_95 = openmc.Sphere(x0=0.0, y0=0.0, z0=0.0, r=2500.0, boundary_type="vacuum")