From 6c78d129c3db8b09b0e8b21cb3a4965460127666 Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Tue, 12 Jul 2022 15:49:40 +0100 Subject: [PATCH] added bbox by @pshriwise --- openmc/universe.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/openmc/universe.py b/openmc/universe.py index f3f95aebbe..bb1554de89 100644 --- a/openmc/universe.py +++ b/openmc/universe.py @@ -7,6 +7,7 @@ from pathlib import Path from tempfile import TemporaryDirectory from xml.etree import ElementTree as ET +import h5py import numpy as np import openmc @@ -630,6 +631,9 @@ class DAGMCUniverse(UniverseBase): auto_mat_ids : bool Set IDs automatically on initialization (True) or report overlaps in ID space between OpenMC and UWUW materials (False) + bounding_box : 2-tuple of numpy.array + Lower-left and upper-right coordinates of an axis-aligned bounding box + of the universe. """ def __init__(self, @@ -650,6 +654,15 @@ class DAGMCUniverse(UniverseBase): string += '{: <16}=\t{}\n'.format('\tFile', self.filename) return string + @property + def bounding_box(self): + dagmc_file = h5py.File(self.filename) + coords = dagmc_file['tstt']['nodes']['coordinates'][()] + lower_left_corner = coords.min(axis=0) + upper_right_corner = coords.max(axis=0) + bounding_box = (lower_left_corner, upper_right_corner) + return bounding_box + @property def filename(self): return self._filename