From 4acfa570629bdf64d959f5f1a5ebaf969cfbc687 Mon Sep 17 00:00:00 2001 From: Will Boyd Date: Thu, 18 Aug 2016 10:51:22 -0400 Subject: [PATCH 1/3] Added optimization option for OpenCG compatibility module --- openmc/opencg_compatible.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/openmc/opencg_compatible.py b/openmc/opencg_compatible.py index 58ce0d0c29..bca735a812 100644 --- a/openmc/opencg_compatible.py +++ b/openmc/opencg_compatible.py @@ -997,13 +997,17 @@ def get_opencg_geometry(openmc_geometry): return opencg_geometry -def get_openmc_geometry(opencg_geometry): +def get_openmc_geometry(opencg_geometry, compatible=True): """Return an OpenMC geometry corresponding to an OpenCG geometry. Parameters ---------- opencg_geometry : opencg.Geometry OpenCG geometry + compatible : bool + Whether the OpenCG geometry is compatible with OpenMOC's geometric + primitives. This should be set to False if the OpenCG geometry + uses SquarePrism surfaces. True by default as an optimization. Returns ------- @@ -1019,9 +1023,6 @@ def get_openmc_geometry(opencg_geometry): opencg_geometry.assign_auto_ids() opencg_geometry = copy.deepcopy(opencg_geometry) - # Update Cell bounding boxes in Geometry - opencg_geometry.update_bounding_boxes() - # Clear dictionaries and auto-generated ID OPENMC_SURFACES.clear() OPENCG_SURFACES.clear() @@ -1033,12 +1034,13 @@ def get_openmc_geometry(opencg_geometry): OPENCG_LATTICES.clear() # Make the entire geometry "compatible" before assigning auto IDs - universes = opencg_geometry.get_all_universes() - for universe in universes.values(): - if not isinstance(universe, opencg.Lattice): - make_opencg_cells_compatible(universe) + if not compatible: + universes = opencg_geometry.get_all_universes() + for universe in universes.values(): + if not isinstance(universe, opencg.Lattice): + make_opencg_cells_compatible(universe) - opencg_geometry.assign_auto_ids() + opencg_geometry.assign_auto_ids() opencg_root_universe = opencg_geometry.root_universe openmc_root_universe = get_openmc_universe(opencg_root_universe) From a265770e7b8221f06afa595c085bd1e8422d7a1c Mon Sep 17 00:00:00 2001 From: Will Boyd Date: Thu, 18 Aug 2016 12:38:30 -0400 Subject: [PATCH 2/3] Fixed comment OpenMOC -> OpenMC --- openmc/opencg_compatible.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmc/opencg_compatible.py b/openmc/opencg_compatible.py index bca735a812..501e570a76 100644 --- a/openmc/opencg_compatible.py +++ b/openmc/opencg_compatible.py @@ -1005,7 +1005,7 @@ def get_openmc_geometry(opencg_geometry, compatible=True): opencg_geometry : opencg.Geometry OpenCG geometry compatible : bool - Whether the OpenCG geometry is compatible with OpenMOC's geometric + Whether the OpenCG geometry is compatible with OpenMC's geometric primitives. This should be set to False if the OpenCG geometry uses SquarePrism surfaces. True by default as an optimization. From 9e1da7a5bfa9e5cb0d66b66213cb48dd448c7f0a Mon Sep 17 00:00:00 2001 From: Will Boyd Date: Thu, 18 Aug 2016 14:20:33 -0400 Subject: [PATCH 3/3] Changed compatibility parameter to default to False for OpenCG-to-OpenMC conversion --- openmc/opencg_compatible.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openmc/opencg_compatible.py b/openmc/opencg_compatible.py index bca735a812..e81538fcf5 100644 --- a/openmc/opencg_compatible.py +++ b/openmc/opencg_compatible.py @@ -997,7 +997,7 @@ def get_opencg_geometry(openmc_geometry): return opencg_geometry -def get_openmc_geometry(opencg_geometry, compatible=True): +def get_openmc_geometry(opencg_geometry, compatible=False): """Return an OpenMC geometry corresponding to an OpenCG geometry. Parameters @@ -1007,7 +1007,7 @@ def get_openmc_geometry(opencg_geometry, compatible=True): compatible : bool Whether the OpenCG geometry is compatible with OpenMOC's geometric primitives. This should be set to False if the OpenCG geometry - uses SquarePrism surfaces. True by default as an optimization. + uses SquarePrism surfaces. False by default. Returns -------