pep8 fixes

This commit is contained in:
yardasol 2022-07-14 12:54:51 -05:00
parent 6ff164131c
commit 0a05f9dcb4
2 changed files with 75 additions and 26 deletions

View file

@ -43,6 +43,7 @@ def _distribute(items):
return items[j:j + chunk_size]
j += chunk_size
class OpenMCOperator(TransportOperator):
"""Abstrct class holding OpenMC-specific functions for running
depletion calculations.
@ -136,12 +137,25 @@ class OpenMCOperator(TransportOperator):
results are to be used.
"""
def __init__(self, materials=None, cross_sections=None, chain_file=None, prev_results=None, diff_burnable_mats=False, normalization_mode=None, fission_q=None, dilute_initial=0.0, fission_yield_mode=None, fission_yield_opts=None,
reaction_rate_mode=None, reaction_rate_opts=None,
reduce_chain=False, reduce_chain_level=None):
def __init__(
self,
materials=None,
cross_sections=None,
chain_file=None,
prev_results=None,
diff_burnable_mats=False,
normalization_mode=None,
fission_q=None,
dilute_initial=0.0,
fission_yield_mode=None,
fission_yield_opts=None,
reaction_rate_mode=None,
reaction_rate_opts=None,
reduce_chain=False,
reduce_chain_level=None):
super().__init__(chain_file, fission_q, dilute_initial, prev_results)
self.round_number=False
self.round_number = False
self.materials = materials
self.cross_sections = cross_sections
@ -172,8 +186,8 @@ class OpenMCOperator(TransportOperator):
if self.prev_res is not None:
self._load_previous_results()
self.nuclides_with_data = self._get_nuclides_with_data(self.cross_sections)
self.nuclides_with_data = self._get_nuclides_with_data(
self.cross_sections)
# Select nuclides with data that are also in the chain
self._burnable_nucs = [nuc.name for nuc in self.chain.nuclides
@ -189,7 +203,12 @@ class OpenMCOperator(TransportOperator):
self.reaction_rates = ReactionRates(
self.local_mats, self._burnable_nucs, self.chain.reactions)
self._get_helper_classes(reaction_rate_mode, normalization_mode, fission_yield_mode, reaction_rate_opts, fission_yield_opts)
self._get_helper_classes(
reaction_rate_mode,
normalization_mode,
fission_yield_mode,
reaction_rate_opts,
fission_yield_opts)
@abstractmethod
def _differentiate_burnable_mats(self):
@ -244,7 +263,6 @@ class OpenMCOperator(TransportOperator):
return burnable_mats, volume, nuclides
@abstractmethod
def _load_previous_results(self):
"""Load reuslts from a previous depletion simulation"""
@ -268,11 +286,14 @@ class OpenMCOperator(TransportOperator):
Results from a previous depletion calculation
"""
self.number = AtomNumber(local_mats, all_nuclides, volume, len(self.chain))
self.number = AtomNumber(
local_mats, all_nuclides, volume, len(
self.chain))
if self.dilute_initial != 0.0:
for nuc in self._burnable_nucs:
self.number.set_atom_density(np.s_[:], nuc, self.dilute_initial)
self.number.set_atom_density(
np.s_[:], nuc, self.dilute_initial)
# Now extract and store the number densities
# From the geometry if no previous depletion results
@ -337,7 +358,13 @@ class OpenMCOperator(TransportOperator):
self.number.set_atom_density(mat_id, nuclide, atom_per_cc)
@abstractmethod
def _get_helper_classes(self, reaction_rate_mode, normalization_mode, fission_yield_mode, reaction_rate_opts, fission_yield_opts):
def _get_helper_classes(
self,
reaction_rate_mode,
normalization_mode,
fission_yield_mode,
reaction_rate_opts,
fission_yield_opts):
"""Create the ``_rate_helper``, ``_normalization_helper``, and
``_yield_helper`` objects.

View file

@ -32,6 +32,7 @@ from .helpers import (
__all__ = ["Operator", "OperatorResult"]
def _find_cross_sections(model):
"""Determine cross sections to use for depletion"""
if model.materials and model.materials.cross_sections is not None:
@ -219,12 +220,21 @@ class Operator(OpenMCOperator):
self.cleanup_when_done = True
super().__init__(model.materials, cross_sections, chain_file, prev_results,
diff_burnable_mats, normalization_mode,
fission_q, dilute_initial,
fission_yield_mode, fission_yield_opts,
reaction_rate_mode, reaction_rate_opts,
reduce_chain, reduce_chain_level)
super().__init__(
model.materials,
cross_sections,
chain_file,
prev_results,
diff_burnable_mats,
normalization_mode,
fission_q,
dilute_initial,
fission_yield_mode,
fission_yield_opts,
reaction_rate_mode,
reaction_rate_opts,
reduce_chain,
reduce_chain_level)
def _differentiate_burnable_mats(self):
"""Assign distribmats for each burnable material"""
@ -240,7 +250,7 @@ class Operator(OpenMCOperator):
for mat in distribmats:
if mat.volume is None:
raise RuntimeError("Volume not specified for depletable "
"material with ID={}.".format(mat.id))
"material with ID={}.".format(mat.id))
mat.volume /= mat.num_instances
if distribmats:
@ -252,8 +262,8 @@ class Operator(OpenMCOperator):
for i in range(cell.num_instances)]
self.materials = openmc.Materials(
model.geometry.get_all_materials().values()
)
model.geometry.get_all_materials().values()
)
def _load_previous_results(self):
"""Load results from a previous depletion simulation"""
@ -285,8 +295,13 @@ class Operator(OpenMCOperator):
return nuclides
def _get_helper_classes(self, reaction_rate_mode, normalization_mode, fission_yield_mode,
reaction_rate_opts, fission_yield_opts):
def _get_helper_classes(
self,
reaction_rate_mode,
normalization_mode,
fission_yield_mode,
reaction_rate_opts,
fission_yield_opts):
"""Create the ``_rate_helper``, ``_normalization_helper``, and
``_yield_helper`` objects.
@ -459,17 +474,24 @@ class Operator(OpenMCOperator):
densities.append(val)
else:
# Only output warnings if values are significantly
# negative. CRAM does not guarantee positive values.
# negative. CRAM does not guarantee positive
# values.
if val < -1.0e-21:
print("WARNING: nuclide ", nuc, " in material ", mat,
" is negative (density = ", val, " at/barn-cm)")
print(
"WARNING: nuclide ",
nuc,
" in material ",
mat,
" is negative (density = ",
val,
" at/barn-cm)")
number_i[mat, nuc] = 0.0
# Update densities on C API side
mat_internal = openmc.lib.materials[int(mat)]
mat_internal.set_densities(nuclides, densities)
#TODO Update densities on the Python side, otherwise the
# TODO Update densities on the Python side, otherwise the
# summary.h5 file contains densities at the first time step
@staticmethod