Merge pull request #790 from paulromano/february-fixes

Specify run_mode in settings.xml, other assorted changes
This commit is contained in:
Adam Nelson 2017-02-18 16:13:21 -05:00 committed by GitHub
commit 3a72907759
106 changed files with 784 additions and 837 deletions

View file

@ -248,7 +248,7 @@ napoleon_use_ivar = True
intersphinx_mapping = {
'python': ('https://docs.python.org/3', None),
'numpy': ('http://docs.scipy.org/doc/numpy/', None),
'numpy': ('https://docs.scipy.org/doc/numpy/', None),
'pandas': ('http://pandas.pydata.org/pandas-docs/stable/', None),
'matplotlib': ('http://matplotlib.org/', None)
}

View file

@ -115,15 +115,17 @@ Many of the above classes are derived from several abstract classes:
openmc.Region
openmc.Lattice
One function is also available to create a hexagonal region defined by the
intersection of six surface half-spaces.
Two helper function are also available to create rectangular and hexagonal
prisms defined by the intersection of four and six surface half-spaces,
respectively.
.. autosummary::
:toctree: generated
:nosignatures:
:template: myfunction.rst
openmc.make_hexagon_region
openmc.get_hexagonal_prism
openmc.get_rectangular_prism
Constructing Tallies
--------------------

View file

@ -94,6 +94,18 @@ Settings Specification -- settings.xml
All simulation parameters and miscellaneous options are specified in the
settings.xml file.
``<batches>`` Element
---------------------
The ``<batches>`` element indicates the total number of batches to execute,
where each batch corresponds to a tally realization. In a fixed source
calculation, each batch consists of a number of source particles. In an
eigenvalue calculation, each batch consists of one or many fission source
iterations (generations), where each generation itself consists of a number of
source neutrons.
*Default*: None
``<confidence_intervals>`` Element
----------------------------------
@ -132,67 +144,6 @@ you care. This element has the following attributes/sub-elements:
*Default*: 0.0
.. _eigenvalue:
``<eigenvalue>`` Element
------------------------
The ``<eigenvalue>`` element indicates that a :math:`k`-eigenvalue calculation
should be performed. It has the following attributes/sub-elements:
:batches:
The total number of batches, where each batch corresponds to multiple
fission source iterations. Batching is done to eliminate correlation between
realizations of random variables.
*Default*: None
:generations_per_batch:
The number of total fission source iterations per batch.
*Default*: 1
:inactive:
The number of inactive batches. In general, the starting cycles in a
criticality calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately.
*Default*: None
:particles:
The number of neutrons to simulate per fission source iteration.
*Default*: None
:keff_trigger:
This tag specifies a precision trigger on the combined :math:`k_{eff}`. The
trigger is a convergence criterion on the uncertainty of the estimated
eigenvalue. It has the following attributes/sub-elements:
:type:
The type of precision trigger. Accepted options are "variance", "std_dev",
and "rel_err".
:variance:
Variance of the batch mean :math:`\sigma^2`
:std_dev:
Standard deviation of the batch mean :math:`\sigma`
:rel_err:
Relative error of the batch mean :math:`\frac{\sigma}{\mu}`
*Default*: None
:threshold:
The precision trigger's convergence criterion for the
combined :math:`k_{eff}`.
*Default*: None
.. note:: See section on the :ref:`trigger` for more information.
``<energy_grid>`` Element
-------------------------
@ -247,23 +198,58 @@ problem. It has the following attributes/sub-elements:
*Default*: None
``<fixed_source>`` Element
``<generations_per_batch>`` Element
-----------------------------------
The ``<generations_per_batch>`` element indicates the number of total fission
source iterations per batch for an eigenvalue calculation. This element is
ignored for all run modes other than "eigenvalue".
*Default*: 1
``<inactive>`` Element
----------------------
The ``<inactive>`` element indicates the number of inactive batches used in a
k-eigenvalue calculation. In general, the starting fission source iterations in
an eigenvalue calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately. This element is ignored for all run modes other than "eigenvalue".
*Default*: 0
``<keff_trigger>`` Element
--------------------------
The ``<fixed_source>`` element indicates that a fixed source calculation should
be performed. It has the following attributes/sub-elements:
The ``<keff_trigger>`` element (ignored for all run modes other than
"eigenvalue".) specifies a precision trigger on the combined
:math:`k_{eff}`. The trigger is a convergence criterion on the uncertainty of
the estimated eigenvalue. It has the following attributes/sub-elements:
:batches:
The total number of batches. For fixed source calculations, each batch
represents a realization of random variables for tallies.
:type:
The type of precision trigger. Accepted options are "variance", "std_dev",
and "rel_err".
:variance:
Variance of the batch mean :math:`\sigma^2`
:std_dev:
Standard deviation of the batch mean :math:`\sigma`
:rel_err:
Relative error of the batch mean :math:`\frac{\sigma}{\mu}`
*Default*: None
:particles:
The number of particles to simulate per batch.
:threshold:
The precision trigger's convergence criterion for the
combined :math:`k_{eff}`.
*Default*: None
.. note:: See section on the :ref:`trigger` for more information.
``<log_grid_bins>`` Element
---------------------------
@ -336,6 +322,15 @@ will abort.
*Default*: Current working directory
``<particles>`` Element
-----------------------
This element indicates the number of neutrons to simulate per fission source
iteration when a k-eigenvalue calculation is performed or the number of neutrons
per batch for a fixed source simulation.
*Default*: None
``<ptables>`` Element
---------------------
@ -408,7 +403,16 @@ The ``<run_cmfd>`` element indicates whether or not CMFD acceleration should be
turned on or off. This element has no attributes or sub-elements and can be set
to either "false" or "true".
*Defualt*: false
*Default*: false
``<run_mode>`` Element
----------------------
The ``<run_mode>`` element indicates which run mode should be used when OpenMC
is executed. This element has no attributes or sub-elements and can be set to
"eigenvalue", "fixed source", "plot", "volume", or "particle restart".
*Default*: None
``<seed>`` Element
------------------
@ -774,13 +778,13 @@ number, and particle number, respectively.
-------------------------
OpenMC includes tally precision triggers which allow the user to define
uncertainty thresholds on :math:`k_{eff}` in the ``<eigenvalue>`` subelement of
``settings.xml``, and/or tallies in ``tallies.xml``. When using triggers,
uncertainty thresholds on :math:`k_{eff}` in the ``<keff_trigger>`` subelement
of ``settings.xml``, and/or tallies in ``tallies.xml``. When using triggers,
OpenMC will run until it completes as many batches as defined by ``<batches>``.
At this point, the uncertainties on all tallied values are computed and
compared with their corresponding trigger thresholds. If any triggers have not
been met, OpenMC will continue until either all trigger thresholds have been
satisfied or ``<max_batches>`` has been reached.
At this point, the uncertainties on all tallied values are computed and compared
with their corresponding trigger thresholds. If any triggers have not been met,
OpenMC will continue until either all trigger thresholds have been satisfied or
``<max_batches>`` has been reached.
The ``<trigger>`` element provides an active "toggle switch" for tally
precision trigger(s), the maximum number of batches and the batch interval. It
@ -793,8 +797,8 @@ has the following attributes/sub-elements:
:max_batches:
This describes the maximum number of batches allowed when using trigger(s).
.. note:: When max_batches is set, the number of ``batches`` shown in
``<eigenvalue>`` element represents minimum number of batches to
.. note:: When max_batches is set, the number of ``batches`` shown in the
``<batches>`` element represents minimum number of batches to
simulate when using the trigger(s).
:batch_interval:

View file

@ -1,12 +1,10 @@
<?xml version="1.0"?>
<settings>
<!-- Parameters for k-eigenvalue calculation -->
<eigenvalue>
<batches>15</batches>
<inactive>5</inactive>
<particles>10000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>15</batches>
<inactive>5</inactive>
<particles>10000</particles>
<!-- Starting source -->
<source>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for k-eigenvalue calculation -->
<eigenvalue>
<batches>15</batches>
<inactive>5</inactive>
<particles>10000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>15</batches>
<inactive>5</inactive>
<particles>10000</particles>
<!-- Starting source -->
<source>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for k-eigenvalue calculation -->
<eigenvalue>
<batches>20</batches>
<inactive>10</inactive>
<particles>10000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>20</batches>
<inactive>10</inactive>
<particles>10000</particles>
<!-- Starting source -->
<source>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for k-eigenvalue calculation -->
<eigenvalue>
<batches>20</batches>
<inactive>10</inactive>
<particles>10000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>20</batches>
<inactive>10</inactive>
<particles>10000</particles>
<!-- Starting source -->
<source>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Define how many particles to run and for how many batches -->
<eigenvalue>
<batches>100</batches>
<inactive>10</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>100</batches>
<inactive>10</inactive>
<particles>1000</particles>
<!-- The starting source is a uniform distribution over the entire pin
cell. Note that since this is effectively a 2D model, the z coordinates
@ -29,4 +28,4 @@
<dimension>10 10 1</dimension>
</entropy>
</settings>
</settings>

View file

@ -1,14 +1,10 @@
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>100</batches>
<inactive>10</inactive>
</eigenvalue>
<source strength="1.0">
<space type="box">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>
</space>
</source>
<energy_mode>multi-group</energy_mode>
<run_mode>eigenvalue</run_mode>
<source strength="1.0">
<space type="box">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>
</space>
</source>
<energy_mode>multi-group</energy_mode>
</settings>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for k-eigenvalue calculation -->
<eigenvalue>
<batches>500</batches>
<inactive>10</inactive>
<particles>10000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>500</batches>
<inactive>10</inactive>
<particles>10000</particles>
<!-- Starting source -->
<source>

View file

@ -44,8 +44,8 @@ def plot_geometry(output=True, openmc_exec='openmc', cwd='.'):
def run(particles=None, threads=None, geometry_debug=False,
restart_file=None, tracks=False, mpi_procs=1, output=True,
openmc_exec='openmc', mpi_exec='mpiexec', cwd='.'):
restart_file=None, tracks=False, output=True, cwd='.',
openmc_exec='openmc', mpi_args=None):
"""Run an OpenMC simulation.
Parameters
@ -56,23 +56,23 @@ def run(particles=None, threads=None, geometry_debug=False,
Number of OpenMP threads. If OpenMC is compiled with OpenMP threading
enabled, the default is implementation-dependent but is usually equal to
the number of hardware threads available (or a value set by the
OMP_NUM_THREADS environment variable).
:envvar:`OMP_NUM_THREADS` environment variable).
geometry_debug : bool, optional
Turn on geometry debugging during simulation. Defaults to False.
restart_file : str, optional
Path to restart file to use
tracks : bool, optional
Write tracks for all particles. Defaults to False.
mpi_procs : int, optional
Number of MPI processes.
output : bool, optional
Capture OpenMC output from standard out. Defaults to True.
cwd : str, optional
Path to working directory to run in. Defaults to the current working
directory.
openmc_exec : str, optional
Path to OpenMC executable. Defaults to 'openmc'.
mpi_exec : str, optional
MPI execute command. Defaults to 'mpiexec'.
cwd : str, optional
Path to working directory to run in. Defaults to the current working directory.
mpi_args : list of str, optional
MPI execute command and any additional MPI arguments to pass,
e.g. ['mpiexec', '-n', '8'].
"""
@ -94,8 +94,8 @@ def run(particles=None, threads=None, geometry_debug=False,
if tracks:
post_args += '-t'
if isinstance(mpi_procs, Integral) and mpi_procs > 1:
pre_args += '{} -n {} '.format(mpi_exec, mpi_procs)
if mpi_args is not None:
pre_args = ' '.join(mpi_args) + ' '
command = pre_args + openmc_exec + ' ' + post_args

View file

@ -56,6 +56,9 @@ class Material(object):
Units used for `density`. Can be one of 'g/cm3', 'g/cc', 'kg/cm3',
'atom/b-cm', 'atom/cm3', 'sum', or 'macro'. The 'macro' unit only
applies in the case of a multi-group calculation.
depletable : bool
Indicate whether the material is depletable. This attribute can be used
by downstream depletion applications.
elements : list of tuple
List in which each item is a 4-tuple consisting of an
:class:`openmc.Element` instance, the percent density, the percent
@ -78,6 +81,7 @@ class Material(object):
self.temperature = temperature
self._density = None
self._density_units = ''
self._depletable = False
# A list of tuples (nuclide, percent, percent type)
self._nuclides = []
@ -127,37 +131,36 @@ class Material(object):
def __repr__(self):
string = 'Material\n'
string += '{0: <16}{1}{2}\n'.format('\tID', '=\t', self._id)
string += '{0: <16}{1}{2}\n'.format('\tName', '=\t', self._name)
string += '{0: <16}{1}{2}\n'.format('\tTemperature', '=\t',
self._temperature)
string += '{: <16}=\t{}\n'.format('\tID', self._id)
string += '{: <16}=\t{}\n'.format('\tName', self._name)
string += '{: <16}=\t{}\n'.format('\tTemperature', self._temperature)
string += '{0: <16}{1}{2}'.format('\tDensity', '=\t', self._density)
string += ' [{0}]\n'.format(self._density_units)
string += '{: <16}=\t{}'.format('\tDensity', self._density)
string += ' [{}]\n'.format(self._density_units)
string += '{0: <16}\n'.format('\tS(a,b) Tables')
string += '{: <16}\n'.format('\tS(a,b) Tables')
for sab in self._sab:
string += '{0: <16}{1}{2}\n'.format('\tS(a,b)', '=\t', sab)
string += '{: <16}=\t{}\n'.format('\tS(a,b)', sab)
string += '{0: <16}\n'.format('\tNuclides')
string += '{: <16}\n'.format('\tNuclides')
for nuclide, percent, percent_type in self._nuclides:
string += '{0: <16}'.format('\t{0.name}'.format(nuclide))
string += '=\t{0: <12} [{1}]\n'.format(percent, percent_type)
string += '=\t{: <12} [{}]\n'.format(percent, percent_type)
if self._macroscopic is not None:
string += '{0: <16}\n'.format('\tMacroscopic Data')
string += '{0: <16}'.format('\t{0}'.format(self._macroscopic))
string += '{: <16}\n'.format('\tMacroscopic Data')
string += '{: <16}'.format('\t{}'.format(self._macroscopic))
string += '{0: <16}\n'.format('\tElements')
string += '{: <16}\n'.format('\tElements')
for element, percent, percent_type, enr in self._elements:
string += '{0: <16}'.format('\t{0.name}'.format(element))
if enr is None:
string += '=\t{0: <12} [{1}]\n'.format(percent, percent_type)
string += '=\t{: <12} [{}]\n'.format(percent, percent_type)
else:
string += '=\t{0: <12} [{1}] @ {2} w/o enrichment\n'\
string += '=\t{: <12} [{}] @ {} w/o enrichment\n'\
.format(percent, percent_type, enr)
return string
@ -182,6 +185,10 @@ class Material(object):
def density_units(self):
return self._density_units
@property
def depletable(self):
return self._depletable
@property
def elements(self):
return self._elements
@ -234,7 +241,7 @@ class Material(object):
@name.setter
def name(self, name):
if name is not None:
cv.check_type('name for Material ID="{0}"'.format(self._id),
cv.check_type('name for Material ID="{}"'.format(self._id),
name, string_types)
self._name = name
else:
@ -242,10 +249,16 @@ class Material(object):
@temperature.setter
def temperature(self, temperature):
cv.check_type('Temperature for Material ID="{0}"'.format(self._id),
cv.check_type('Temperature for Material ID="{}"'.format(self._id),
temperature, (Real, type(None)))
self._temperature = temperature
@depletable.setter
def depletable(self, depletable):
cv.check_type('Depletable flag for Material ID="{}"'.format(self.id),
depletable, bool)
self._depletable = depletable
def set_density(self, units, density=None):
"""Set the density of the material
@ -264,17 +277,17 @@ class Material(object):
if units is 'sum':
if density is not None:
msg = 'Density "{0}" for Material ID="{1}" is ignored ' \
msg = 'Density "{}" for Material ID="{}" is ignored ' \
'because the unit is "sum"'.format(density, self.id)
warnings.warn(msg)
else:
if density is None:
msg = 'Unable to set the density for Material ID="{0}" ' \
msg = 'Unable to set the density for Material ID="{}" ' \
'because a density value must be given when not using ' \
'"sum" unit'.format(self.id)
raise ValueError(msg)
cv.check_type('the density for Material ID="{0}"'.format(self.id),
cv.check_type('the density for Material ID="{}"'.format(self.id),
density, Real)
self._density = density
@ -285,8 +298,8 @@ class Material(object):
'version of openmc')
if not isinstance(filename, string_types) and filename is not None:
msg = 'Unable to add OTF material file to Material ID="{0}" with a ' \
'non-string name "{1}"'.format(self._id, filename)
msg = 'Unable to add OTF material file to Material ID="{}" with a ' \
'non-string name "{}"'.format(self._id, filename)
raise ValueError(msg)
self._distrib_otf_file = filename
@ -314,23 +327,23 @@ class Material(object):
"""
if self._macroscopic is not None:
msg = 'Unable to add a Nuclide to Material ID="{0}" as a ' \
msg = 'Unable to add a Nuclide to Material ID="{}" as a ' \
'macroscopic data-set has already been added'.format(self._id)
raise ValueError(msg)
if not isinstance(nuclide, string_types + (openmc.Nuclide,)):
msg = 'Unable to add a Nuclide to Material ID="{0}" with a ' \
'non-Nuclide value "{1}"'.format(self._id, nuclide)
msg = 'Unable to add a Nuclide to Material ID="{}" with a ' \
'non-Nuclide value "{}"'.format(self._id, nuclide)
raise ValueError(msg)
elif not isinstance(percent, Real):
msg = 'Unable to add a Nuclide to Material ID="{0}" with a ' \
'non-floating point value "{1}"'.format(self._id, percent)
msg = 'Unable to add a Nuclide to Material ID="{}" with a ' \
'non-floating point value "{}"'.format(self._id, percent)
raise ValueError(msg)
elif percent_type not in ['ao', 'wo', 'at/g-cm']:
msg = 'Unable to add a Nuclide to Material ID="{0}" with a ' \
'percent type "{1}"'.format(self._id, percent_type)
msg = 'Unable to add a Nuclide to Material ID="{}" with a ' \
'percent type "{}"'.format(self._id, percent_type)
raise ValueError(msg)
if isinstance(nuclide, openmc.Nuclide):
@ -353,7 +366,7 @@ class Material(object):
"""
if not isinstance(nuclide, openmc.Nuclide):
msg = 'Unable to remove a Nuclide "{0}" in Material ID="{1}" ' \
msg = 'Unable to remove a Nuclide "{}" in Material ID="{}" ' \
'since it is not a Nuclide'.format(self._id, nuclide)
raise ValueError(msg)
@ -377,15 +390,15 @@ class Material(object):
# Ensure no nuclides, elements, or sab are added since these would be
# incompatible with macroscopics
if self._nuclides or self._elements or self._sab:
msg = 'Unable to add a Macroscopic data set to Material ID="{0}" ' \
'with a macroscopic value "{1}" as an incompatible data ' \
msg = 'Unable to add a Macroscopic data set to Material ID="{}" ' \
'with a macroscopic value "{}" as an incompatible data ' \
'member (i.e., nuclide, element, or S(a,b) table) ' \
'has already been added'.format(self._id, macroscopic)
raise ValueError(msg)
if not isinstance(macroscopic, string_types + (openmc.Macroscopic,)):
msg = 'Unable to add a Macroscopic to Material ID="{0}" with a ' \
'non-Macroscopic value "{1}"'.format(self._id, macroscopic)
msg = 'Unable to add a Macroscopic to Material ID="{}" with a ' \
'non-Macroscopic value "{}"'.format(self._id, macroscopic)
raise ValueError(msg)
if isinstance(macroscopic, openmc.Macroscopic):
@ -398,7 +411,7 @@ class Material(object):
if self._macroscopic is None:
self._macroscopic = macroscopic
else:
msg = 'Unable to add a Macroscopic to Material ID="{0}". ' \
msg = 'Unable to add a Macroscopic to Material ID="{}". ' \
'Only one Macroscopic allowed per ' \
'Material.'.format(self._id)
raise ValueError(msg)
@ -422,7 +435,7 @@ class Material(object):
"""
if not isinstance(macroscopic, openmc.Macroscopic):
msg = 'Unable to remove a Macroscopic "{0}" in Material ID="{1}" ' \
msg = 'Unable to remove a Macroscopic "{}" in Material ID="{}" ' \
'since it is not a Macroscopic'.format(self._id, macroscopic)
raise ValueError(msg)
@ -450,23 +463,23 @@ class Material(object):
"""
if self._macroscopic is not None:
msg = 'Unable to add an Element to Material ID="{0}" as a ' \
msg = 'Unable to add an Element to Material ID="{}" as a ' \
'macroscopic data-set has already been added'.format(self._id)
raise ValueError(msg)
if not isinstance(element, string_types + (openmc.Element,)):
msg = 'Unable to add an Element to Material ID="{0}" with a ' \
'non-Element value "{1}"'.format(self._id, element)
msg = 'Unable to add an Element to Material ID="{}" with a ' \
'non-Element value "{}"'.format(self._id, element)
raise ValueError(msg)
if not isinstance(percent, Real):
msg = 'Unable to add an Element to Material ID="{0}" with a ' \
'non-floating point value "{1}"'.format(self._id, percent)
msg = 'Unable to add an Element to Material ID="{}" with a ' \
'non-floating point value "{}"'.format(self._id, percent)
raise ValueError(msg)
if percent_type not in ['ao', 'wo']:
msg = 'Unable to add an Element to Material ID="{0}" with a ' \
'percent type "{1}"'.format(self._id, percent_type)
msg = 'Unable to add an Element to Material ID="{}" with a ' \
'percent type "{}"'.format(self._id, percent_type)
raise ValueError(msg)
# Copy this Element to separate it from same Element in other Materials
@ -477,14 +490,14 @@ class Material(object):
if enrichment is not None:
if not isinstance(enrichment, Real):
msg = 'Unable to add an Element to Material ID="{0}" with a ' \
'non-floating point enrichment value "{1}"'\
msg = 'Unable to add an Element to Material ID="{}" with a ' \
'non-floating point enrichment value "{}"'\
.format(self._id, enrichment)
raise ValueError(msg)
elif element.name != 'U':
msg = 'Unable to use enrichment for element {0} which is not ' \
'uranium for Material ID="{1}"'.format(element.name,
msg = 'Unable to use enrichment for element {} which is not ' \
'uranium for Material ID="{}"'.format(element.name,
self._id)
raise ValueError(msg)
@ -493,8 +506,8 @@ class Material(object):
cv.check_greater_than('enrichment', enrichment, 0., equality=True)
if enrichment > 5.0:
msg = 'A uranium enrichment of {0} was given for Material ID='\
'"{1}". OpenMC assumes the U234/U235 mass ratio is '\
msg = 'A uranium enrichment of {} was given for Material ID='\
'"{}". OpenMC assumes the U234/U235 mass ratio is '\
'constant at 0.008, which is only valid at low ' \
'enrichments. Consider setting the isotopic ' \
'composition manually for enrichments over 5%.'.\
@ -514,7 +527,7 @@ class Material(object):
"""
if not isinstance(element, openmc.Element):
msg = 'Unable to remove "{0}" in Material ID="{1}" ' \
msg = 'Unable to remove "{}" in Material ID="{}" ' \
'since it is not an Element'.format(self.id, element)
raise ValueError(msg)
@ -534,13 +547,13 @@ class Material(object):
"""
if self._macroscopic is not None:
msg = 'Unable to add an S(a,b) table to Material ID="{0}" as a ' \
msg = 'Unable to add an S(a,b) table to Material ID="{}" as a ' \
'macroscopic data-set has already been added'.format(self._id)
raise ValueError(msg)
if not isinstance(name, string_types):
msg = 'Unable to add an S(a,b) table to Material ID="{0}" with a ' \
'non-string table name "{1}"'.format(self._id, name)
msg = 'Unable to add an S(a,b) table to Material ID="{}" with a ' \
'non-string table name "{}"'.format(self._id, name)
raise ValueError(msg)
new_name = openmc.data.get_thermal_name(name)
@ -758,6 +771,9 @@ class Material(object):
if len(self._name) > 0:
element.set("name", str(self._name))
if self._depletable:
element.set("depletable", "true")
# Create temperature XML subelement
if self.temperature is not None:
subelement = ET.SubElement(element, "temperature")

View file

@ -11,6 +11,9 @@ from openmc.clean_xml import clean_xml_indentation
import openmc.checkvalue as cv
from openmc import Nuclide, VolumeCalculation, Source, Mesh
_RUN_MODES = ['eigenvalue', 'fixed source', 'plot', 'volume',
'particle restart']
class Settings(object):
"""Settings used for an OpenMC simulation.
@ -81,7 +84,7 @@ class Settings(object):
The elastic scattering model to use for resonant isotopes
run_cmfd : bool
Indicate if coarse mesh finite difference acceleration is to be used
run_mode : {'eigenvalue' or 'fixed source'}
run_mode : {'eigenvalue', 'fixed source', 'plot', 'volume', 'particle restart'}
The type of calculation to perform (default is 'eigenvalue')
seed : int
Seed for the linear congruential pseudorandom number generator
@ -388,10 +391,7 @@ class Settings(object):
@run_mode.setter
def run_mode(self, run_mode):
if run_mode not in ['eigenvalue', 'fixed source']:
msg = 'Unable to set run mode to "{0}". Only "eigenvalue" ' \
'and "fixed source" are supported."'.format(run_mode)
raise ValueError(msg)
cv.check_value('run mode', run_mode, _RUN_MODES)
self._run_mode = run_mode
@batches.setter
@ -794,18 +794,8 @@ class Settings(object):
self._create_fission_neutrons = create_fission_neutrons
def _create_run_mode_subelement(self, root):
if self.run_mode == 'eigenvalue':
elem = ET.SubElement(root, "eigenvalue")
self._create_particles_subelement(elem)
self._create_batches_subelement(elem)
self._create_inactive_subelement(elem)
self._create_generations_per_batch_subelement(elem)
self._create_keff_trigger_subelement(elem)
else:
elem = ET.SubElement(root, "fixed_source")
self._create_particles_subelement(elem)
self._create_batches_subelement(elem)
elem = ET.SubElement(root, "run_mode")
elem.text = self._run_mode
def _create_batches_subelement(self, run_mode_element):
if self._batches is not None:
@ -814,8 +804,7 @@ class Settings(object):
def _create_generations_per_batch_subelement(self, run_mode_element):
if self._generations_per_batch is not None:
element = ET.SubElement(run_mode_element,
"generations_per_batch")
element = ET.SubElement(run_mode_element, "generations_per_batch")
element.text = str(self._generations_per_batch)
def _create_inactive_subelement(self, run_mode_element):
@ -1081,6 +1070,11 @@ class Settings(object):
root_element = ET.Element("settings")
self._create_run_mode_subelement(root_element)
self._create_particles_subelement(root_element)
self._create_batches_subelement(root_element)
self._create_inactive_subelement(root_element)
self._create_generations_per_batch_subelement(root_element)
self._create_keff_trigger_subelement(root_element)
self._create_source_subelement(root_element)
self._create_output_subelement(root_element)
self._create_statepoint_subelement(root_element)

View file

@ -97,23 +97,25 @@ class Summary(object):
# Values - Material objects
self.materials = {}
for key in self._f['materials'].keys():
for key, group in self._f['materials'].items():
if key == 'n_materials':
continue
material_id = int(key.lstrip('material '))
index = self._f['materials'][key]['index'].value
name = self._f['materials'][key]['name'].value.decode()
density = self._f['materials'][key]['atom_density'].value
nuc_densities = self._f['materials'][key]['nuclide_densities'][...]
nuclides = self._f['materials'][key]['nuclides'].value
index = group['index'].value
name = group['name'].value.decode()
density = group['atom_density'].value
nuc_densities = group['nuclide_densities'][...]
nuclides = group['nuclides'].value
# Create the Material
material = openmc.Material(material_id=material_id, name=name)
material.depletable = bool(group.attrs['depletable'])
# Read the names of the S(a,b) tables for this Material and add them
if 'sab_names' in self._f['materials'][key]:
sab_tables = self._f['materials'][key]['sab_names'].value
if 'sab_names' in group:
sab_tables = group['sab_names'].value
for sab_table in sab_tables:
name = sab_table.decode()
material.add_s_alpha_beta(name)

View file

@ -424,7 +424,8 @@ module constants
MODE_FIXEDSOURCE = 1, & ! Fixed source mode
MODE_EIGENVALUE = 2, & ! K eigenvalue mode
MODE_PLOTTING = 3, & ! Plotting mode
MODE_PARTICLE = 4 ! Particle restart mode
MODE_PARTICLE = 4, & ! Particle restart mode
MODE_VOLUME = 5 ! Volume calculation mode
!=============================================================================
! CMFD CONSTANTS

View file

@ -5,9 +5,6 @@ module finalize
use global
use hdf5_interface, only: hdf5_bank_t
use message_passing
use output, only: print_runtime, print_results, &
print_overlap_check, write_tallies
use tally, only: tally_statistics
implicit none
@ -22,30 +19,6 @@ contains
integer :: hdf5_err
! Start finalization timer
call time_finalize%start()
if (run_mode /= MODE_PLOTTING .and. run_mode /= MODE_PARTICLE) then
! Calculate statistics for tallies and write to tallies.out
if (master) then
if (n_realizations > 1) call tally_statistics()
end if
if (output_tallies) then
if (master) call write_tallies()
end if
if (check_overlaps) call reduce_overlap_count()
end if
! Stop timers and show timing statistics
call time_finalize%stop()
call time_total%stop()
if (master .and. (run_mode /= MODE_PLOTTING .and. &
run_mode /= MODE_PARTICLE)) then
call print_runtime()
call print_results()
if (check_overlaps) call print_overlap_check()
end if
! Deallocate arrays
call free_memory()
@ -65,22 +38,4 @@ contains
end subroutine openmc_finalize
!===============================================================================
! REDUCE_OVERLAP_COUNT accumulates cell overlap check counts to master
!===============================================================================
subroutine reduce_overlap_count()
#ifdef MPI
if (master) then
call MPI_REDUCE(MPI_IN_PLACE, overlap_check_cnt, n_cells, &
MPI_INTEGER8, MPI_SUM, 0, mpi_intracomm, mpi_err)
else
call MPI_REDUCE(overlap_check_cnt, overlap_check_cnt, n_cells, &
MPI_INTEGER8, MPI_SUM, 0, mpi_intracomm, mpi_err)
end if
#endif
end subroutine reduce_overlap_count
end module finalize

View file

@ -79,7 +79,6 @@ contains
integer :: temp_int
integer :: temp_int_array3(3)
integer, allocatable :: temp_int_array(:)
integer(8) :: temp_long
real(8), allocatable :: temp_real(:)
integer :: n_tracks
logical :: file_exists
@ -100,7 +99,6 @@ contains
type(Node), pointer :: node_res_scat => null()
type(Node), pointer :: node_scatterer => null()
type(Node), pointer :: node_trigger => null()
type(Node), pointer :: node_keff_trigger => null()
type(Node), pointer :: node_vol => null()
type(Node), pointer :: node_tab_leg => null()
type(NodeList), pointer :: node_scat_list => null()
@ -224,119 +222,62 @@ contains
end if
end if
! Make sure that either eigenvalue or fixed source was specified
if (.not. check_for_node(doc, "eigenvalue") .and. &
.not. check_for_node(doc, "fixed_source")) then
call fatal_error("<eigenvalue> or <fixed_source> not specified.")
end if
! Check run mode if it hasn't been set from the command line
if (run_mode == NONE) then
if (check_for_node(doc, "run_mode")) then
call get_node_value(doc, "run_mode", temp_str)
select case (to_lower(temp_str))
case ("eigenvalue")
run_mode = MODE_EIGENVALUE
case ("fixed source")
run_mode = MODE_FIXEDSOURCE
case ("plot")
run_mode = MODE_PLOTTING
case ("particle restart")
run_mode = MODE_PARTICLE
case ("volume")
run_mode = MODE_VOLUME
end select
! Eigenvalue information
if (check_for_node(doc, "eigenvalue")) then
! Set run mode
if (run_mode == NONE) run_mode = MODE_EIGENVALUE
! Assume XML specifics <particles>, <batches>, etc. directly
node_mode => doc
else
call warning("<run_mode> should be specified.")
! Get pointer to eigenvalue XML block
call get_node_ptr(doc, "eigenvalue", node_mode)
! Check number of particles
if (.not. check_for_node(node_mode, "particles")) then
call fatal_error("Need to specify number of particles per generation.")
end if
! Get number of particles
call get_node_value(node_mode, "particles", temp_long)
! If the number of particles was specified as a command-line argument, we
! don't set it here
if (n_particles == 0) n_particles = temp_long
! Get number of basic batches
call get_node_value(node_mode, "batches", n_batches)
if (.not. trigger_on) then
n_max_batches = n_batches
end if
! Get number of inactive batches
call get_node_value(node_mode, "inactive", n_inactive)
n_active = n_batches - n_inactive
if (check_for_node(node_mode, "generations_per_batch")) then
call get_node_value(node_mode, "generations_per_batch", gen_per_batch)
end if
! Allocate array for batch keff and entropy
allocate(k_generation(n_max_batches*gen_per_batch))
allocate(entropy(n_max_batches*gen_per_batch))
entropy = ZERO
! Get the trigger information for keff
if (check_for_node(node_mode, "keff_trigger")) then
call get_node_ptr(node_mode, "keff_trigger", node_keff_trigger)
if (check_for_node(node_keff_trigger, "type")) then
call get_node_value(node_keff_trigger, "type", temp_str)
temp_str = trim(to_lower(temp_str))
select case (temp_str)
case ('std_dev')
keff_trigger % trigger_type = STANDARD_DEVIATION
case ('variance')
keff_trigger % trigger_type = VARIANCE
case ('rel_err')
keff_trigger % trigger_type = RELATIVE_ERROR
case default
call fatal_error("Unrecognized keff trigger type " // temp_str)
end select
else
call fatal_error("Specify keff trigger type in settings XML")
! Make sure that either eigenvalue or fixed source was specified
if (.not. check_for_node(doc, "eigenvalue") .and. &
.not. check_for_node(doc, "fixed_source")) then
call fatal_error("<eigenvalue> or <fixed_source> not specified.")
end if
if (check_for_node(node_keff_trigger, "threshold")) then
call get_node_value(node_keff_trigger, "threshold", &
keff_trigger % threshold)
else
call fatal_error("Specify keff trigger threshold in settings XML")
if (check_for_node(doc, "eigenvalue")) then
! Set run mode
if (run_mode == NONE) run_mode = MODE_EIGENVALUE
! Get pointer to eigenvalue XML block
call get_node_ptr(doc, "eigenvalue", node_mode)
elseif (check_for_node(doc, "fixed_source")) then
! Set run mode
if (run_mode == NONE) run_mode = MODE_FIXEDSOURCE
! Get pointer to fixed_source XML block
call get_node_ptr(doc, "fixed_source", node_mode)
end if
end if
end if
! Fixed source calculation information
if (check_for_node(doc, "fixed_source")) then
! Set run mode
if (run_mode == NONE) run_mode = MODE_FIXEDSOURCE
if (run_mode == MODE_EIGENVALUE .or. run_mode == MODE_FIXEDSOURCE) then
! Read run parameters
call get_run_parameters(node_mode)
! Get pointer to fixed_source XML block
call get_node_ptr(doc, "fixed_source", node_mode)
! Check number of particles
if (.not. check_for_node(node_mode, "particles")) then
call fatal_error("Need to specify number of particles per batch.")
! Check number of active batches, inactive batches, and particles
if (n_active <= 0) then
call fatal_error("Number of active batches must be greater than zero.")
elseif (n_inactive < 0) then
call fatal_error("Number of inactive batches must be non-negative.")
elseif (n_particles <= 0) then
call fatal_error("Number of particles must be greater than zero.")
end if
! Get number of particles
call get_node_value(node_mode, "particles", temp_long)
! If the number of particles was specified as a command-line argument, we
! don't set it here
if (n_particles == 0) n_particles = temp_long
! Copy batch information
call get_node_value(node_mode, "batches", n_batches)
if (.not. trigger_on) then
n_max_batches = n_batches
end if
n_active = n_batches
n_inactive = 0
gen_per_batch = 1
end if
! Check number of active batches, inactive batches, and particles
if (n_active <= 0) then
call fatal_error("Number of active batches must be greater than zero.")
elseif (n_inactive < 0) then
call fatal_error("Number of inactive batches must be non-negative.")
elseif (n_particles <= 0) then
call fatal_error("Number of particles must be greater than zero.")
end if
! Copy random number seed if specified
@ -380,7 +321,10 @@ contains
! Get point to list of <source> elements and make sure there is at least one
call get_node_list(doc, "source", node_source_list)
n = get_list_size(node_source_list)
if (n == 0) call fatal_error("No source specified in settings XML file.")
if (run_mode == MODE_EIGENVALUE .or. run_mode == MODE_FIXEDSOURCE) then
if (n == 0) call fatal_error("No source specified in settings XML file.")
end if
! Allocate array for sources
allocate(external_source(n))
@ -1093,6 +1037,86 @@ contains
end subroutine read_settings_xml
!===============================================================================
! GET_RUN_PARAMETERS
!===============================================================================
subroutine get_run_parameters(node_base)
type(Node), pointer :: node_base
integer(8) :: temp_long
character(MAX_LINE_LEN) :: temp_str
type(Node), pointer :: node_keff_trigger => null()
! Check number of particles
if (.not. check_for_node(node_base, "particles")) then
call fatal_error("Need to specify number of particles.")
end if
! Get number of particles
call get_node_value(node_base, "particles", temp_long)
! If the number of particles was specified as a command-line argument, we
! don't set it here
if (n_particles == 0) n_particles = temp_long
! Get number of basic batches
call get_node_value(node_base, "batches", n_batches)
if (.not. trigger_on) then
n_max_batches = n_batches
end if
n_inactive = 0
gen_per_batch = 1
! Get number of inactive batches
if (run_mode == MODE_EIGENVALUE) then
call get_node_value(node_base, "inactive", n_inactive)
if (check_for_node(node_base, "generations_per_batch")) then
call get_node_value(node_base, "generations_per_batch", gen_per_batch)
end if
! Allocate array for batch keff and entropy
allocate(k_generation(n_max_batches*gen_per_batch))
allocate(entropy(n_max_batches*gen_per_batch))
entropy = ZERO
! Get the trigger information for keff
if (check_for_node(node_base, "keff_trigger")) then
call get_node_ptr(node_base, "keff_trigger", node_keff_trigger)
if (check_for_node(node_keff_trigger, "type")) then
call get_node_value(node_keff_trigger, "type", temp_str)
temp_str = trim(to_lower(temp_str))
select case (temp_str)
case ('std_dev')
keff_trigger % trigger_type = STANDARD_DEVIATION
case ('variance')
keff_trigger % trigger_type = VARIANCE
case ('rel_err')
keff_trigger % trigger_type = RELATIVE_ERROR
case default
call fatal_error("Unrecognized keff trigger type " // temp_str)
end select
else
call fatal_error("Specify keff trigger type in settings XML")
end if
if (check_for_node(node_keff_trigger, "threshold")) then
call get_node_value(node_keff_trigger, "threshold", &
keff_trigger % threshold)
else
call fatal_error("Specify keff trigger threshold in settings XML")
end if
end if
end if
! Determine number of active batches
n_active = n_batches - n_inactive
end subroutine get_run_parameters
!===============================================================================
! READ_GEOMETRY_XML reads data from a geometry.xml file and parses it, checking
! for errors and placing properly-formatted data in the right data structures
@ -2227,6 +2251,13 @@ contains
call fatal_error("Must specify id of material in materials XML file")
end if
! Check if material is depletable
if (check_for_node(node_mat, "depletable")) then
call get_node_value(node_mat, "depletable", temp_str)
if (to_lower(temp_str) == "true" .or. temp_str == "1") &
mat % depletable = .true.
end if
! Check to make sure 'id' hasn't been used
if (material_dict % has_key(mat % id)) then
call fatal_error("Two or more materials use the same unique ID: " &

View file

@ -8,6 +8,7 @@ program main
use particle_restart, only: run_particle_restart
use plot, only: run_plot
use simulation, only: run_simulation
use volume_calc, only: run_volume_calculations
implicit none
@ -26,6 +27,8 @@ program main
call run_plot()
case (MODE_PARTICLE)
if (master) call run_particle_restart()
case (MODE_VOLUME)
call run_volume_calculations()
end select
! finalize run

View file

@ -31,8 +31,9 @@ module material_header
character(20), allocatable :: names(:) ! isotope names
character(20), allocatable :: sab_names(:) ! name of S(a,b) table
! Does this material contain fissionable nuclides?
! Does this material contain fissionable nuclides? Is it depletable?
logical :: fissionable = .false.
logical :: depletable = .false.
! enforce isotropic scattering in lab
logical, allocatable :: p0(:)

View file

@ -11,13 +11,15 @@ module simulation
use global
use message_passing
use output, only: write_message, header, print_columns, &
print_batch_keff, print_generation
print_batch_keff, print_generation, print_runtime, &
print_results, print_overlap_check, write_tallies
use particle_header, only: Particle
use random_lcg, only: set_particle_seed
use source, only: initialize_source, sample_external_source
use state_point, only: write_state_point, write_source_point
use string, only: to_str
use tally, only: synchronize_tallies, setup_active_usertallies
use tally, only: synchronize_tallies, setup_active_usertallies, &
tally_statistics
use trigger, only: check_triggers
use tracking, only: transport
use volume_calc, only: run_volume_calculations
@ -39,9 +41,6 @@ contains
type(Particle) :: p
integer(8) :: i_work
! Volume calculations
if (size(volume_calcs) > 0) call run_volume_calculations()
if (.not. restart_run) call initialize_source()
! Display header
@ -113,6 +112,8 @@ contains
if (master) call header("SIMULATION FINISHED", level=1)
call finalize_simulation()
! Clear particle
call p % clear()
@ -379,4 +380,52 @@ contains
end subroutine replay_batch_history
!===============================================================================
! FINALIZE_SIMULATION calculates tally statistics, writes tallies, and displays
! execution time and results
!===============================================================================
subroutine finalize_simulation
! Start finalization timer
call time_finalize%start()
! Calculate statistics for tallies and write to tallies.out
if (master) then
if (n_realizations > 1) call tally_statistics()
end if
if (output_tallies) then
if (master) call write_tallies()
end if
if (check_overlaps) call reduce_overlap_count()
! Stop timers and show timing statistics
call time_finalize%stop()
call time_total%stop()
if (master) then
call print_runtime()
call print_results()
if (check_overlaps) call print_overlap_check()
end if
end subroutine finalize_simulation
!===============================================================================
! REDUCE_OVERLAP_COUNT accumulates cell overlap check counts to master
!===============================================================================
subroutine reduce_overlap_count()
#ifdef MPI
if (master) then
call MPI_REDUCE(MPI_IN_PLACE, overlap_check_cnt, n_cells, &
MPI_INTEGER8, MPI_SUM, 0, mpi_intracomm, mpi_err)
else
call MPI_REDUCE(overlap_check_cnt, overlap_check_cnt, n_cells, &
MPI_INTEGER8, MPI_SUM, 0, mpi_intracomm, mpi_err)
end if
#endif
end subroutine reduce_overlap_count
end module simulation

View file

@ -536,6 +536,12 @@ contains
material_group = create_group(materials_group, "material " // &
trim(to_str(m%id)))
if (m % depletable) then
call write_attribute(material_group, "depletable", 1)
else
call write_attribute(material_group, "depletable", 0)
end if
! Write internal OpenMC index for this material
call write_dataset(material_group, "index", i)

View file

@ -42,11 +42,11 @@ contains
function timer_get_value(self) result(elapsed)
class(Timer), intent(in) :: self ! the timer
real(8) :: elapsed ! total elapsed time
real(8) :: elapsed ! total elapsed time
integer(8) :: end_counts ! current number of counts
integer(8) :: count_rate ! system-dependent counting rate
real :: elapsed_time ! elapsed time since last start
real(8) :: elapsed_time ! elapsed time since last start
if (self % running) then
call system_clock(end_counts, count_rate)

View file

@ -205,11 +205,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-32 -32 0 32 32 32</parameters>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for criticality calculation -->
<eigenvalue>
<batches>20</batches>
<inactive>10</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>20</batches>
<inactive>10</inactive>
<particles>1000</particles>
<!-- How verbose output should be -->
<verbosity value="7" />
@ -19,7 +18,7 @@
</space>
</source>
<!-- Shannon Entropy -->
<!-- Shannon Entropy -->
<entropy>
<dimension> 10 1 1 </dimension>
<lower_left> -10.0 -1.0 -1.0 </lower_left>

View file

@ -2,11 +2,10 @@
<settings>
<!-- Parameters for criticality calculation -->
<eigenvalue>
<batches>20</batches>
<inactive>10</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>20</batches>
<inactive>10</inactive>
<particles>1000</particles>
<!-- How verbose output should be -->
<verbosity value="7" />
@ -19,7 +18,7 @@
</space>
</source>
<!-- Shannon Entropy -->
<!-- Shannon Entropy -->
<entropy>
<dimension> 10 1 1 </dimension>
<lower_left> -10.0 -1.0 -1.0 </lower_left>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<confidence_intervals>true</confidence_intervals>
<eigenvalue>
<batches>10</batches>
<inactive>2</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>2</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -18,10 +18,9 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<fixed_source>
<particles>100</particles>
<batches>10</batches>
</fixed_source>
<run_mode>fixed source</run_mode>
<particles>100</particles>
<batches>10</batches>
<source strength="1.0">
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>3</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>3</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -37,11 +37,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>

View file

@ -1,12 +1,11 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>7</batches>
<inactive>3</inactive>
<particles>1000</particles>
<generations_per_batch>3</generations_per_batch>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>7</batches>
<inactive>3</inactive>
<particles>1000</particles>
<generations_per_batch>3</generations_per_batch>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>0</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>0</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -17,10 +17,9 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<fixed_source>
<particles>100</particles>
<batches>10</batches>
</fixed_source>
<run_mode>fixed source</run_mode>
<particles>100</particles>
<batches>10</batches>
<source strength="1.0">
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>

View file

@ -3,11 +3,10 @@
<log_grid_bins>20000</log_grid_bins>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,10 +1,9 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="point" parameters="0. 0. 0." />
</source>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>1</batches>
<inactive>0</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>1</batches>
<inactive>0</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>1</batches>
<inactive>0</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>1</batches>
<inactive>0</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>3</batches>
<inactive>0</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>3</batches>
<inactive>0</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -1,13 +1,12 @@
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>1</batches>
<inactive>0</inactive>
</eigenvalue>
<source>
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>
</space>
</source>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>1</batches>
<inactive>0</inactive>
<source>
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>
</space>
</source>
</settings>

View file

@ -298,11 +298,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -1,10 +1,9 @@
<?xml version="1.0"?>
<settings>
<fixed_source>
<batches>10</batches>
<particles>100</particles>
</fixed_source>
<run_mode>fixed source</run_mode>
<batches>10</batches>
<particles>100</particles>
<temperature_default>294</temperature_default>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -10,11 +10,10 @@
===============================================================
-->
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>500</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>500</particles>
<source>
<space type="box">

View file

@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>500</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>500</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -84,11 +84,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>0.0 0.0 0.0 10.0 10.0 5.0</parameters>

View file

@ -30,11 +30,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>0.0 0.0 0.0 10.0 10.0 5.0</parameters>

View file

@ -84,11 +84,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>0.0 0.0 0.0 10.0 10.0 5.0</parameters>

View file

@ -84,11 +84,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>0.0 0.0 0.0 10.0 10.0 5.0</parameters>

View file

@ -38,11 +38,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>

View file

@ -41,10 +41,9 @@ class MGXSTestHarness(PyAPITestHarness):
def _run_openmc(self):
# Initial run
if self._opts.mpi_exec is not None:
returncode = openmc.run(mpi_procs=self._opts.mpi_np,
openmc_exec=self._opts.exe,
mpi_exec=self._opts.mpi_exec)
mpi_args = [self._opts.mpi_exec, '-n', self._opts.mpi_np]
returncode = openmc.run(openmc_exec=self._opts.exe,
mpi_args=mpi_args)
else:
returncode = openmc.run(openmc_exec=self._opts.exe)
@ -74,10 +73,9 @@ class MGXSTestHarness(PyAPITestHarness):
# Re-run MG mode.
if self._opts.mpi_exec is not None:
returncode = openmc.run(mpi_procs=self._opts.mpi_np,
openmc_exec=self._opts.exe,
mpi_exec=self._opts.mpi_exec)
mpi_args = [self._opts.mpi_exec, '-n', self._opts.mpi_np]
returncode = openmc.run(openmc_exec=self._opts.exe,
mpi_args=mpi_args)
else:
returncode = openmc.run(openmc_exec=self._opts.exe)

View file

@ -38,11 +38,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>

View file

@ -65,11 +65,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-10.71 -10.71 -1 10.71 10.71 1</parameters>

View file

@ -38,11 +38,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -38,11 +38,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>

View file

@ -38,11 +38,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="fission">
<parameters>-0.63 -0.63 -1 0.63 0.63 1</parameters>

View file

@ -34,11 +34,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>5</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="box">
<parameters>-1 -1 -1 1 1 1</parameters>

View file

@ -3,11 +3,10 @@
<output summary="true" />
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>12</batches>
<inactive>5</inactive>
<particles>1200</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>12</batches>
<inactive>5</inactive>
<particles>1200</particles>
<source>
<space type="box">

View file

@ -1,10 +1,9 @@
<?xml version="1.0"?>
<settings>
<fixed_source>
<batches>12</batches>
<particles>1000</particles>
</fixed_source>
<run_mode>fixed source</run_mode>
<batches>12</batches>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -25,11 +25,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>4</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>4</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="box">
<parameters>-5.0 -5.0 -5.0 5.0 5.0 5.0</parameters>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<ptables>false</ptables>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="point" parameters="0. 0. 0." />

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -15,11 +15,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-4 -4 -4 4 4 4</parameters>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<seed>239407351</seed>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -13,11 +13,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>1000</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="0.5">
<space type="cartesian">
<x parameters="-3.0 3.0" type="uniform" />

View file

@ -4,11 +4,10 @@
<state_point batches="2 3 4 5 8"/>
<source_point batches="2 5 8"/>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<source_point batches="0" overwrite_latest="true"/>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -4,11 +4,10 @@
<state_point batches="7 10" />
<source_point batches="7" separate="true" />
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<state_point batches="3 6 9" />
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -3,11 +3,10 @@
<state_point batches="7 10" />
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -50,11 +50,10 @@ class StatepointRestartTestHarness(TestHarness):
# Run OpenMC
if self._opts.mpi_exec is not None:
returncode = openmc.run(mpi_procs=self._opts.mpi_np,
restart_file=statepoint,
mpi_args = [self._opts.mpi_exec, '-n', self._opts.mpi_np]
returncode = openmc.run(restart_file=statepoint,
openmc_exec=self._opts.exe,
mpi_exec=self._opts.mpi_exec)
mpi_args=mpi_args)
else:
returncode = openmc.run(openmc_exec=self._opts.exe,
restart_file=statepoint)

View file

@ -4,11 +4,10 @@
<state_point batches="10" />
<source_point separate="true" />
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -8,11 +8,10 @@
<weight_avg>1.2</weight_avg>
</cutoff>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>400</particles>
<batches>5</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>400</particles>
<batches>5</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space type="box">

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>100</particles>
<source>
<space>

View file

@ -297,11 +297,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source strength="1.0">
<space type="box">
<parameters>-160 -160 -183 160 160 183</parameters>

View file

@ -3,11 +3,10 @@
<trace>5 1 453</trace>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,19 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<!-- <cross_sections> -->
<!-- cross_sections.xml-->
<!-- </cross_sections>-->
<!-- Parameters for criticality calculation -->
<eigenvalue>
<batches>2</batches>
<inactive>0</inactive>
<particles>100</particles>
</eigenvalue>
<!-- How verbose output should be -->
<verbosity value="7" />
<run_mode>eigenvalue</run_mode>
<batches>2</batches>
<inactive>0</inactive>
<particles>100</particles>
<!-- Starting source -->
<source>
@ -26,5 +18,5 @@
1 1 1
1 1 2
</track>
</settings>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box">

View file

@ -1,14 +1,13 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>15</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.004</threshold>
</keff_trigger>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>15</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.004</threshold>
</keff_trigger>
<trigger>
<active>true</active>

View file

@ -1,14 +1,13 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>15</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.004</threshold>
</keff_trigger>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>15</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.004</threshold>
</keff_trigger>
<trigger>
<active>true</active>

View file

@ -1,20 +1,19 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.009</threshold>
</keff_trigger>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.009</threshold>
</keff_trigger>
<trigger>
<active>false</active>
<max_batches>15</max_batches>
<batch_interval>1</batch_interval>
</trigger>
<source>
<space>

View file

@ -1,14 +1,13 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.001</threshold>
</keff_trigger>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<keff_trigger>
<type>std_dev</type>
<threshold>0.001</threshold>
</keff_trigger>
<trigger>
<active>true</active>

View file

@ -430,11 +430,10 @@
</materials>
<?xml version='1.0' encoding='utf-8'?>
<settings>
<eigenvalue>
<particles>100</particles>
<batches>5</batches>
<inactive>0</inactive>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<particles>100</particles>
<batches>5</batches>
<inactive>0</inactive>
<source strength="1.0">
<space type="point">
<parameters>0.0 0.0 0.0</parameters>

View file

@ -1,11 +1,10 @@
<?xml version="1.0"?>
<settings>
<eigenvalue>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
</eigenvalue>
<run_mode>eigenvalue</run_mode>
<batches>10</batches>
<inactive>5</inactive>
<particles>1000</particles>
<source>
<space type="box" parameters="-10 -10 -10 10 10 10" />

Some files were not shown because too many files have changed in this diff Show more