Merge remote-tracking branch 'upstream/develop' into virtual_lattice_0.15.2

This commit is contained in:
skywalker_cn 2025-09-27 14:34:16 +00:00
commit 7daebf86de
307 changed files with 12832 additions and 11553 deletions

View file

@ -1,9 +1,12 @@
get_filename_component(OpenMC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY)
find_package(fmt REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../fmt)
find_package(pugixml REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../pugixml)
find_package(xtl REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtl)
find_package(xtensor REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtensor)
# Compute the install prefix from this file's location
get_filename_component(_OPENMC_PREFIX "${OpenMC_CMAKE_DIR}/../../.." ABSOLUTE)
find_package(fmt CONFIG REQUIRED HINTS ${_OPENMC_PREFIX})
find_package(pugixml CONFIG REQUIRED HINTS ${_OPENMC_PREFIX})
find_package(xtl CONFIG REQUIRED HINTS ${_OPENMC_PREFIX})
find_package(xtensor CONFIG REQUIRED HINTS ${_OPENMC_PREFIX})
if(@OPENMC_USE_DAGMC@)
find_package(DAGMC REQUIRED HINTS @DAGMC_DIR@)
endif()

View file

@ -84,6 +84,17 @@ Functions
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_get_density(int32_t index, const int32_t* instance, double* density)
Get the density of a cell
:param int32_t index: Index in the cells array
:param int32_t* instance: Which instance of the cell. If a null pointer is passed, the density
multiplier of the first instance is returned.
:param double* density: Density of the cell in [g/cm3]
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_set_fill(int32_t index, int type, int32_t n, const int32_t* indices)
Set the fill for a cell
@ -113,8 +124,22 @@ Functions
:param double T: Temperature in Kelvin
:param instance: Which instance of the cell. To set the temperature for all
instances, pass a null pointer.
:param set_contained: If the cell is not filled by a material, whether to set the temperatures
of all filled cells
:param bool set_contained: If the cell is not filled by a material, whether
to set the temperatures of all filled cells
:type instance: const int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_set_density(index index, double density, const int32_t* instance, bool set_contained)
Set the density of a cell.
:param int32_t index: Index in the cells array
:param double density: Density of the cell in [g/cm3]
:param instance: Which instance of the cell. To set the density multiplier for all
instances, pass a null pointer.
:param bool set_contained: If the cell is not filled by a material, whether
to set the density multiplier of all filled cells
:type instance: const int32_t*
:return: Return status (negative if an error occurred)
:rtype: int

View file

@ -121,9 +121,7 @@ pygments_style = 'tango'
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
html_baseurl = "https://docs.openmc.org/en/stable/"
html_logo = '_images/openmc_logo.png'

View file

@ -4,7 +4,7 @@
Properties File Format
======================
The current version of the properties file format is 1.0.
The current version of the properties file format is 1.1.
**/**
@ -25,6 +25,7 @@ The current version of the properties file format is 1.0.
**/geometry/cells/cell <uid>/**
:Datasets: - **temperature** (*double[]*) -- Temperature of the cell in [K].
- **density** (*double[]*) -- Density of the cell in [g/cm3].
**/materials/**

View file

@ -4,7 +4,7 @@
Summary File Format
===================
The current version of the summary file format is 6.0.
The current version of the summary file format is 6.1.
**/**
@ -38,6 +38,7 @@ The current version of the summary file format is 6.0.
is an array if the cell uses distributed materials, otherwise it is
a scalar.
- **temperature** (*double[]*) -- Temperature of the cell in Kelvin.
- **density** (*double[]*) -- Density of the cell in [g/cm3].
- **translation** (*double[3]*) -- Translation applied to the fill
universe. This dataset is present only if fill_type is set to
'universe'.

View file

@ -290,7 +290,10 @@ create and store fission sites for the following generation. First, the average
number of prompt and delayed neutrons must be determined to decide whether the
secondary neutrons will be prompt or delayed. This is important because delayed
neutrons have a markedly different spectrum from prompt neutrons, one that has a
lower average energy of emission. The total number of neutrons emitted
lower average energy of emission. Furthermore, in simulations where tracking
time of neutrons is important, we need to consider the emission time delay of
the secondary neutrons, which is dependent on the decay constant of the
delayed neutron precursor. The total number of neutrons emitted
:math:`\nu_t` is given as a function of incident energy in the ENDF format. Two
representations exist for :math:`\nu_t`. The first is a polynomial of order
:math:`N` with coefficients :math:`c_0,c_1,\dots,c_N`. If :math:`\nu_t` has this
@ -306,8 +309,8 @@ interpolation law. The number of prompt neutrons released per fission event
:math:`\nu_p` is also given as a function of incident energy and can be
specified in a polynomial or tabular format. The number of delayed neutrons
released per fission event :math:`\nu_d` can only be specified in a tabular
format. In practice, we only need to determine :math:`nu_t` and
:math:`nu_d`. Once these have been determined, we can calculated the delayed
format. In practice, we only need to determine :math:`\nu_t` and
:math:`\nu_d`. Once these have been determined, we can calculate the delayed
neutron fraction
.. math::
@ -335,8 +338,14 @@ neutrons. Otherwise, we produce :math:`\lfloor \nu \rfloor + 1` neutrons. Then,
for each fission site produced, we sample the outgoing angle and energy
according to the algorithms given in :ref:`sample-angle` and
:ref:`sample-energy` respectively. If the neutron is to be born delayed, then
there is an extra step of sampling a delayed neutron precursor group since they
each have an associated secondary energy distribution.
there is an extra step of sampling a delayed neutron precursor group to get the
associated secondary energy distribution and the decay constant
:math:`\lambda`, which is needed to sample the emission delay time :math:`t_d`:
.. math::
:label: sample-delay-time
t_d = -\frac{\ln \xi}{\lambda}.
The sampled outgoing angle and energy of fission neutrons along with the
position of the collision site are stored in an array called the fission

View file

@ -67,6 +67,23 @@ are needed to compute kinetics parameters in OpenMC:
Obtaining kinetics parameters
-----------------------------
The ``Model`` class can be used to automatically generate all IFP tallies using
the Python API with :attr:`openmc.Settings.ifp_n_generation` greater than 0 and
the :meth:`openmc.Model.add_ifp_kinetics_tallies` method::
model = openmc.Model(geometry, settings=settings)
model.add_kinetics_parameters_tallies(num_groups=6) # Add 6 precursor groups
Alternatively, each of the tallies can be manually defined using group-wise or
total :math:`\beta_{\text{eff}}` specified by providing a 6-group
:class:`openmc.DelayedGroupFilter`::
beta_tally = openmc.Tally(name="group-beta-score")
beta_tally.scores = ["ifp-beta-numerator"]
# Add DelayedGroupFilter to enable group-wise tallies
beta_tally.filters = [openmc.DelayedGroupFilter(list(range(1, 7)))]
Here is an example showing how to declare the three available IFP scores in a
single tally::
@ -95,6 +112,12 @@ for ``ifp-denominator``:
\beta_{\text{eff}} = \frac{S_{\text{ifp-beta-numerator}}}{S_{\text{ifp-denominator}}}
The kinetics parameters can be retrieved directly from a statepoint file using
the :meth:`openmc.StatePoint.ifp_results` method::
with openmc.StatePoint(output_path) as sp:
generation_time, beta_eff = sp.get_kinetics_parameters()
.. only:: html
.. rubric:: References
@ -107,4 +130,4 @@ for ``ifp-denominator``:
of the Iterated Fission Probability Method in OpenMC to Compute Adjoint-Weighted
Kinetics Parameters", International Conference on Mathematics and Computational
Methods Applied to Nuclear Science and Engineering (M&C 2025), Denver, April 27-30,
2025 (to be presented).
2025.

View file

@ -0,0 +1,101 @@
import matplotlib.pyplot as plt
import numpy as np
import openmc
###############################################################################
# Create materials for the problem
uo2 = openmc.Material(name="UO2 fuel at 2.4% wt enrichment")
uo2.set_density("g/cm3", 10.29769)
uo2.add_element("U", 1.0, enrichment=2.4)
uo2.add_element("O", 2.0)
helium = openmc.Material(name="Helium for gap")
helium.set_density("g/cm3", 0.001598)
helium.add_element("He", 2.4044e-4)
zircaloy = openmc.Material(name="Zircaloy 4")
zircaloy.set_density("g/cm3", 6.55)
zircaloy.add_element("Sn", 0.014, "wo")
zircaloy.add_element("Fe", 0.00165, "wo")
zircaloy.add_element("Cr", 0.001, "wo")
zircaloy.add_element("Zr", 0.98335, "wo")
borated_water = openmc.Material(name="Borated water")
borated_water.set_density("g/cm3", 0.740582)
borated_water.add_element("B", 2.0e-4) # 3x the original pincell
borated_water.add_element("H", 5.0e-2)
borated_water.add_element("O", 2.4e-2)
borated_water.add_s_alpha_beta("c_H_in_H2O")
###############################################################################
# Define problem geometry
# Create cylindrical surfaces
fuel_or = openmc.ZCylinder(r=0.39218, name="Fuel OR")
clad_ir = openmc.ZCylinder(r=0.40005, name="Clad IR")
clad_or = openmc.ZCylinder(r=0.45720, name="Clad OR")
# Create a region represented as the inside of a rectangular prism
pitch = 1.25984
box = openmc.model.RectangularPrism(pitch, pitch, boundary_type="reflective")
# Create cells, mapping materials to regions
fuel = openmc.Cell(fill=uo2, region=-fuel_or)
gap = openmc.Cell(fill=helium, region=+fuel_or & -clad_ir)
clad = openmc.Cell(fill=zircaloy, region=+clad_ir & -clad_or)
water = openmc.Cell(fill=borated_water, region=+clad_or & -box)
# Create a model and assign geometry
model = openmc.Model()
model.geometry = openmc.Geometry([fuel, gap, clad, water])
###############################################################################
# Define problem settings
# Set the mode
model.settings.run_mode = "fixed source"
# Indicate how many batches and particles to run
model.settings.batches = 10
model.settings.particles = 10000
# Set time cutoff (we only care about t < 100 seconds, see tally below)
model.settings.cutoff = {"time_neutron": 100}
# Create the neutron pulse source (by default, isotropic direction, t=0)
space = openmc.stats.Point() # At the origin (0, 0, 0)
energy = openmc.stats.delta_function(14.1e6) # At 14.1 MeV
model.settings.source = openmc.IndependentSource(space=space, energy=energy)
###############################################################################
# Define tallies
# Create time filter
t_grid = np.insert(np.logspace(-6, 2, 100), 0, 0.0)
time_filter = openmc.TimeFilter(t_grid)
# Tally for total neutron density in time
density_tally = openmc.Tally(name="Density")
density_tally.filters = [time_filter]
density_tally.scores = ["inverse-velocity"]
# Add tallies to model
model.tallies = openmc.Tallies([density_tally])
# Run the model
model.run(apply_tally_results=True)
# Bin-averaged result
density_mean = density_tally.mean.ravel() / np.diff(t_grid)
# Plot particle density versus time
fig, ax = plt.subplots()
ax.stairs(density_mean, t_grid)
ax.set_xscale("log")
ax.set_yscale("log")
ax.set_xlabel("Time [s]")
ax.set_ylabel("Total density")
ax.grid()
plt.show()

View file

@ -17,6 +17,8 @@ int openmc_cell_get_fill(
int openmc_cell_get_id(int32_t index, int32_t* id);
int openmc_cell_get_temperature(
int32_t index, const int32_t* instance, double* T);
int openmc_cell_get_density(
int32_t index, const int32_t* instance, double* rho);
int openmc_cell_get_translation(int32_t index, double xyz[]);
int openmc_cell_get_rotation(int32_t index, double rot[], size_t* n);
int openmc_cell_get_name(int32_t index, const char** name);
@ -27,6 +29,8 @@ int openmc_cell_set_fill(
int openmc_cell_set_id(int32_t index, int32_t id);
int openmc_cell_set_temperature(
int32_t index, double T, const int32_t* instance, bool set_contained = false);
int openmc_cell_set_density(int32_t index, double rho, const int32_t* instance,
bool set_contained = false);
int openmc_cell_set_translation(int32_t index, const double xyz[]);
int openmc_cell_set_rotation(int32_t index, const double rot[], size_t rot_len);
int openmc_dagmc_universe_get_cell_ids(

View file

@ -216,6 +216,18 @@ public:
//! \return Temperature in [K]
double temperature(int32_t instance = -1) const;
//! Get the density multiplier of a cell instance
//! \param[in] instance Instance index. If -1 is given, the density multiplier
//! for the first instance is returned.
//! \return Density multiplier
double density_mult(int32_t instance = -1) const;
//! Get the density of a cell instance in g/cm3
//! \param[in] instance Instance index. If -1 is given, the density
//! for the first instance is returned.
//! \return Density in [g/cm3]
double density(int32_t instance = -1) const;
//! Set the temperature of a cell instance
//! \param[in] T Temperature in [K]
//! \param[in] instance Instance index. If -1 is given, the temperature for
@ -226,6 +238,16 @@ public:
void set_temperature(
double T, int32_t instance = -1, bool set_contained = false);
//! Set the density of a cell instance
//! \param[in] density Density [g/cm3]
//! \param[in] instance Instance index. If -1 is given, the density
//! for all instances is set.
//! \param[in] set_contained If this cell is not filled with a material,
//! collect all contained cells with material fills and set their
//! densities.
void set_density(
double density, int32_t instance = -1, bool set_contained = false);
int32_t n_instances() const;
//! Set the rotation matrix of a cell instance
@ -341,6 +363,9 @@ public:
//! T. The units are sqrt(eV).
vector<double> sqrtkT_;
//! \brief Unitless density multiplier(s) within this cell.
vector<double> density_mult_;
//! \brief Neighboring cells in the same universe.
NeighborList neighbors_;

View file

@ -28,11 +28,11 @@ constexpr int HDF5_VERSION[] {3, 0};
constexpr array<int, 2> VERSION_STATEPOINT {18, 1};
constexpr array<int, 2> VERSION_PARTICLE_RESTART {2, 0};
constexpr array<int, 2> VERSION_TRACK {3, 0};
constexpr array<int, 2> VERSION_SUMMARY {6, 0};
constexpr array<int, 2> VERSION_SUMMARY {6, 1};
constexpr array<int, 2> VERSION_VOLUME {1, 0};
constexpr array<int, 2> VERSION_VOXEL {2, 0};
constexpr array<int, 2> VERSION_MGXS_LIBRARY {1, 0};
constexpr array<int, 2> VERSION_PROPERTIES {1, 0};
constexpr array<int, 2> VERSION_PROPERTIES {1, 1};
constexpr array<int, 2> VERSION_WEIGHT_WINDOWS {1, 0};
// ============================================================================

View file

@ -37,6 +37,12 @@ void adjust_indices();
void assign_temperatures();
//==============================================================================
//! Finalize densities (compute density multipliers).
//==============================================================================
void finalize_cell_densities();
//==============================================================================
//! \brief Obtain a list of temperatures that each nuclide/thermal scattering
//! table appears at in the model. Later, this list is used to determine the

View file

@ -68,15 +68,14 @@ vector<T> _ifp(const T& value, const vector<T>& data)
//!
//! Add the IFP information in the IFP banks using the same index
//! as the one used to append the fission site to the fission bank.
//! The information stored are the delayed group number and lifetime
//! of the neutron that created the fission event.
//! Multithreading protection is guaranteed by the index returned by the
//! thread_safe_append call in physics.cpp.
//!
//! Needs to be done after the delayed group is found.
//!
//! \param[in] p Particle
//! \param[in] site Fission site
//! \param[in] idx Bank index from the thread_safe_append call in physics.cpp
void ifp(const Particle& p, const SourceSite& site, int64_t idx);
void ifp(const Particle& p, int64_t idx);
//! Resize the IFP banks used in the simulation
void resize_simulation_ifp_banks();

View file

@ -99,6 +99,13 @@ public:
//----------------------------------------------------------------------------
// Accessors
//! Get the atom density in [atom/b-cm]
//! \return Density in [atom/b-cm]
double atom_density(int32_t i, double rho_multiplier = 1.0) const
{
return atom_density_(i) * rho_multiplier;
}
//! Get density in [atom/b-cm]
//! \return Density in [atom/b-cm]
double density() const { return density_; }

View file

@ -666,9 +666,8 @@ class UnstructuredMesh : public Mesh {
public:
// Constructors
UnstructuredMesh() {};
UnstructuredMesh() { n_dimension_ = 3; };
UnstructuredMesh(pugi::xml_node node);
UnstructuredMesh(const std::string& filename);
static const std::string mesh_type;
virtual std::string get_mesh_type() const override;
@ -991,25 +990,26 @@ public:
libMesh::MeshBase* mesh_ptr() const { return m_; };
protected:
// Methods
//! Translate a bin value to an element reference
virtual const libMesh::Elem& get_element_from_bin(int bin) const;
//! Translate an element pointer to a bin index
virtual int get_bin_from_element(const libMesh::Elem* elem) const;
libMesh::MeshBase* m_; //!< pointer to libMesh MeshBase instance, always set
//!< during intialization
private:
void initialize() override;
void set_mesh_pointer_from_filename(const std::string& filename);
void build_eqn_sys();
// Methods
//! Translate a bin value to an element reference
const libMesh::Elem& get_element_from_bin(int bin) const;
//! Translate an element pointer to a bin index
int get_bin_from_element(const libMesh::Elem* elem) const;
// Data members
unique_ptr<libMesh::MeshBase> unique_m_ =
nullptr; //!< pointer to the libMesh MeshBase instance, only used if mesh is
//!< created inside OpenMC
libMesh::MeshBase* m_; //!< pointer to libMesh MeshBase instance, always set
//!< during intialization
vector<unique_ptr<libMesh::PointLocatorBase>>
pl_; //!< per-thread point locators
unique_ptr<libMesh::EquationSystems>
@ -1023,8 +1023,34 @@ private:
libMesh::BoundingBox bbox_; //!< bounding box of the mesh
libMesh::dof_id_type
first_element_id_; //!< id of the first element in the mesh
};
class AdaptiveLibMesh : public LibMesh {
public:
// Constructor
AdaptiveLibMesh(
libMesh::MeshBase& input_mesh, double length_multiplier = 1.0);
// Overridden methods
int n_bins() const override;
void add_score(const std::string& var_name) override;
void set_score_data(const std::string& var_name, const vector<double>& values,
const vector<double>& std_dev) override;
void write(const std::string& filename) const override;
protected:
// Overridden methods
int get_bin_from_element(const libMesh::Elem* elem) const override;
const libMesh::Elem& get_element_from_bin(int bin) const override;
private:
// Data members
const libMesh::dof_id_type num_active_; //!< cached number of active elements
const bool adaptive_; //!< whether this mesh has adaptivity enabled or not
std::vector<libMesh::dof_id_type>
bin_to_elem_map_; //!< mapping bin indices to dof indices for active
//!< elements

View file

@ -419,6 +419,34 @@ public:
return sqrtkT_last_;
}
// density multiplier of the current and last cell
double& density_mult()
{
return density_mult_;
}
const double& density_mult() const
{
return density_mult_;
}
double& density_mult_last()
{
return density_mult_last_;
}
// density multiplier of the current and last cell
double& density_mult()
{
return density_mult_;
}
const double& density_mult() const
{
return density_mult_;
}
double& density_mult_last()
{
return density_mult_last_;
}
private:
int64_t id_ {-1}; //!< Unique ID
@ -447,6 +475,9 @@ private:
double sqrtkT_ {-1.0}; //!< sqrt(k_Boltzmann * temperature) in eV
double sqrtkT_last_ {0.0}; //!< last temperature
double density_mult_ {1.0}; //!< density multiplier
double density_mult_last_ {1.0}; //!< last density multiplier
double collision_distance_ {INFTY};
#ifdef OPENMC_DAGMC_ENABLED
@ -653,6 +684,7 @@ public:
int& event_mt() { return event_mt_; } // MT number of collision
const int& event_mt() const { return event_mt_; }
int& delayed_group() { return delayed_group_; } // delayed group
const int& delayed_group() const { return delayed_group_; }
const int& parent_nuclide() const { return parent_nuclide_; }
int& parent_nuclide() { return parent_nuclide_; } // Parent nuclide

View file

@ -150,6 +150,7 @@ extern double source_rejection_fraction; //!< Minimum fraction of source sites
extern int
max_history_splits; //!< maximum number of particle splits for weight windows
extern int max_secondaries; //!< maximum number of secondaries in the bank
extern int64_t ssw_max_particles; //!< maximum number of particles to be
//!< banked on surfaces per process
extern int64_t ssw_max_files; //!< maximum number of surface source files

View file

@ -203,11 +203,14 @@ extern vector<unique_ptr<Tally>> tallies;
extern vector<int> active_tallies;
extern vector<int> active_analog_tallies;
extern vector<int> active_tracklength_tallies;
extern vector<int> active_timed_tracklength_tallies;
extern vector<int> active_collision_tallies;
extern vector<int> active_meshsurf_tallies;
extern vector<int> active_surface_tallies;
extern vector<int> active_pulse_height_tallies;
extern vector<int> pulse_height_cells;
extern vector<double> time_grid;
} // namespace model
namespace simulation {
@ -239,6 +242,13 @@ void read_tallies_xml(pugi::xml_node root);
//! batch to a new random variable
void accumulate_tallies();
//! Determine distance to next time boundary
//
//! \param time Current time of particle
//! \param speed Speed of particle
//! \return Distance to next time boundary (or INFTY if none)
double distance_to_time_boundary(double time, double speed);
//! Determine which tallies should be active
void setup_active_tallies();

View file

@ -91,6 +91,16 @@ void score_analog_tally_mg(Particle& p);
//! \param distance The distance in [cm] traveled by the particle
void score_tracklength_tally(Particle& p, double distance);
//! Score time filtered tallies using a tracklength estimate of the flux.
//
//! This is triggered at every event (surface crossing, lattice crossing, or
//! collision) and thus cannot be done for tallies that require post-collision
//! information.
//
//! \param p The particle being tracked
//! \param total_distance The distance in [cm] traveled by the particle
void score_timed_tracklength_tally(Particle& p, double total_distance);
//! Score surface or mesh-surface tallies for particle currents.
//
//! \param p The particle being tracked

View file

@ -72,6 +72,10 @@ class Cell(IDManagerMixin):
temperature : float or iterable of float
Temperature of the cell in Kelvin. Multiple temperatures can be given
to give each distributed cell instance a unique temperature.
density : float or iterable of float
Density of the cell in [g/cm3]. Multiple densities can be given to give
each distributed cell instance a unique density. Densities set here will
override the density set on materials used to fill the cell.
translation : Iterable of float
If the cell is filled with a universe, this array specifies a vector
that is used to translate (shift) the universe.
@ -109,6 +113,7 @@ class Cell(IDManagerMixin):
self._rotation = None
self._rotation_matrix = None
self._temperature = None
self._density = None
self._translation = None
self._paths = None
self._num_instances = None
@ -146,6 +151,7 @@ class Cell(IDManagerMixin):
if self.fill_type == 'material':
string += '\t{0: <15}=\t{1}\n'.format('Temperature',
self.temperature)
string += '\t{0: <15}=\t{1}\n'.format('Density', self.density)
string += '{: <16}=\t{}\n'.format('\tTranslation', self.translation)
string += '{: <16}=\t{}\n'.format('\tVolume', self.volume)
@ -262,6 +268,30 @@ class Cell(IDManagerMixin):
else:
self._temperature = temperature
@property
def density(self):
return self._density
@density.setter
def density(self, density):
# Make sure densities are greater than zero
cv.check_type('cell density', density, (Iterable, Real), none_ok=True)
if isinstance(density, Iterable):
cv.check_type('cell density', density, Iterable, Real)
for rho in density:
cv.check_greater_than('cell density', rho, 0.0, True)
elif isinstance(density, Real):
cv.check_greater_than('cell density', density, 0.0, True)
# If this cell is filled with a universe or lattice, propagate
# densities to all cells contained. Otherwise, simply assign it.
if self.fill_type in ('universe', 'lattice'):
for c in self.get_all_cells().values():
if c.fill_type == 'material':
c._density = density
else:
self._density = density
@property
def translation(self):
return self._translation
@ -530,6 +560,8 @@ class Cell(IDManagerMixin):
clone.volume = self.volume
if self.temperature is not None:
clone.temperature = self.temperature
if self.density is not None:
clone.density = self.density
if self.translation is not None:
clone.translation = self.translation
if self.rotation is not None:
@ -662,6 +694,12 @@ class Cell(IDManagerMixin):
else:
element.set("temperature", str(self.temperature))
if self.density is not None:
if isinstance(self.density, Iterable):
element.set("density", ' '.join(str(t) for t in self.density))
else:
element.set("density", str(self.density))
if self.translation is not None:
element.set("translation", ' '.join(map(str, self.translation)))
@ -723,10 +761,13 @@ class Cell(IDManagerMixin):
c.temperature = temperature
else:
c.temperature = temperature[0]
density = get_elem_list(elem, 'density', float)
if density is not None:
c.density = density if len(density) > 1 else density[0]
v = get_text(elem, 'volume')
if v is not None:
c.volume = float(v)
for key in ('temperature', 'rotation', 'translation'):
for key in ('temperature', 'density', 'rotation', 'translation'):
values = get_elem_list(elem, key, float)
if values is not None:
if key == 'rotation' and len(values) == 9:

View file

@ -12,6 +12,7 @@ from copy import deepcopy
from inspect import signature
from numbers import Real, Integral
from pathlib import Path
from textwrap import dedent
import time
from typing import Optional, Union, Sequence
from warnings import warn
@ -526,7 +527,7 @@ class Integrator(ABC):
r"""Abstract class for solving the time-integration for depletion
"""
_params = r"""
_params = dedent(r"""
Parameters
----------
operator : openmc.deplete.abc.TransportOperator
@ -617,7 +618,7 @@ class Integrator(ABC):
.. versionadded:: 0.15.3
"""
""")
def __init__(
self,
@ -1020,7 +1021,7 @@ class SIIntegrator(Integrator):
the number of particles used in initial transport calculation
"""
_params = r"""
_params = dedent(r"""
Parameters
----------
operator : openmc.deplete.abc.TransportOperator
@ -1108,7 +1109,7 @@ class SIIntegrator(Integrator):
.. versionadded:: 0.12
"""
""")
def __init__(
self,

View file

@ -627,9 +627,15 @@ class Chain:
"""
reactions = set()
# Use DOK matrix as intermediate representation for matrix
n = len(self)
matrix = sp.dok_matrix((n, n))
# we accumulate indices and value entries for everything and create the matrix
# in one step at the end to avoid expensive index checks scipy otherwise does.
rows, cols, vals = [], [], []
def setval(i, j, val):
rows.append(i)
cols.append(j)
vals.append(val)
if fission_yields is None:
fission_yields = self.get_default_fission_yields()
@ -639,7 +645,7 @@ class Chain:
if nuc.half_life is not None:
decay_constant = math.log(2) / nuc.half_life
if decay_constant != 0.0:
matrix[i, i] -= decay_constant
setval(i, i, -decay_constant)
# Gain from radioactive decay
if nuc.n_decay_modes != 0:
@ -650,19 +656,19 @@ class Chain:
if branch_val != 0.0:
if target is not None:
k = self.nuclide_dict[target]
matrix[k, i] += branch_val
setval(k, i, branch_val)
# Produce alphas and protons from decay
if 'alpha' in decay_type:
k = self.nuclide_dict.get('He4')
if k is not None:
count = decay_type.count('alpha')
matrix[k, i] += count * branch_val
setval(k, i, count * branch_val)
elif 'p' in decay_type:
k = self.nuclide_dict.get('H1')
if k is not None:
count = decay_type.count('p')
matrix[k, i] += count * branch_val
setval(k, i, count * branch_val)
if nuc.name in rates.index_nuc:
# Extract all reactions for this nuclide in this cell
@ -679,13 +685,13 @@ class Chain:
if r_type not in reactions:
reactions.add(r_type)
if path_rate != 0.0:
matrix[i, i] -= path_rate
setval(i, i, -path_rate)
# Gain term; allow for total annihilation for debug purposes
if r_type != 'fission':
if target is not None and path_rate != 0.0:
k = self.nuclide_dict[target]
matrix[k, i] += path_rate * br
setval(k, i, path_rate * br)
# Determine light nuclide production, e.g., (n,d) should
# produce H2
@ -693,20 +699,20 @@ class Chain:
for light_nuc in light_nucs:
k = self.nuclide_dict.get(light_nuc)
if k is not None:
matrix[k, i] += path_rate * br
setval(k, i, path_rate * br)
else:
for product, y in fission_yields[nuc.name].items():
yield_val = y * path_rate
if yield_val != 0.0:
k = self.nuclide_dict[product]
matrix[k, i] += yield_val
setval(k, i, yield_val)
# Clear set of reactions
reactions.clear()
# Return CSC representation instead of DOK
return matrix.tocsc()
return sp.csc_matrix((vals, (rows, cols)), shape=(n, n))
def form_rr_term(self, tr_rates, current_timestep, mats):
"""Function to form the transfer rate term matrices.

View file

@ -22,7 +22,6 @@ class PredictorIntegrator(Integrator):
.. math::
\mathbf{n}_{i+1} = \exp\left(h\mathbf{A}(\mathbf{n}_i) \right) \mathbf{n}_i
"""
_num_stages = 1

View file

@ -366,7 +366,7 @@ class ExternalSourceRates(ExternalRates):
rate : float
External source rate in units of mass per time. A positive or
negative value corresponds to a feed or removal rate, respectively.
units : {'g/s', 'g/min', 'g/h', 'g/d', 'g/a'}
rate_units : {'g/s', 'g/min', 'g/h', 'g/d', 'g/a'}
Units for values specified in the `rate` argument. 's' for seconds,
'min' for minutes, 'h' for hours, 'a' for Julian years.
timesteps : list of int, optional

View file

@ -34,6 +34,10 @@ _dll.openmc_cell_get_temperature.argtypes = [
c_int32, POINTER(c_int32), POINTER(c_double)]
_dll.openmc_cell_get_temperature.restype = c_int
_dll.openmc_cell_get_temperature.errcheck = _error_handler
_dll.openmc_cell_get_density.argtypes = [
c_int32, POINTER(c_int32), POINTER(c_double)]
_dll.openmc_cell_get_density.restype = c_int
_dll.openmc_cell_get_density.errcheck = _error_handler
_dll.openmc_cell_get_name.argtypes = [c_int32, POINTER(c_char_p)]
_dll.openmc_cell_get_name.restype = c_int
_dll.openmc_cell_get_name.errcheck = _error_handler
@ -58,6 +62,10 @@ _dll.openmc_cell_set_temperature.argtypes = [
c_int32, c_double, POINTER(c_int32), c_bool]
_dll.openmc_cell_set_temperature.restype = c_int
_dll.openmc_cell_set_temperature.errcheck = _error_handler
_dll.openmc_cell_set_density.argtypes = [
c_int32, c_double, POINTER(c_int32), c_bool]
_dll.openmc_cell_set_density.restype = c_int
_dll.openmc_cell_set_density.errcheck = _error_handler
_dll.openmc_cell_set_translation.argtypes = [c_int32, POINTER(c_double)]
_dll.openmc_cell_set_translation.restype = c_int
_dll.openmc_cell_set_translation.errcheck = _error_handler
@ -236,6 +244,44 @@ class Cell(_FortranObjectWithID):
_dll.openmc_cell_set_temperature(self._index, T, instance, set_contained)
def get_density(self, instance: int | None = None):
"""Get the density of a cell in [g/cm3]
Parameters
----------
instance : int or None
Which instance of the cell
"""
if instance is not None:
instance = c_int32(instance)
rho = c_double()
_dll.openmc_cell_get_density(self._index, instance, rho)
return rho.value
def set_density(self, rho: float, instance: int | None = None,
set_contained: bool = False):
"""Set the density of a cell
Parameters
----------
rho : float
Density of the cell in [g/cm3]
instance : int or None
Which instance of the cell
set_contained : bool
If cell is not filled by a material, whether to set the density
of all filled cells
"""
if instance is not None:
instance = c_int32(instance)
_dll.openmc_cell_set_density(self._index, rho, instance, set_contained)
@property
def translation(self):
translation = np.zeros(3)

View file

@ -287,6 +287,7 @@ class MeshBase(IDManagerMixin, ABC):
model: openmc.Model,
n_samples: int | tuple[int, int, int] = 10_000,
include_void: bool = True,
material_volumes: MeshMaterialVolumes | None = None,
**kwargs
) -> list[openmc.Material]:
"""Generate homogenized materials over each element in a mesh.
@ -305,8 +306,12 @@ class MeshBase(IDManagerMixin, ABC):
the x, y, and z dimensions.
include_void : bool, optional
Whether homogenization should include voids.
material_volumes : MeshMaterialVolumes, optional
Previously computed mesh material volumes to use for homogenization.
If not provided, they will be computed by calling
:meth:`material_volumes`.
**kwargs
Keyword-arguments passed to :meth:`MeshBase.material_volumes`.
Keyword-arguments passed to :meth:`material_volumes`.
Returns
-------
@ -314,7 +319,10 @@ class MeshBase(IDManagerMixin, ABC):
Homogenized material in each mesh element
"""
vols = self.material_volumes(model, n_samples, **kwargs)
if material_volumes is None:
vols = self.material_volumes(model, n_samples, **kwargs)
else:
vols = material_volumes
mat_volume_by_element = [vols.by_element(i) for i in range(vols.num_elements)]
# Create homogenized material for each element
@ -424,7 +432,6 @@ class MeshBase(IDManagerMixin, ABC):
# Restore original tallies
model.tallies = original_tallies
return volumes

View file

@ -2,6 +2,7 @@ import copy
from numbers import Integral
import os
import warnings
from textwrap import dedent
import h5py
import numpy as np
@ -164,7 +165,7 @@ class MGXS:
"""
_params = """
_params = dedent("""
Parameters
----------
domain : openmc.Material or openmc.Cell or openmc.Universe or openmc.RegularMesh
@ -251,7 +252,7 @@ class MGXS:
.. versionadded:: 0.13.1
"""
""")
# Store whether or not the number density should be removed for microscopic
# values of this data

View file

@ -1,7 +1,7 @@
from __future__ import annotations
from collections.abc import Iterable, Sequence
import copy
from functools import lru_cache
from functools import cache
from pathlib import Path
import math
from numbers import Integral, Real
@ -160,7 +160,7 @@ class Model:
return False
@property
@lru_cache(maxsize=None)
@cache
def _materials_by_id(self) -> dict:
"""Dictionary mapping material ID --> material"""
if self.materials:
@ -170,14 +170,14 @@ class Model:
return {mat.id: mat for mat in mats}
@property
@lru_cache(maxsize=None)
@cache
def _cells_by_id(self) -> dict:
"""Dictionary mapping cell ID --> cell"""
cells = self.geometry.get_all_cells()
return {cell.id: cell for cell in cells.values()}
@property
@lru_cache(maxsize=None)
@cache
def _cells_by_name(self) -> dict[int, openmc.Cell]:
# Get the names maps, but since names are not unique, store a set for
# each name key. In this way when the user requests a change by a name,
@ -190,7 +190,7 @@ class Model:
return result
@property
@lru_cache(maxsize=None)
@cache
def _materials_by_name(self) -> dict[int, openmc.Material]:
if self.materials is None:
mats = self.geometry.get_all_materials().values()
@ -203,6 +203,37 @@ class Model:
result[mat.name].add(mat)
return result
def add_kinetics_parameters_tallies(self, num_groups: int | None = None):
"""Add tallies for calculating kinetics parameters using the IFP method.
This method adds tallies to the model for calculating two kinetics
parameters, the generation time and the effective delayed neutron
fraction (beta effective). After a model is run, these parameters can be
determined through the :meth:`openmc.StatePoint.ifp_results` method.
Parameters
----------
num_groups : int, optional
Number of precursor groups to filter the delayed neutron fraction.
If None, only the total effective delayed neutron fraction is
tallied.
"""
if not any('ifp-time-numerator' in t.scores for t in self.tallies):
gen_time_tally = openmc.Tally(name='IFP time numerator')
gen_time_tally.scores = ['ifp-time-numerator']
self.tallies.append(gen_time_tally)
if not any('ifp-beta-numerator' in t.scores for t in self.tallies):
beta_tally = openmc.Tally(name='IFP beta numerator')
beta_tally.scores = ['ifp-beta-numerator']
if num_groups is not None:
beta_tally.filters = [openmc.DelayedGroupFilter(list(range(1, num_groups + 1)))]
self.tallies.append(beta_tally)
if not any('ifp-denominator' in t.scores for t in self.tallies):
denom_tally = openmc.Tally(name='IFP denominator')
denom_tally.scores = ['ifp-denominator']
self.tallies.append(denom_tally)
@classmethod
def from_xml(
cls,
@ -633,7 +664,7 @@ class Model:
raise ValueError("Number of cells in properties file doesn't "
"match current model.")
# Update temperatures for cells filled with materials
# Update temperatures and densities for cells filled with materials
for name, group in cells_group.items():
cell_id = int(name.split()[1])
cell = cells[cell_id]
@ -648,6 +679,20 @@ class Model:
else:
lib_cell.set_temperature(temperature[0])
if group['density']:
density = group['density'][()]
if density.size > 1:
cell.density = [rho for rho in density]
else:
cell.density = density
if self.is_initialized:
lib_cell = openmc.lib.cells[cell_id]
if density.size > 1:
for i, rho in enumerate(density):
lib_cell.set_density(rho, i)
else:
lib_cell.set_density(density[0])
# Make sure number of materials matches
mats_group = fh['materials']
n_cells = mats_group.attrs['n_materials']

View file

@ -1,6 +1,7 @@
from collections.abc import Iterable, Mapping
from numbers import Integral, Real
from pathlib import Path
from textwrap import dedent
import h5py
import lxml.etree as ET
@ -167,7 +168,8 @@ _SVG_COLORS = {
'yellowgreen': (154, 205, 50)
}
_PLOT_PARAMS = """
_PLOT_PARAMS = dedent("""\
Parameters
----------
origin : iterable of float
@ -249,7 +251,7 @@ _PLOT_PARAMS = """
-------
matplotlib.axes.Axes
Axes containing resulting image
"""
""")
# Decorator for consistently adding plot parameters to docstrings (Model.plot,

View file

@ -413,7 +413,8 @@ def _calculate_cexs_nuclide(this, types, temperature=294., sab_name=None,
# Prep S(a,b) data if needed
if sab_name:
sab = openmc.data.ThermalScattering.from_hdf5(sab_name)
sab = openmc.data.ThermalScattering.from_hdf5(
library.get_by_material(sab_name, data_type='thermal')['path'])
# Obtain the nearest temperature
if strT in sab.temperatures:
sabT = strT
@ -640,14 +641,13 @@ def _calculate_cexs_elem_mat(this, types, temperature=294.,
sab = openmc.data.ThermalScattering.from_hdf5(
library.get_by_material(sab_name, data_type='thermal')['path'])
for nuc in sab.nuclides:
sabs[nuc] = library.get_by_material(sab_name,
data_type='thermal')['path']
sabs[nuc] = sab_name
else:
if sab_name:
sab = openmc.data.ThermalScattering.from_hdf5(sab_name)
sab = openmc.data.ThermalScattering.from_hdf5(
library.get_by_material(sab_name, data_type='thermal')['path'])
for nuc in sab.nuclides:
sabs[nuc] = library.get_by_material(sab_name,
data_type='thermal')['path']
sabs[nuc] = sab_name
# Now we can create the data sets to be plotted
xs = {}
@ -655,8 +655,8 @@ def _calculate_cexs_elem_mat(this, types, temperature=294.,
for nuclide in nuclides.items():
name = nuclide[0]
nuc = nuclide[1]
sab_tab = sabs[name]
temp_E, temp_xs = calculate_cexs(nuc, types, T, sab_tab, cross_sections,
sab_name = sabs[name]
temp_E, temp_xs = calculate_cexs(nuc, types, T, sab_name, cross_sections,
ncrystal_cfg=ncrystal_cfg
)
E.append(temp_E)

View file

@ -128,6 +128,10 @@ class Settings:
Maximum number of times a particle can split during a history
.. versionadded:: 0.13
max_secondaries : int
Maximum secondary bank size
.. versionadded:: 0.15.3
max_tracks : int
Maximum number of tracks written to a track file (per MPI process).
@ -431,6 +435,7 @@ class Settings:
self._weight_window_checkpoints = {}
self._max_history_splits = None
self._max_tracks = None
self._max_secondaries = None
self._use_decay_photons = None
self._random_ray = {}
@ -1137,6 +1142,16 @@ class Settings:
cv.check_greater_than('max particle splits', value, 0)
self._max_history_splits = value
@property
def max_secondaries(self) -> int:
return self._max_secondaries
@max_secondaries.setter
def max_secondaries(self, value: int):
cv.check_type('maximum secondary bank size', value, Integral)
cv.check_greater_than('max secondary bank size', value, 0)
self._max_secondaries = value
@property
def max_tracks(self) -> int:
return self._max_tracks
@ -1673,6 +1688,11 @@ class Settings:
elem = ET.SubElement(root, "max_history_splits")
elem.text = str(self._max_history_splits)
def _create_max_secondaries_subelement(self, root):
if self._max_secondaries is not None:
elem = ET.SubElement(root, "max_secondaries")
elem.text = str(self._max_secondaries)
def _create_max_tracks_subelement(self, root):
if self._max_tracks is not None:
elem = ET.SubElement(root, "max_tracks")
@ -2073,6 +2093,11 @@ class Settings:
if text is not None:
self.max_history_splits = int(text)
def _max_secondaries_from_xml_element(self, root):
text = get_text(root, 'max_secondaries')
if text is not None:
self.max_secondaries = int(text)
def _max_tracks_from_xml_element(self, root):
text = get_text(root, 'max_tracks')
if text is not None:
@ -2194,6 +2219,7 @@ class Settings:
self._create_weight_window_checkpoints_subelement(element)
self._create_max_history_splits_subelement(element)
self._create_max_tracks_subelement(element)
self._create_max_secondaries_subelement(element)
self._create_random_ray_subelement(element, mesh_memo)
self._create_use_decay_photons_subelement(element)
self._create_source_rejection_fraction_subelement(element)
@ -2302,6 +2328,7 @@ class Settings:
settings._weight_window_checkpoints_from_xml_element(elem)
settings._max_history_splits_from_xml_element(elem)
settings._max_tracks_from_xml_element(elem)
settings._max_secondaries_from_xml_element(elem)
settings._random_ray_from_xml_element(elem)
settings._use_decay_photons_from_xml_element(elem)
settings._source_rejection_fraction_from_xml_element(elem)

View file

@ -1,4 +1,5 @@
from datetime import datetime
from collections import namedtuple
import glob
import re
import os
@ -8,6 +9,7 @@ import h5py
import numpy as np
from pathlib import Path
from uncertainties import ufloat
from uncertainties.unumpy import uarray
import openmc
import openmc.checkvalue as cv
@ -15,6 +17,9 @@ import openmc.checkvalue as cv
_VERSION_STATEPOINT = 18
KineticsParameters = namedtuple("KineticsParameters", ["generation_time", "beta_effective"])
class StatePoint:
"""State information on a simulation at a certain point in time (at the end
of a given batch). Statepoints can be used to analyze tally results as well
@ -710,3 +715,56 @@ class StatePoint:
tally_filter.paths = cell.paths
self._summary = summary
def get_kinetics_parameters(self) -> KineticsParameters:
"""Get kinetics parameters from IFP tallies.
This method searches the tallies in the statepoint for the tallies
required to compute kinetics parameters using the Iterated Fission
Probability (IFP) method.
Returns
-------
KineticsParameters
A named tuple containing the generation time and effective delayed
neutron fraction. If the necessary tallies for one or both
parameters are not found, that parameter is returned as None.
"""
denom_tally = None
gen_time_tally = None
beta_tally = None
for tally in self.tallies.values():
if 'ifp-denominator' in tally.scores:
denom_tally = self.get_tally(scores=['ifp-denominator'])
if 'ifp-time-numerator' in tally.scores:
gen_time_tally = self.get_tally(scores=['ifp-time-numerator'])
if 'ifp-beta-numerator' in tally.scores:
beta_tally = self.get_tally(scores=['ifp-beta-numerator'])
if denom_tally is None:
return KineticsParameters(None, None)
def get_ufloat(tally, score):
return uarray(tally.get_values(scores=[score]),
tally.get_values(scores=[score], value='std_dev'))
denom_values = get_ufloat(denom_tally, 'ifp-denominator')
if gen_time_tally is None:
generation_time = None
else:
gen_time_values = get_ufloat(gen_time_tally, 'ifp-time-numerator')
gen_time_values /= denom_values*self.keff
generation_time = gen_time_values.flatten()[0]
if beta_tally is None:
beta_effective = None
else:
beta_values = get_ufloat(beta_tally, 'ifp-beta-numerator')
beta_values /= denom_values
beta_effective = beta_values.flatten()
if beta_effective.size == 1:
beta_effective = beta_effective[0]
return KineticsParameters(generation_time, beta_effective)

View file

@ -480,6 +480,9 @@ class PowerLaw(Univariate):
"""
def __init__(self, a: float = 0.0, b: float = 1.0, n: float = 0.):
if a >= b:
raise ValueError(
"Lower bound of sampling interval must be less than upper bound.")
self.a = a
self.b = b
self.n = n
@ -494,6 +497,9 @@ class PowerLaw(Univariate):
@a.setter
def a(self, a):
cv.check_type('interval lower bound', a, Real)
if a < 0:
raise ValueError(
"PowerLaw sampling is restricted to positive-valued intervals.")
self._a = a
@property
@ -503,6 +509,9 @@ class PowerLaw(Univariate):
@b.setter
def b(self, b):
cv.check_type('interval upper bound', b, Real)
if b < 0:
raise ValueError(
"PowerLaw sampling is restricted to positive-valued intervals.")
self._b = b
@property

View file

@ -41,12 +41,12 @@ dependencies = [
[project.optional-dependencies]
depletion-mpi = ["mpi4py"]
docs = [
"sphinx==5.0.2",
"sphinx",
"sphinxcontrib-katex",
"sphinx-numfig",
"jupyter",
"sphinxcontrib-svg2pdfconverter",
"sphinx-rtd-theme==1.0.0"
"sphinx-rtd-theme"
]
test = ["packaging", "pytest", "pytest-cov", "colorama", "openpyxl"]
ci = ["cpp-coveralls", "coveralls"]

View file

@ -79,16 +79,9 @@ void sort_fission_bank()
// Perform exclusive scan summation to determine starting indices in fission
// bank for each parent particle id
int64_t tmp = simulation::progeny_per_particle[0];
simulation::progeny_per_particle[0] = 0;
for (int64_t i = 1; i < simulation::progeny_per_particle.size(); i++) {
int64_t value = simulation::progeny_per_particle[i - 1] + tmp;
tmp = simulation::progeny_per_particle[i];
simulation::progeny_per_particle[i] = value;
}
// TODO: C++17 introduces the exclusive_scan() function which could be
// used to replace everything above this point in this function.
std::exclusive_scan(simulation::progeny_per_particle.begin(),
simulation::progeny_per_particle.end(),
simulation::progeny_per_particle.begin(), 0);
// We need a scratch vector to make permutation of the fission bank into
// sorted order easy. Under normal usage conditions, the fission bank is

View file

@ -142,6 +142,25 @@ double Cell::temperature(int32_t instance) const
}
}
double Cell::density_mult(int32_t instance) const
{
if (instance >= 0) {
return density_mult_.size() == 1 ? density_mult_.at(0)
: density_mult_.at(instance);
} else {
return density_mult_[0];
}
}
double Cell::density(int32_t instance) const
{
const int32_t mat_index = material(instance);
if (mat_index == MATERIAL_VOID)
return 0.0;
return density_mult(instance) * model::materials[mat_index]->density_gpcc();
}
void Cell::set_temperature(double T, int32_t instance, bool set_contained)
{
if (settings::temperature_method == TemperatureMethod::INTERPOLATION) {
@ -192,6 +211,47 @@ void Cell::set_temperature(double T, int32_t instance, bool set_contained)
}
}
void Cell::set_density(double density, int32_t instance, bool set_contained)
{
if (type_ != Fill::MATERIAL && !set_contained) {
fatal_error(
fmt::format("Attempted to set the density multiplier of cell {} "
"which is not filled by a material.",
id_));
}
if (type_ == Fill::MATERIAL) {
const int32_t mat_index = material(instance);
if (mat_index == MATERIAL_VOID)
return;
if (instance >= 0) {
// If density multiplier vector is not big enough, resize it first
if (density_mult_.size() != n_instances())
density_mult_.resize(n_instances(), density_mult_[0]);
// Set density multiplier for the corresponding instance
density_mult_.at(instance) =
density / model::materials[mat_index]->density_gpcc();
} else {
// Set density multiplier for all instances
for (auto& x : density_mult_) {
x = density / model::materials[mat_index]->density_gpcc();
}
}
} else {
auto contained_cells = this->get_contained_cells(instance);
for (const auto& entry : contained_cells) {
auto& cell = model::cells[entry.first];
assert(cell->type_ == Fill::MATERIAL);
auto& instances = entry.second;
for (auto instance : instances) {
cell->set_density(density, instance);
}
}
}
}
void Cell::export_properties_hdf5(hid_t group) const
{
// Create a group for this cell.
@ -203,6 +263,15 @@ void Cell::export_properties_hdf5(hid_t group) const
temps.push_back(sqrtkT_val * sqrtkT_val / K_BOLTZMANN);
write_dataset(cell_group, "temperature", temps);
// Write density for one or more cell instances
if (type_ == Fill::MATERIAL && material_.size() > 0) {
vector<double> density;
for (int32_t i = 0; i < density_mult_.size(); ++i)
density.push_back(this->density(i));
write_dataset(cell_group, "density", density);
}
close_group(cell_group);
}
@ -217,7 +286,7 @@ void Cell::import_properties_hdf5(hid_t group)
// Ensure number of temperatures makes sense
auto n_temps = temps.size();
if (n_temps > 1 && n_temps != n_instances()) {
throw std::runtime_error(fmt::format(
fatal_error(fmt::format(
"Number of temperatures for cell {} doesn't match number of instances",
id_));
}
@ -229,6 +298,25 @@ void Cell::import_properties_hdf5(hid_t group)
this->set_temperature(temps[i], i);
}
// Read densities
if (object_exists(cell_group, "density")) {
vector<double> density;
read_dataset(cell_group, "density", density);
// Ensure number of densities makes sense
auto n_density = density.size();
if (n_density > 1 && n_density != n_instances()) {
fatal_error(fmt::format("Number of densities for cell {} "
"doesn't match number of instances",
id_));
}
// Set densities.
for (int32_t i = 0; i < n_density; ++i) {
this->set_density(density[i], i);
}
}
close_group(cell_group);
}
@ -268,6 +356,8 @@ void Cell::to_hdf5(hid_t cell_group) const
temps.push_back(sqrtkT_val * sqrtkT_val / K_BOLTZMANN);
write_dataset(group, "temperature", temps);
write_dataset(group, "density_mult", density_mult_);
} else if (type_ == Fill::UNIVERSE) {
write_dataset(group, "fill_type", "universe");
write_dataset(group, "fill", model::universes[fill_]->id_);
@ -412,6 +502,44 @@ CSGCell::CSGCell(pugi::xml_node cell_node)
}
}
// Read the density element which can be distributed similar to temperature.
// These get assigned to the density multiplier, requiring a division by
// the material density.
// Note: calculating the actual density multiplier is deferred until materials
// are finalized. density_mult_ contains the true density in the meantime.
if (check_for_node(cell_node, "density")) {
density_mult_ = get_node_array<double>(cell_node, "density");
density_mult_.shrink_to_fit();
// Make sure this is a material-filled cell.
if (material_.size() == 0) {
fatal_error(fmt::format(
"Cell {} was specified with a density but no material. Density"
"specification is only valid for cells filled with a material.",
id_));
}
// Make sure this is a non-void material.
for (auto mat_id : material_) {
if (mat_id == MATERIAL_VOID) {
fatal_error(fmt::format(
"Cell {} was specified with a density, but contains a void "
"material. Density specification is only valid for cells "
"filled with a non-void material.",
id_));
}
}
// Make sure all densities are non-negative and greater than zero.
for (auto rho : density_mult_) {
if (rho <= 0) {
fatal_error(fmt::format(
"Cell {} was specified with a density less than or equal to zero",
id_));
}
}
}
// Read the region specification.
std::string region_spec;
if (check_for_node(cell_node, "region")) {
@ -1315,6 +1443,24 @@ extern "C" int openmc_cell_set_temperature(
return 0;
}
extern "C" int openmc_cell_set_density(
int32_t index, double density, const int32_t* instance, bool set_contained)
{
if (index < 0 || index >= model::cells.size()) {
strcpy(openmc_err_msg, "Index in cells array is out of bounds.");
return OPENMC_E_OUT_OF_BOUNDS;
}
int32_t instance_index = instance ? *instance : -1;
try {
model::cells[index]->set_density(density, instance_index, set_contained);
} catch (const std::exception& e) {
set_errmsg(e.what());
return OPENMC_E_UNASSIGNED;
}
return 0;
}
extern "C" int openmc_cell_get_temperature(
int32_t index, const int32_t* instance, double* T)
{
@ -1333,6 +1479,36 @@ extern "C" int openmc_cell_get_temperature(
return 0;
}
extern "C" int openmc_cell_get_density(
int32_t index, const int32_t* instance, double* density)
{
if (index < 0 || index >= model::cells.size()) {
strcpy(openmc_err_msg, "Index in cells array is out of bounds.");
return OPENMC_E_OUT_OF_BOUNDS;
}
int32_t instance_index = instance ? *instance : -1;
try {
if (model::cells[index]->type_ != Fill::MATERIAL) {
fatal_error(
fmt::format("Cell {}, instance {} is not filled with a material.",
model::cells[index]->id_, instance_index));
}
int32_t mat_index = model::cells[index]->material(instance_index);
if (mat_index == MATERIAL_VOID) {
*density = 0.0;
} else {
*density = model::cells[index]->density_mult(instance_index) *
model::materials[mat_index]->density_gpcc();
}
} catch (const std::exception& e) {
set_errmsg(e.what());
return OPENMC_E_UNASSIGNED;
}
return 0;
}
//! Get the bounding box of a cell
extern "C" int openmc_cell_bounding_box(
const int32_t index, double* llc, double* urc)

View file

@ -127,30 +127,8 @@ void synchronize_bank()
"No fission sites banked on MPI rank " + std::to_string(mpi::rank));
}
// Make sure all processors start at the same point for random sampling. Then
// skip ahead in the sequence using the starting index in the 'global'
// fission bank for each processor.
int64_t id = simulation::total_gen + overall_generation();
uint64_t seed = init_seed(id, STREAM_TRACKING);
advance_prn_seed(start, &seed);
// Determine how many fission sites we need to sample from the source bank
// and the probability for selecting a site.
int64_t sites_needed;
if (total < settings::n_particles) {
sites_needed = settings::n_particles % total;
} else {
sites_needed = settings::n_particles;
}
double p_sample = static_cast<double>(sites_needed) / total;
simulation::time_bank_sample.start();
// ==========================================================================
// SAMPLE N_PARTICLES FROM FISSION BANK AND PLACE IN TEMP_SITES
// Allocate temporary source bank -- we don't really know how many fission
// sites were created, so overallocate by a factor of 3
int64_t index_temp = 0;
@ -165,33 +143,38 @@ void synchronize_bank()
temp_delayed_groups, temp_lifetimes, 3 * simulation::work_per_rank);
}
for (int64_t i = 0; i < simulation::fission_bank.size(); i++) {
const auto& site = simulation::fission_bank[i];
// ==========================================================================
// SAMPLE N_PARTICLES FROM FISSION BANK AND PLACE IN TEMP_SITES
// If there are less than n_particles particles banked, automatically add
// int(n_particles/total) sites to temp_sites. For example, if you need
// 1000 and 300 were banked, this would add 3 source sites per banked site
// and the remaining 100 would be randomly sampled.
if (total < settings::n_particles) {
for (int64_t j = 1; j <= settings::n_particles / total; ++j) {
temp_sites[index_temp] = site;
if (settings::ifp_on) {
copy_ifp_data_from_fission_banks(
i, temp_delayed_groups[index_temp], temp_lifetimes[index_temp]);
}
++index_temp;
}
}
// We use Uniform Combing method to exactly get the targeted particle size
// [https://doi.org/10.1080/00295639.2022.2091906]
// Randomly sample sites needed
if (prn(&seed) < p_sample) {
temp_sites[index_temp] = site;
if (settings::ifp_on) {
copy_ifp_data_from_fission_banks(
i, temp_delayed_groups[index_temp], temp_lifetimes[index_temp]);
}
++index_temp;
// Make sure all processors use the same random number seed.
int64_t id = simulation::total_gen + overall_generation();
uint64_t seed = init_seed(id, STREAM_TRACKING);
// Comb specification
double teeth_distance = static_cast<double>(total) / settings::n_particles;
double teeth_offset = prn(&seed) * teeth_distance;
// First and last hitting tooth
int64_t end = start + simulation::fission_bank.size();
int64_t tooth_start = std::ceil((start - teeth_offset) / teeth_distance);
int64_t tooth_end = std::floor((end - teeth_offset) / teeth_distance) + 1;
// Locally comb particles in fission_bank
double tooth = tooth_start * teeth_distance + teeth_offset;
for (int64_t i = tooth_start; i < tooth_end; i++) {
int64_t idx = std::floor(tooth) - start;
temp_sites[index_temp] = simulation::fission_bank[idx];
if (settings::ifp_on) {
copy_ifp_data_from_fission_banks(
idx, temp_delayed_groups[index_temp], temp_lifetimes[index_temp]);
}
++index_temp;
// Next tooth
tooth += teeth_distance;
}
// At this point, the sampling of source sites is done and now we need to
@ -217,37 +200,6 @@ void synchronize_bank()
finish = index_temp;
#endif
// Now that the sampling is complete, we need to ensure that we have exactly
// n_particles source sites. The way this is done in a reproducible manner is
// to adjust only the source sites on the last processor.
if (mpi::rank == mpi::n_procs - 1) {
if (finish > settings::n_particles) {
// If we have extra sites sampled, we will simply discard the extra
// ones on the last processor
index_temp = settings::n_particles - start;
} else if (finish < settings::n_particles) {
// If we have too few sites, repeat sites from the very end of the
// fission bank
sites_needed = settings::n_particles - finish;
// TODO: sites_needed > simulation::fission_bank.size() or other test to
// make sure we don't need info from other proc
for (int i = 0; i < sites_needed; ++i) {
int i_bank = simulation::fission_bank.size() - sites_needed + i;
temp_sites[index_temp] = simulation::fission_bank[i_bank];
if (settings::ifp_on) {
copy_ifp_data_from_fission_banks(i_bank,
temp_delayed_groups[index_temp], temp_lifetimes[index_temp]);
}
++index_temp;
}
}
// the last processor should not be sending sites to right
finish = simulation::work_index[mpi::rank + 1];
}
simulation::time_bank_sample.stop();
simulation::time_bank_sendrecv.start();

View file

@ -1,4 +1,5 @@
#include "openmc/event.h"
#include "openmc/material.h"
#include "openmc/simulation.h"
#include "openmc/timer.h"
@ -73,17 +74,17 @@ void process_calculate_xs_events(SharedArray<EventQueueItem>& queue)
{
simulation::time_event_calculate_xs.start();
// TODO: If using C++17, perform a parallel sort of the queue
// by particle type, material type, and then energy, in order to
// improve cache locality and reduce thread divergence on GPU. Prior
// to C++17, std::sort is a serial only operation, which in this case
// makes it too slow to be practical for most test problems.
// TODO: If using C++17, we could perform a parallel sort of the queue by
// particle type, material type, and then energy, in order to improve cache
// locality and reduce thread divergence on GPU. However, the parallel
// algorithms typically require linking against an additional library (Intel
// TBB). Prior to C++17, std::sort is a serial only operation, which in this
// case makes it too slow to be practical for most test problems.
//
// std::sort(std::execution::par_unseq, queue.data(), queue.data() +
// queue.size());
int64_t offset = simulation::advance_particle_queue.size();
;
#pragma omp parallel for schedule(runtime)
for (int64_t i = 0; i < queue.size(); i++) {

View file

@ -92,6 +92,7 @@ int openmc_finalize()
settings::max_lost_particles = 10;
settings::max_order = 0;
settings::max_particles_in_flight = 100000;
settings::max_secondaries = 10000;
settings::max_particle_events = 1'000'000;
settings::max_history_splits = 10'000'000;
settings::max_tracks = 1000;

View file

@ -172,11 +172,13 @@ bool find_cell_inner(
p.cell_instance() = cell_instance_at_level(p, p.n_coord() - 1);
}
// Set the material and temperature.
// Set the material, temperature and density multiplier.
p.material_last() = p.material();
p.material() = c.material(p.cell_instance());
p.sqrtkT_last() = p.sqrtkT();
p.sqrtkT() = c.sqrtkT(p.cell_instance());
p.density_mult_last() = p.density_mult();
p.density_mult() = c.density_mult(p.cell_instance());
return true;

View file

@ -195,6 +195,24 @@ void assign_temperatures()
//==============================================================================
void finalize_cell_densities()
{
for (auto& c : model::cells) {
// Convert to density multipliers.
if (!c->density_mult_.empty()) {
for (int32_t instance = 0; instance < c->density_mult_.size();
++instance) {
c->density_mult_[instance] /=
model::materials[c->material(instance)]->density_gpcc();
}
} else {
c->density_mult_ = {1.0};
}
}
}
//==============================================================================
void get_temperatures(
vector<vector<double>>& nuc_temps, vector<vector<double>>& thermal_temps)
{
@ -362,6 +380,17 @@ void prepare_distribcell(const std::vector<int32_t>* user_distribcells)
c.id_, c.sqrtkT_.size(), c.n_instances()));
}
}
if (c.density_mult_.size() > 1) {
if (c.density_mult_.size() != c.n_instances()) {
fatal_error(fmt::format("Cell {} was specified with {} density "
"multipliers but has {} distributed "
"instances. The number of density multipliers "
"must equal one or the number "
"of instances.",
c.id_, c.density_mult_.size(), c.n_instances()));
}
}
}
// Search through universes for material cells and assign each one a

View file

@ -225,8 +225,7 @@ void get_name(hid_t obj_id, std::string& name)
{
size_t size = 1 + H5Iget_name(obj_id, nullptr, 0);
name.resize(size);
// TODO: switch to name.data() when using C++17
H5Iget_name(obj_id, &name[0], size);
H5Iget_name(obj_id, name.data(), size);
}
int get_num_datasets(hid_t group_id)

View file

@ -28,13 +28,13 @@ bool is_generation_time_or_both()
return false;
}
void ifp(const Particle& p, const SourceSite& site, int64_t idx)
void ifp(const Particle& p, int64_t idx)
{
if (is_beta_effective_or_both()) {
const auto& delayed_groups =
simulation::ifp_source_delayed_group_bank[p.current_work() - 1];
simulation::ifp_fission_delayed_group_bank[idx] =
_ifp(site.delayed_group, delayed_groups);
_ifp(p.delayed_group(), delayed_groups);
}
if (is_generation_time_or_both()) {
const auto& lifetimes =

View file

@ -401,6 +401,10 @@ bool read_model_xml()
// Finalize cross sections having assigned temperatures
finalize_cross_sections();
// Compute cell density multipliers now that material densities
// have been finalized (from geometry_aux.h)
finalize_cell_densities();
if (check_for_node(root, "tallies"))
read_tallies_xml(root.child("tallies"));
@ -441,6 +445,11 @@ void read_separate_xml_files()
// Finalize cross sections having assigned temperatures
finalize_cross_sections();
// Compute cell density multipliers now that material densities
// have been finalized (from geometry_aux.h)
finalize_cell_densities();
read_tallies_xml();
// Initialize distribcell_filters

View file

@ -890,7 +890,7 @@ void Material::calculate_neutron_xs(Particle& p) const
// ADD TO MACROSCOPIC CROSS SECTION
// Copy atom density of nuclide in material
double atom_density = atom_density_(i);
double atom_density = this->atom_density(i, p.density_mult());
// Add contributions to cross sections
p.macro_xs().total += atom_density * micro.total;
@ -925,7 +925,7 @@ void Material::calculate_photon_xs(Particle& p) const
// ADD TO MACROSCOPIC CROSS SECTION
// Copy atom density of nuclide in material
double atom_density = atom_density_(i);
double atom_density = this->atom_density(i, p.density_mult());
// Add contributions to material macroscopic cross sections
p.macro_xs().total += atom_density * micro.total;

View file

@ -590,6 +590,8 @@ Position StructuredMesh::sample_element(
UnstructuredMesh::UnstructuredMesh(pugi::xml_node node) : Mesh(node)
{
n_dimension_ = 3;
// check the mesh type
if (check_for_node(node, "type")) {
auto temp = get_node_value(node, "type", true, true);
@ -2519,7 +2521,9 @@ MOABMesh::MOABMesh(pugi::xml_node node) : UnstructuredMesh(node)
}
MOABMesh::MOABMesh(const std::string& filename, double length_multiplier)
: UnstructuredMesh()
{
n_dimension_ = 3;
filename_ = filename;
set_length_multiplier(length_multiplier);
initialize();
@ -3215,7 +3219,7 @@ void MOABMesh::write(const std::string& base_filename) const
const std::string LibMesh::mesh_lib_type = "libmesh";
LibMesh::LibMesh(pugi::xml_node node) : UnstructuredMesh(node), adaptive_(false)
LibMesh::LibMesh(pugi::xml_node node) : UnstructuredMesh(node)
{
// filename_ and length_multiplier_ will already be set by the
// UnstructuredMesh constructor
@ -3226,7 +3230,6 @@ LibMesh::LibMesh(pugi::xml_node node) : UnstructuredMesh(node), adaptive_(false)
// create the mesh from a pointer to a libMesh Mesh
LibMesh::LibMesh(libMesh::MeshBase& input_mesh, double length_multiplier)
: adaptive_(input_mesh.n_active_elem() != input_mesh.n_elem())
{
if (!dynamic_cast<libMesh::ReplicatedMesh*>(&input_mesh)) {
fatal_error("At present LibMesh tallies require a replicated mesh. Please "
@ -3240,8 +3243,8 @@ LibMesh::LibMesh(libMesh::MeshBase& input_mesh, double length_multiplier)
// create the mesh from an input file
LibMesh::LibMesh(const std::string& filename, double length_multiplier)
: adaptive_(false)
{
n_dimension_ = 3;
set_mesh_pointer_from_filename(filename);
set_length_multiplier(length_multiplier);
initialize();
@ -3302,21 +3305,6 @@ void LibMesh::initialize()
auto first_elem = *m_->elements_begin();
first_element_id_ = first_elem->id();
// if the mesh is adaptive elements aren't guaranteed by libMesh to be
// contiguous in ID space, so we need to map from bin indices (defined over
// active elements) to global dof ids
if (adaptive_) {
bin_to_elem_map_.reserve(m_->n_active_elem());
elem_to_bin_map_.resize(m_->n_elem(), -1);
for (auto it = m_->active_elements_begin(); it != m_->active_elements_end();
it++) {
auto elem = *it;
bin_to_elem_map_.push_back(elem->id());
elem_to_bin_map_[elem->id()] = bin_to_elem_map_.size() - 1;
}
}
// bounding box for the mesh for quick rejection checks
bbox_ = libMesh::MeshTools::create_bounding_box(*m_);
libMesh::Point ll = bbox_.min();
@ -3374,7 +3362,7 @@ std::string LibMesh::library() const
int LibMesh::n_bins() const
{
return m_->n_active_elem();
return m_->n_elem();
}
int LibMesh::n_surface_bins() const
@ -3397,14 +3385,6 @@ int LibMesh::n_surface_bins() const
void LibMesh::add_score(const std::string& var_name)
{
if (adaptive_) {
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
return;
}
if (!equation_systems_) {
build_eqn_sys();
}
@ -3440,14 +3420,6 @@ void LibMesh::remove_scores()
void LibMesh::set_score_data(const std::string& var_name,
const vector<double>& values, const vector<double>& std_dev)
{
if (adaptive_) {
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
return;
}
if (!equation_systems_) {
build_eqn_sys();
}
@ -3491,14 +3463,6 @@ void LibMesh::set_score_data(const std::string& var_name,
void LibMesh::write(const std::string& filename) const
{
if (adaptive_) {
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
return;
}
write_message(fmt::format(
"Writing file: {}.e for unstructured mesh {}", filename, this->id_));
libMesh::ExodusII_IO exo(*m_);
@ -3532,8 +3496,7 @@ int LibMesh::get_bin(Position r) const
int LibMesh::get_bin_from_element(const libMesh::Elem* elem) const
{
int bin =
adaptive_ ? elem_to_bin_map_[elem->id()] : elem->id() - first_element_id_;
int bin = elem->id() - first_element_id_;
if (bin >= n_bins() || bin < 0) {
fatal_error(fmt::format("Invalid bin: {}", bin));
}
@ -3548,7 +3511,7 @@ std::pair<vector<double>, vector<double>> LibMesh::plot(
const libMesh::Elem& LibMesh::get_element_from_bin(int bin) const
{
return adaptive_ ? m_->elem_ref(bin_to_elem_map_.at(bin)) : m_->elem_ref(bin);
return m_->elem_ref(bin);
}
double LibMesh::volume(int bin) const
@ -3556,6 +3519,65 @@ double LibMesh::volume(int bin) const
return this->get_element_from_bin(bin).volume();
}
AdaptiveLibMesh::AdaptiveLibMesh(
libMesh::MeshBase& input_mesh, double length_multiplier)
: LibMesh(input_mesh, length_multiplier), num_active_(m_->n_active_elem())
{
// if the mesh is adaptive elements aren't guaranteed by libMesh to be
// contiguous in ID space, so we need to map from bin indices (defined over
// active elements) to global dof ids
bin_to_elem_map_.reserve(num_active_);
elem_to_bin_map_.resize(m_->n_elem(), -1);
for (auto it = m_->active_elements_begin(); it != m_->active_elements_end();
it++) {
auto elem = *it;
bin_to_elem_map_.push_back(elem->id());
elem_to_bin_map_[elem->id()] = bin_to_elem_map_.size() - 1;
}
}
int AdaptiveLibMesh::n_bins() const
{
return num_active_;
}
void AdaptiveLibMesh::add_score(const std::string& var_name)
{
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
}
void AdaptiveLibMesh::set_score_data(const std::string& var_name,
const vector<double>& values, const vector<double>& std_dev)
{
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
}
void AdaptiveLibMesh::write(const std::string& filename) const
{
warning(fmt::format(
"Exodus output cannot be provided as unstructured mesh {} is adaptive.",
this->id_));
}
int AdaptiveLibMesh::get_bin_from_element(const libMesh::Elem* elem) const
{
int bin = elem_to_bin_map_[elem->id()];
if (bin >= n_bins() || bin < 0) {
fatal_error(fmt::format("Invalid bin: {}", bin));
}
return bin;
}
const libMesh::Elem& AdaptiveLibMesh::get_element_from_bin(int bin) const
{
return m_->elem_ref(bin_to_elem_map_.at(bin));
}
#endif // OPENMC_LIBMESH_ENABLED
//==============================================================================

View file

@ -617,10 +617,12 @@ void Mgxs::calculate_xs(Particle& p)
}
int temperature = p.mg_xs_cache().t;
int angle = p.mg_xs_cache().a;
p.macro_xs().total = xs[temperature].total(angle, p.g());
p.macro_xs().absorption = xs[temperature].absorption(angle, p.g());
p.macro_xs().total = xs[temperature].total(angle, p.g()) * p.density_mult();
p.macro_xs().absorption =
xs[temperature].absorption(angle, p.g()) * p.density_mult();
p.macro_xs().nu_fission =
fissionable ? xs[temperature].nu_fission(angle, p.g()) : 0.;
fissionable ? xs[temperature].nu_fission(angle, p.g()) * p.density_mult()
: 0.;
}
//==============================================================================

View file

@ -144,6 +144,7 @@ void Particle::from_source(const SourceSite* src)
time() = src->time;
time_last() = src->time;
parent_nuclide() = src->parent_nuclide;
delayed_group() = src->delayed_group;
// Convert signed surface ID to signed index
if (src->surf_id != SURFACE_NONE) {
@ -200,7 +201,8 @@ void Particle::event_calculate_xs()
// Calculate microscopic and macroscopic cross sections
if (material() != MATERIAL_VOID) {
if (settings::run_CE) {
if (material() != material_last() || sqrtkT() != sqrtkT_last()) {
if (material() != material_last() || sqrtkT() != sqrtkT_last() ||
density_mult() != density_mult_last()) {
// If the material is the same as the last material and the
// temperature hasn't changed, we don't need to lookup cross
// sections again.
@ -252,6 +254,11 @@ void Particle::event_advance()
this->time() += dt;
this->lifetime() += dt;
// Score timed track-length tallies
if (!model::active_timed_tracklength_tallies.empty()) {
score_timed_tracklength_tally(*this, distance);
}
// Score track-length tallies
if (!model::active_tracklength_tallies.empty()) {
score_tracklength_tally(*this, distance);
@ -544,7 +551,8 @@ void Particle::cross_surface(const Surface& surf)
#endif
// Handle any applicable boundary conditions.
if (surf.bc_ && settings::run_mode != RunMode::PLOTTING) {
if (surf.bc_ && settings::run_mode != RunMode::PLOTTING &&
settings::run_mode != RunMode::VOLUME) {
surf.bc_->handle_particle(*this, surf);
return;
}
@ -558,9 +566,10 @@ void Particle::cross_surface(const Surface& surf)
int32_t i_cell = next_cell(surface_index(), cell_last(n_coord() - 1),
lowest_coord().universe()) -
1;
// save material and temp
// save material, temperature, and density multiplier
material_last() = material();
sqrtkT_last() = sqrtkT();
density_mult_last() = density_mult();
// set new cell value
lowest_coord().cell() = i_cell;
auto& cell = model::cells[i_cell];
@ -571,6 +580,7 @@ void Particle::cross_surface(const Surface& surf)
material() = cell->material(cell_instance());
sqrtkT() = cell->sqrtkT(cell_instance());
density_mult() = cell->density_mult(cell_instance());
return;
}
#endif

View file

@ -115,7 +115,7 @@ void sample_neutron_reaction(Particle& p)
// Make sure particle population doesn't grow out of control for
// subcritical multiplication problems.
if (p.secondary_bank().size() >= 10000) {
if (p.secondary_bank().size() >= settings::max_secondaries) {
fatal_error(
"The secondary particle bank appears to be growing without "
"bound. You are likely running a subcritical multiplication problem "
@ -210,13 +210,23 @@ void create_fission_sites(Particle& p, int i_nuclide, const Reaction& rx)
site.particle = ParticleType::neutron;
site.time = p.time();
site.wgt = 1. / weight;
site.parent_id = p.id();
site.progeny_id = p.n_progeny()++;
site.surf_id = 0;
// Sample delayed group and angle/energy for fission reaction
sample_fission_neutron(i_nuclide, rx, &site, p);
// Reject site if it exceeds time cutoff
if (site.delayed_group > 0) {
double t_cutoff = settings::time_cutoff[static_cast<int>(site.particle)];
if (site.time > t_cutoff) {
continue;
}
}
// Set parent and progeny IDs
site.parent_id = p.id();
site.progeny_id = p.n_progeny()++;
// Store fission site in bank
if (use_fission_bank) {
int64_t idx = simulation::fission_bank.thread_safe_append(site);
@ -236,18 +246,15 @@ void create_fission_sites(Particle& p, int i_nuclide, const Reaction& rx)
}
// Iterated Fission Probability (IFP) method
if (settings::ifp_on) {
ifp(p, site, idx);
ifp(p, idx);
}
} else {
p.secondary_bank().push_back(site);
}
// Set the delayed group on the particle as well
p.delayed_group() = site.delayed_group;
// Increment the number of neutrons born delayed
if (p.delayed_group() > 0) {
nu_d[p.delayed_group() - 1]++;
if (site.delayed_group > 0) {
nu_d[site.delayed_group - 1]++;
}
// Write fission particles to nuBank
@ -496,7 +503,7 @@ int sample_nuclide(Particle& p)
for (int i = 0; i < n; ++i) {
// Get atom density
int i_nuclide = mat->nuclide_[i];
double atom_density = mat->atom_density_[i];
double atom_density = mat->atom_density(i, p.density_mult());
// Increment probability to compare to cutoff
prob += atom_density * p.neutron_xs(i_nuclide).total;
@ -521,7 +528,7 @@ int sample_element(Particle& p)
for (int i = 0; i < mat->element_.size(); ++i) {
// Find atom density
int i_element = mat->element_[i];
double atom_density = mat->atom_density_[i];
double atom_density = mat->atom_density(i, p.density_mult());
// Determine microscopic cross section
double sigma = atom_density * p.photon_xs(i_element).total;
@ -1069,6 +1076,10 @@ void sample_fission_neutron(
// set the delayed group for the particle born from fission
site->delayed_group = group;
// Sample time of emission based on decay constant of precursor
double decay_rate = rx.products_[site->delayed_group].decay_rate_;
site->time -= std::log(prn(p.current_seed())) / decay_rate;
} else {
// ====================================================================
// PROMPT NEUTRON SAMPLED

View file

@ -139,8 +139,6 @@ void create_fission_sites(Particle& p)
site.particle = ParticleType::neutron;
site.time = p.time();
site.wgt = 1. / weight;
site.parent_id = p.id();
site.progeny_id = p.n_progeny()++;
// Sample the cosine of the angle, assuming fission neutrons are emitted
// isotropically
@ -165,6 +163,24 @@ void create_fission_sites(Particle& p)
// of the code, 0 is prompt.
site.delayed_group = dg + 1;
// If delayed product production, sample time of emission
if (dg != -1) {
auto& macro_xs = data::mg.macro_xs_[p.material()];
double decay_rate =
macro_xs.get_xs(MgxsType::DECAY_RATE, 0, nullptr, nullptr, &dg, 0, 0);
site.time -= std::log(prn(p.current_seed())) / decay_rate;
// Reject site if it exceeds time cutoff
double t_cutoff = settings::time_cutoff[static_cast<int>(site.particle)];
if (site.time > t_cutoff) {
continue;
}
}
// Set parent and progeny ID
site.parent_id = p.id();
site.progeny_id = p.n_progeny()++;
// Store fission site in bank
if (use_fission_bank) {
int64_t idx = simulation::fission_bank.thread_safe_append(site);

View file

@ -114,6 +114,7 @@ int max_order {0};
int n_log_bins {8000};
int n_batches;
int n_max_batches;
int max_secondaries {10000};
int max_history_splits {10'000'000};
int max_tracks {1000};
ResScatMethod res_scat_method {ResScatMethod::rvs};
@ -1144,6 +1145,11 @@ void read_settings_xml(pugi::xml_node root)
weight_windows_on = get_node_value_bool(root, "weight_windows_on");
}
if (check_for_node(root, "max_secondaries")) {
settings::max_secondaries =
std::stoi(get_node_value(root, "max_secondaries"));
}
if (check_for_node(root, "max_history_splits")) {
settings::max_history_splits =
std::stoi(get_node_value(root, "max_history_splits"));

View file

@ -27,10 +27,12 @@
#include "openmc/tallies/filter_legendre.h"
#include "openmc/tallies/filter_mesh.h"
#include "openmc/tallies/filter_meshborn.h"
#include "openmc/tallies/filter_meshmaterial.h"
#include "openmc/tallies/filter_meshsurface.h"
#include "openmc/tallies/filter_particle.h"
#include "openmc/tallies/filter_sph_harm.h"
#include "openmc/tallies/filter_surface.h"
#include "openmc/tallies/filter_time.h"
#include "openmc/xml_interface.h"
#include "xtensor/xadapt.hpp"
@ -38,9 +40,10 @@
#include "xtensor/xview.hpp"
#include <fmt/core.h>
#include <algorithm> // for max
#include <algorithm> // for max, set_union
#include <cassert>
#include <cstddef> // for size_t
#include <cstddef> // for size_t
#include <iterator> // for back_inserter
#include <string>
namespace openmc {
@ -56,11 +59,13 @@ vector<unique_ptr<Tally>> tallies;
vector<int> active_tallies;
vector<int> active_analog_tallies;
vector<int> active_tracklength_tallies;
vector<int> active_timed_tracklength_tallies;
vector<int> active_collision_tallies;
vector<int> active_meshsurf_tallies;
vector<int> active_surface_tallies;
vector<int> active_pulse_height_tallies;
vector<int> pulse_height_cells;
vector<double> time_grid;
} // namespace model
namespace simulation {
@ -243,8 +248,8 @@ Tally::Tally(pugi::xml_node node)
for (int score : scores_) {
switch (score) {
case SCORE_PULSE_HEIGHT:
fatal_error(
"For pulse-height tallies, photon transport needs to be activated.");
fatal_error("For pulse-height tallies, photon transport needs to be "
"activated.");
break;
}
}
@ -318,7 +323,8 @@ Tally::Tally(pugi::xml_node node)
if (has_energyout && i_nuc == -1) {
fatal_error(fmt::format(
"Error on tally {}: Cannot use a "
"'nuclide_density' or 'temperature' derivative on a tally with an "
"'nuclide_density' or 'temperature' derivative on a tally with "
"an "
"outgoing energy filter and 'total' nuclide rate. Instead, tally "
"each nuclide in the material individually.",
id_));
@ -493,9 +499,9 @@ void Tally::add_filter(Filter* filter)
void Tally::set_strides()
{
// Set the strides. Filters are traversed in reverse so that the last filter
// has the shortest stride in memory and the first filter has the longest
// stride.
// Set the strides. Filters are traversed in reverse so that the last
// filter has the shortest stride in memory and the first filter has the
// longest stride.
auto n = filters_.size();
strides_.resize(n, 0);
int stride = 1;
@ -551,9 +557,11 @@ void Tally::set_scores(const vector<std::string>& scores)
// Iterate over the given scores.
for (auto score_str : scores) {
// Make sure a delayed group filter wasn't used with an incompatible score.
// Make sure a delayed group filter wasn't used with an incompatible
// score.
if (delayedgroup_filter_ != C_NONE) {
if (score_str != "delayed-nu-fission" && score_str != "decay-rate")
if (score_str != "delayed-nu-fission" && score_str != "decay-rate" &&
score_str != "ifp-beta-numerator")
fatal_error("Cannot tally " + score_str + "with a delayedgroup filter");
}
@ -984,8 +992,8 @@ void reduce_tally_results()
}
}
// Note that global tallies are *always* reduced even when no_reduce option is
// on.
// Note that global tallies are *always* reduced even when no_reduce option
// is on.
// Get view of global tally values
auto& gt = simulation::global_tallies;
@ -1064,21 +1072,59 @@ void accumulate_tallies()
}
}
double distance_to_time_boundary(double time, double speed)
{
if (model::time_grid.empty()) {
return INFTY;
} else if (time >= model::time_grid.back()) {
return INFTY;
} else {
double next_time =
*std::upper_bound(model::time_grid.begin(), model::time_grid.end(), time);
return (next_time - time) * speed;
}
}
//! Add new points to the global time grid
//
//! \param grid Vector of new time points to add
void add_to_time_grid(vector<double> grid)
{
if (grid.empty())
return;
// Create new vector with enough space to hold old and new grid points
vector<double> merged;
merged.reserve(model::time_grid.size() + grid.size());
// Merge and remove duplicates
std::set_union(model::time_grid.begin(), model::time_grid.end(), grid.begin(),
grid.end(), std::back_inserter(merged));
// Swap in the new grid
model::time_grid.swap(merged);
}
void setup_active_tallies()
{
model::active_tallies.clear();
model::active_analog_tallies.clear();
model::active_tracklength_tallies.clear();
model::active_timed_tracklength_tallies.clear();
model::active_collision_tallies.clear();
model::active_meshsurf_tallies.clear();
model::active_surface_tallies.clear();
model::active_pulse_height_tallies.clear();
model::time_grid.clear();
for (auto i = 0; i < model::tallies.size(); ++i) {
const auto& tally {*model::tallies[i]};
if (tally.active_) {
model::active_tallies.push_back(i);
bool mesh_present = (tally.get_filter<MeshFilter>() ||
tally.get_filter<MeshMaterialFilter>());
auto time_filter = tally.get_filter<TimeFilter>();
switch (tally.type_) {
case TallyType::VOLUME:
@ -1087,7 +1133,12 @@ void setup_active_tallies()
model::active_analog_tallies.push_back(i);
break;
case TallyEstimator::TRACKLENGTH:
model::active_tracklength_tallies.push_back(i);
if (time_filter && mesh_present) {
model::active_timed_tracklength_tallies.push_back(i);
add_to_time_grid(time_filter->bins());
} else {
model::active_tracklength_tallies.push_back(i);
}
break;
case TallyEstimator::COLLISION:
model::active_collision_tallies.push_back(i);
@ -1123,10 +1174,12 @@ void free_memory_tally()
model::active_tallies.clear();
model::active_analog_tallies.clear();
model::active_tracklength_tallies.clear();
model::active_timed_tracklength_tallies.clear();
model::active_collision_tallies.clear();
model::active_meshsurf_tallies.clear();
model::active_surface_tallies.clear();
model::active_pulse_height_tallies.clear();
model::time_grid.clear();
model::tally_map.clear();
}
@ -1465,8 +1518,8 @@ extern "C" int openmc_tally_get_n_realizations(int32_t index, int32_t* n)
return 0;
}
//! \brief Returns a pointer to a tally results array along with its shape. This
//! allows a user to obtain in-memory tally results from Python directly.
//! \brief Returns a pointer to a tally results array along with its shape.
//! This allows a user to obtain in-memory tally results from Python directly.
extern "C" int openmc_tally_results(
int32_t index, double** results, size_t* shape)
{

View file

@ -233,7 +233,7 @@ double score_fission_q(const Particle& p, int score_bin, const Tally& tally,
double score {0.0};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
const Nuclide& nuc {*data::nuclides[j_nuclide]};
score += get_nuc_fission_q(nuc, p, score_bin) * atom_density *
p.neutron_xs(j_nuclide).fission;
@ -696,7 +696,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
score += p.neutron_xs(j_nuclide).fission *
data::nuclides[j_nuclide]->nu(
E, ReactionProduct::EmissionMode::prompt) *
@ -743,7 +743,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
// Tally each delayed group bin individually
for (auto d_bin = 0; d_bin < filt.n_bins(); ++d_bin) {
auto d = filt.groups()[d_bin];
@ -763,7 +763,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
score += p.neutron_xs(j_nuclide).fission *
data::nuclides[j_nuclide]->nu(
E, ReactionProduct::EmissionMode::delayed) *
@ -824,7 +824,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
const auto& nuc {*data::nuclides[j_nuclide]};
if (nuc.fissionable_) {
const auto& rxn {*nuc.fission_rx_[0]};
@ -849,7 +849,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
const auto& nuc {*data::nuclides[j_nuclide]};
if (nuc.fissionable_) {
const auto& rxn {*nuc.fission_rx_[0]};
@ -893,7 +893,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
const auto& nuc {*data::nuclides[j_nuclide]};
if (nuc.fissionable_) {
const auto& rxn {*nuc.fission_rx_[0]};
@ -924,7 +924,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
if (p.neutron_xs(j_nuclide).elastic == CACHE_INVALID)
data::nuclides[j_nuclide]->calculate_elastic_xs(p);
score += p.neutron_xs(j_nuclide).elastic * atom_density * flux;
@ -964,6 +964,15 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
if (delayed_groups.size() == settings::ifp_n_generation) {
if (delayed_groups[0] > 0) {
score = p.wgt_last();
if (tally.delayedgroup_filter_ != C_NONE) {
auto i_dg_filt = tally.filters()[tally.delayedgroup_filter_];
const DelayedGroupFilter& filt {
*dynamic_cast<DelayedGroupFilter*>(
model::tally_filters[i_dg_filt].get())};
score_fission_delayed_dg(i_tally, delayed_groups[0] - 1,
score, score_index, p.filter_matches());
continue;
}
}
}
}
@ -1025,7 +1034,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
score += p.neutron_xs(j_nuclide).reaction[m] * atom_density * flux;
}
}
@ -1079,7 +1088,7 @@ void score_general_ce_nonanalog(Particle& p, int i_tally, int start_index,
const Material& material {*model::materials[p.material()]};
for (auto i = 0; i < material.nuclide_.size(); ++i) {
auto j_nuclide = material.nuclide_[i];
auto atom_density = material.atom_density_(i);
auto atom_density = material.atom_density(i, p.density_mult());
score +=
get_nuclide_xs(p, j_nuclide, score_bin) * atom_density * flux;
}
@ -1624,8 +1633,7 @@ void score_general_mg(Particle& p, int i_tally, int start_index,
tally.estimator_ == TallyEstimator::COLLISION) {
if (settings::survival_biasing) {
// Determine weight that was absorbed
wgt_absorb = p.wgt_last() * p.neutron_xs(p.event_nuclide()).absorption /
p.neutron_xs(p.event_nuclide()).total;
wgt_absorb = p.wgt_last() * p.macro_xs().absorption / p.macro_xs().total;
// Then we either are alive and had a scatter (and so g changed),
// or are dead and g did not change
@ -2383,7 +2391,8 @@ void score_analog_tally_mg(Particle& p)
model::materials[p.material()]->mat_nuclide_index_[i_nuclide];
if (j == C_NONE)
continue;
atom_density = model::materials[p.material()]->atom_density_(j);
atom_density =
model::materials[p.material()]->atom_density(j, p.density_mult());
}
score_general_mg(p, i_tally, i * tally.scores_.size(), filter_index,
@ -2404,15 +2413,13 @@ void score_analog_tally_mg(Particle& p)
match.bins_present_ = false;
}
void score_tracklength_tally(Particle& p, double distance)
void score_tracklength_tally_general(
Particle& p, double flux, const vector<int>& tallies)
{
// Determine the tracklength estimate of the flux
double flux = p.wgt() * distance;
// Set 'none' value for log union grid index
int i_log_union = C_NONE;
for (auto i_tally : model::active_tracklength_tallies) {
for (auto i_tally : tallies) {
const Tally& tally {*model::tallies[i_tally]};
// Initialize an iterator over valid filter bin combinations. If there are
@ -2451,8 +2458,9 @@ void score_tracklength_tally(Particle& p, double distance)
atom_density = 1.0;
}
} else {
atom_density =
tally.multiply_density() ? mat->atom_density_(j) : 1.0;
atom_density = tally.multiply_density()
? mat->atom_density(j, p.density_mult())
: 1.0;
}
}
}
@ -2481,6 +2489,57 @@ void score_tracklength_tally(Particle& p, double distance)
match.bins_present_ = false;
}
void score_timed_tracklength_tally(Particle& p, double total_distance)
{
double speed = p.speed();
double total_dt = total_distance / speed;
// save particle last state
auto time_last = p.time_last();
auto r_last = p.r_last();
// move particle back
p.move_distance(-total_distance);
p.time() -= total_dt;
p.lifetime() -= total_dt;
double distance_traveled = 0.0;
while (distance_traveled < total_distance) {
double distance = std::min(distance_to_time_boundary(p.time(), speed),
total_distance - distance_traveled);
double dt = distance / speed;
// Save particle last state for tracklength tallies
p.time_last() = p.time();
p.r_last() = p.r();
// Advance particle in space and time
p.move_distance(distance);
p.time() += dt;
p.lifetime() += dt;
// Determine the tracklength estimate of the flux
double flux = p.wgt() * distance;
score_tracklength_tally_general(
p, flux, model::active_timed_tracklength_tallies);
distance_traveled += distance;
}
p.time_last() = time_last;
p.r_last() = r_last;
}
void score_tracklength_tally(Particle& p, double distance)
{
// Determine the tracklength estimate of the flux
double flux = p.wgt() * distance;
score_tracklength_tally_general(p, flux, model::active_tracklength_tallies);
}
void score_collision_tally(Particle& p)
{
// Determine the collision estimate of the flux
@ -2530,8 +2589,9 @@ void score_collision_tally(Particle& p)
atom_density = 1.0;
}
} else {
atom_density =
tally.multiply_density() ? mat->atom_density_(j) : 1.0;
atom_density = tally.multiply_density()
? mat->atom_density(j, p.density_mult())
: 1.0;
}
}

View file

@ -1,2 +1,2 @@
k-combined:
4.403987E-01 1.514158E-03
4.368327E-01 1.953533E-03

View file

@ -1,2 +1,2 @@
k-combined:
1.590800E+00 4.251788E-03
1.593206E+00 2.925742E-03

View file

@ -1 +1 @@
b0ca1fb0436732188b1a199b3250ca9a33782f8fc379b0f7ff9c582e0c794b0a0470df063cafd0b05e802b26f61eaaf9ff5c0a8a672a933246acf49eed3ebf9f
cc76769636be4f681137598cf366e978d7347425a1dfa1b293d17a28381b2b62595fb7f0d2f126dd06972ff9e79089a18dd53aba45fa2b1f316515b91fe6495a

View file

@ -1,117 +1,117 @@
k-combined:
1.164262E+00 9.207592E-03
1.181723E+00 9.944883E-03
tally 1:
1.156972E+01
1.339924E+01
2.136306E+01
4.567185E+01
2.859527E+01
8.195821E+01
3.470754E+01
1.207851E+02
3.766403E+01
1.422263E+02
3.778821E+01
1.432660E+02
3.573197E+01
1.278854E+02
2.849979E+01
8.135515E+01
2.073803E+01
4.303374E+01
1.112117E+01
1.242944E+01
1.169899E+01
1.373251E+01
2.142380E+01
4.605511E+01
2.968085E+01
8.838716E+01
3.561418E+01
1.271206E+02
3.777783E+01
1.428817E+02
3.805832E+01
1.450213E+02
3.439836E+01
1.184892E+02
2.852438E+01
8.161896E+01
2.088423E+01
4.376204E+01
1.076670E+01
1.168108E+01
tally 2:
2.388054E+01
2.875255E+01
1.667791E+01
1.403426E+01
4.224771E+01
8.942109E+01
2.993088E+01
4.490335E+01
5.689839E+01
1.625557E+02
4.043633E+01
8.212299E+01
6.764024E+01
2.297126E+02
4.807902E+01
1.161468E+02
7.314835E+01
2.684645E+02
5.203584E+01
1.359261E+02
7.375727E+01
2.733105E+02
5.252944E+01
1.386205E+02
6.909571E+01
2.397721E+02
4.922548E+01
1.217465E+02
5.685978E+01
1.621746E+02
4.051938E+01
8.237277E+01
4.185562E+01
8.784067E+01
2.983570E+01
4.467414E+01
2.238373E+01
2.520356E+01
1.566758E+01
1.234103E+01
2.321241E+01
2.702156E+01
1.620912E+01
1.317752E+01
4.197404E+01
8.845008E+01
2.982666E+01
4.469221E+01
5.810089E+01
1.695857E+02
4.134123E+01
8.588866E+01
6.982488E+01
2.447068E+02
4.966939E+01
1.238763E+02
7.428421E+01
2.767613E+02
5.287955E+01
1.403163E+02
7.447402E+01
2.785012E+02
5.324628E+01
1.423393E+02
6.895164E+01
2.381937E+02
4.916366E+01
1.211701E+02
5.679253E+01
1.617881E+02
4.043125E+01
8.204061E+01
4.218618E+01
8.933666E+01
2.978592E+01
4.456592E+01
2.196426E+01
2.435867E+01
1.525576E+01
1.175879E+01
tally 3:
1.609520E+01
1.307542E+01
1.033429E+00
5.510889E-02
2.877073E+01
4.149542E+01
1.964219E+00
1.954692E-01
3.896816E+01
7.629752E+01
2.484053E+00
3.103733E-01
4.634285E+01
1.079367E+02
2.974750E+00
4.468223E-01
5.007964E+01
1.259202E+02
3.181802E+00
5.103621E-01
5.058915E+01
1.286193E+02
3.249442E+00
5.337712E-01
4.744464E+01
1.131026E+02
3.067644E+00
4.736335E-01
3.900632E+01
7.634433E+01
2.443552E+00
3.028060E-01
2.874166E+01
4.146375E+01
1.810421E+00
1.671667E-01
1.509222E+01
1.145579E+01
1.014919E+00
5.391053E-02
1.563788E+01
1.226528E+01
1.053289E+00
5.666942E-02
2.870755E+01
4.139654E+01
1.838017E+00
1.710528E-01
3.978616E+01
7.955764E+01
2.560657E+00
3.334449E-01
4.780385E+01
1.147770E+02
3.139243E+00
4.967628E-01
5.106650E+01
1.308704E+02
3.170056E+00
5.078920E-01
5.123992E+01
1.318586E+02
3.211706E+00
5.205979E-01
4.729862E+01
1.121695E+02
3.068662E+00
4.749488E-01
3.898816E+01
7.630564E+01
2.516911E+00
3.199696E-01
2.865357E+01
4.125742E+01
1.852314E+00
1.741116E-01
1.467340E+01
1.088460E+01
9.268633E-01
4.450662E-02
tally 4:
3.148231E+00
4.974555E-01
3.029754E+00
4.613561E-01
0.000000E+00
0.000000E+00
2.805439E+00
3.982239E-01
5.574031E+00
1.561105E+00
2.832501E+00
4.049252E-01
5.517243E+00
1.527794E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.574031E+00
1.561105E+00
2.805439E+00
3.982239E-01
5.171038E+00
1.344877E+00
7.372031E+00
2.725420E+00
5.517243E+00
1.527794E+00
2.832501E+00
4.049252E-01
5.117178E+00
1.316972E+00
7.333303E+00
2.701677E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.372031E+00
2.725420E+00
5.171038E+00
1.344877E+00
6.946847E+00
2.424850E+00
8.496610E+00
3.627542E+00
7.333303E+00
2.701677E+00
5.117178E+00
1.316972E+00
7.248464E+00
2.641591E+00
8.817788E+00
3.905530E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.496610E+00
3.627542E+00
6.946847E+00
2.424850E+00
8.479501E+00
3.607280E+00
9.261869E+00
4.305912E+00
8.817788E+00
3.905530E+00
7.248464E+00
2.641591E+00
8.646465E+00
3.749847E+00
9.460948E+00
4.495388E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.261869E+00
4.305912E+00
8.479501E+00
3.607280E+00
9.232858E+00
4.278432E+00
9.306384E+00
4.348594E+00
9.460948E+00
4.495388E+00
8.646465E+00
3.749847E+00
9.379341E+00
4.415049E+00
9.278640E+00
4.320720E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.306384E+00
4.348594E+00
9.232858E+00
4.278432E+00
9.299764E+00
4.347828E+00
8.511976E+00
3.639893E+00
9.278640E+00
4.320720E+00
9.379341E+00
4.415049E+00
9.465746E+00
4.498591E+00
8.656146E+00
3.760545E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.511976E+00
3.639893E+00
9.299764E+00
4.347828E+00
8.726086E+00
3.819567E+00
7.147277E+00
2.562747E+00
8.656146E+00
3.760545E+00
9.465746E+00
4.498591E+00
8.589782E+00
3.700308E+00
6.996002E+00
2.456935E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.147277E+00
2.562747E+00
8.726086E+00
3.819567E+00
7.218790E+00
2.612243E+00
5.018287E+00
1.263077E+00
6.996002E+00
2.456935E+00
8.589782E+00
3.700308E+00
7.352050E+00
2.714808E+00
5.105164E+00
1.312559E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.018287E+00
1.263077E+00
7.218790E+00
2.612243E+00
5.443494E+00
1.487018E+00
2.732334E+00
3.773047E-01
5.105164E+00
1.312559E+00
7.352050E+00
2.714808E+00
5.442756E+00
1.486776E+00
2.697305E+00
3.675580E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.732334E+00
3.773047E-01
5.443494E+00
1.487018E+00
3.044773E+00
4.655756E-01
2.697305E+00
3.675580E-01
5.442756E+00
1.486776E+00
3.017025E+00
4.571443E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,144 +345,144 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
1.609029E+01
1.306718E+01
2.230601E+00
2.559496E-01
2.876780E+01
4.148686E+01
3.835952E+00
7.456562E-01
3.895738E+01
7.625344E+01
4.841024E+00
1.197335E+00
4.633595E+01
1.079043E+02
6.236821E+00
1.963311E+00
5.007472E+01
1.258967E+02
6.749745E+00
2.297130E+00
5.058336E+01
1.285894E+02
6.727612E+00
2.315656E+00
4.743869E+01
1.130735E+02
6.338193E+00
2.042159E+00
3.899838E+01
7.631289E+01
5.187573E+00
1.359733E+00
2.873434E+01
4.144233E+01
3.815610E+00
7.367619E-01
1.509020E+01
1.145268E+01
2.125767E+00
2.341894E-01
1.563588E+01
1.226217E+01
2.209027E+00
2.507131E-01
2.870034E+01
4.137550E+01
3.726620E+00
7.021948E-01
3.977762E+01
7.952285E+01
5.304975E+00
1.427333E+00
4.779747E+01
1.147456E+02
6.528302E+00
2.151715E+00
5.105366E+01
1.308037E+02
6.986782E+00
2.467487E+00
5.123380E+01
1.318264E+02
6.845633E+00
2.383542E+00
4.729296E+01
1.121433E+02
6.252695E+00
1.977351E+00
3.898236E+01
7.628315E+01
5.461495E+00
1.528579E+00
2.864576E+01
4.123538E+01
3.857301E+00
7.581323E-01
1.467047E+01
1.088031E+01
2.277024E+00
2.679801E-01
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.129918E+00
1.143848E+00
1.147976E+00
1.151534E+00
1.152378E+00
1.148219E+00
1.150402E+00
1.154647E+00
1.156159E+00
1.160048E+00
1.167441E+00
1.168163E+00
1.168629E+00
1.164120E+00
1.165051E+00
1.169177E+00
1.169107E+00
1.175079E+00
1.173912E+00
1.175368E+00
1.174026E+00
1.181745E+00
1.182261E+00
1.183559E+00
1.178691E+00
1.179222E+00
1.179017E+00
1.172979E+00
1.175043E+00
1.173458E+00
1.174152E+00
1.171451E+00
cmfd entropy
3.224769E+00
3.225945E+00
3.227421E+00
3.226174E+00
3.224429E+00
3.227049E+00
3.230710E+00
3.230315E+00
3.226825E+00
3.226655E+00
3.226588E+00
3.224155E+00
3.223246E+00
3.222640E+00
3.223920E+00
3.222838E+00
3.207640E+00
3.210547E+00
3.212218E+00
3.209573E+00
3.211619E+00
3.212126E+00
3.213163E+00
3.214288E+00
3.215737E+00
3.213677E+00
3.214925E+00
3.215612E+00
3.216708E+00
3.221454E+00
3.219048E+00
3.218387E+00
cmfd balance
3.90454E-03
4.08089E-03
3.46511E-03
4.09535E-03
2.62009E-03
2.23559E-03
2.54033E-03
2.12799E-03
2.25864E-03
1.85766E-03
1.49916E-03
1.63471E-03
1.48377E-03
1.59800E-03
1.37354E-03
1.32853E-03
4.88208E-03
4.75139E-03
3.15783E-03
3.67091E-03
2.99797E-03
2.91060E-03
2.06576E-03
1.83482E-03
1.56292E-03
1.58659E-03
2.32986E-03
1.47376E-03
1.46673E-03
1.22627E-03
1.31963E-03
1.26456E-03
cmfd dominance ratio
5.539E-01
5.537E-01
5.536E-01
5.515E-01
5.512E-01
5.514E-01
5.518E-01
5.507E-01
5.500E-01
5.497E-01
5.477E-01
5.461E-01
5.444E-01
5.445E-01
5.454E-01
5.467E-01
5.453E-01
5.458E-01
5.436E-01
5.442E-01
5.406E-01
5.401E-01
5.413E-01
4.995E-01
5.396E-01
5.409E-01
5.414E-01
5.423E-01
5.456E-01
5.442E-01
5.441E-01
cmfd openmc source comparison
9.875240E-03
1.106163E-02
9.847628E-03
6.065921E-03
5.772039E-03
4.615656E-03
4.244331E-03
3.694299E-03
3.545814E-03
3.213063E-03
3.467537E-03
3.383489E-03
3.697591E-03
3.937358E-03
3.369124E-03
3.190359E-03
9.587418E-03
8.150978E-03
6.677661E-03
6.334727E-03
5.153692E-03
5.082964E-03
4.633153E-03
4.037383E-03
3.528742E-03
4.559089E-03
3.517370E-03
3.306117E-03
2.913809E-03
1.906045E-03
1.932794E-03
1.711341E-03
cmfd source
4.360494E-02
8.397599E-02
1.074181E-01
1.294531E-01
1.385611E-01
1.407934E-01
1.325191E-01
1.044311E-01
7.660359E-02
4.263941E-02
4.496492E-02
7.869674E-02
1.100280E-01
1.354045E-01
1.363339E-01
1.380533E-01
1.314512E-01
1.077480E-01
7.847306E-02
3.884630E-02

View file

@ -1,112 +1,112 @@
k-combined:
1.035567E+00 9.463160E-03
1.027434E+00 6.509170E-03
tally 1:
1.146535E+02
1.315267E+03
1.157458E+02
1.340166E+03
1.140491E+02
1.301364E+03
1.146589E+02
1.315433E+03
1.162758E+02
1.352562E+03
1.138125E+02
1.295815E+03
1.143712E+02
1.308316E+03
1.150293E+02
1.323834E+03
tally 2:
4.319968E+01
9.360083E+01
6.373035E+01
2.038056E+02
1.889646E+02
1.812892E+03
1.024866E+02
5.254528E+02
4.323262E+01
9.360200E+01
6.363111E+01
2.028178E+02
1.849746E+02
1.711533E+03
1.034532E+02
5.352768E+02
4.296541E+01
9.249656E+01
6.346919E+01
2.018659E+02
1.888697E+02
1.812037E+03
1.025707E+02
5.262261E+02
4.691085E+01
1.269707E+02
6.299377E+01
1.990497E+02
1.853864E+02
1.719984E+03
1.023015E+02
5.235858E+02
4.284580E+01
9.207089E+01
6.335165E+01
2.014931E+02
1.894187E+02
1.818190E+03
1.033212E+02
5.340768E+02
4.282771E+01
9.186295E+01
6.295029E+01
1.983895E+02
1.834276E+02
1.684375E+03
1.022482E+02
5.228403E+02
4.330690E+01
9.402038E+01
6.395965E+01
2.053163E+02
1.851113E+02
1.714198E+03
1.030809E+02
5.314535E+02
4.337097E+01
9.426435E+01
6.417590E+01
2.063443E+02
1.846817E+02
1.706518E+03
1.027233E+02
5.279582E+02
tally 3:
6.034963E+01
1.827718E+02
5.992726E+01
1.803120E+02
0.000000E+00
0.000000E+00
1.865665E-02
4.244195E-05
4.170941E+00
8.769372E-01
3.453368E+00
5.989168E-01
2.172646E-02
4.414237E-05
4.181401E+00
8.912796E-01
3.536506E+00
6.287425E-01
0.000000E+00
0.000000E+00
9.743205E+01
4.749420E+02
8.570316E-01
3.807993E-02
6.005903E+01
1.807233E+02
9.824432E+01
4.828691E+02
9.116848E-01
4.231247E-02
5.955090E+01
1.775522E+02
0.000000E+00
0.000000E+00
1.885450E-02
3.653402E-05
4.323863E+00
9.447512E-01
3.465465E+00
6.022861E-01
1.893222E-02
3.288000E-05
4.048183E+00
8.291130E-01
3.384041E+00
5.742363E-01
0.000000E+00
0.000000E+00
9.843481E+01
4.846158E+02
9.048150E-01
4.205551E-02
5.996660E+01
1.802150E+02
9.734253E+01
4.738861E+02
9.157632E-01
4.329280E-02
6.045835E+01
1.835255E+02
0.000000E+00
0.000000E+00
1.221444E-02
2.263445E-05
4.301287E+00
9.309882E-01
3.456076E+00
5.992144E-01
1.501842E-02
1.896931E-05
4.289989E+00
9.251538E-01
3.481357E+00
6.071667E-01
0.000000E+00
0.000000E+00
9.761231E+01
4.765834E+02
8.434644E-01
3.728180E-02
5.961891E+01
1.783106E+02
9.799829E+01
4.803591E+02
8.899390E-01
4.078750E-02
6.064531E+01
1.842746E+02
0.000000E+00
0.000000E+00
1.500709E-02
3.541280E-05
4.155669E+00
8.713442E-01
3.455342E+00
6.006426E-01
1.495496E-02
3.082640E-05
4.321537E+00
9.371611E-01
3.453767E+00
5.983727E-01
0.000000E+00
0.000000E+00
9.726798E+01
4.733393E+02
9.202611E-01
4.390503E-02
9.771776E+01
4.777781E+02
8.975444E-01
4.157471E-02
tally 4:
0.000000E+00
0.000000E+00
@ -116,14 +116,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.943264E+00
4.008855E+00
3.661063E+01
6.704808E+01
8.945553E+00
4.011707E+00
3.696832E+01
6.835286E+01
8.840487E+00
3.915792E+00
3.700362E+01
6.851588E+01
8.756789E+00
3.844443E+00
3.672366E+01
6.747174E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -132,14 +132,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.844569E+00
3.924591E+00
3.666726E+01
6.726522E+01
8.769637E+00
3.855006E+00
3.654115E+01
6.680777E+01
8.860460E+00
3.940908E+00
3.704658E+01
6.864069E+01
8.832046E+00
3.916611E+00
3.736239E+01
6.982147E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -156,14 +156,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.945553E+00
4.011707E+00
3.696832E+01
6.835286E+01
8.943264E+00
4.008855E+00
3.661063E+01
6.704808E+01
8.756789E+00
3.844443E+00
3.672366E+01
6.747174E+01
8.840487E+00
3.915792E+00
3.700362E+01
6.851588E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -180,14 +180,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.648474E+00
3.752219E+00
3.689442E+01
6.808997E+01
8.757378E+00
3.850408E+00
3.716920E+01
6.909715E+01
8.892576E+00
3.964978E+00
3.703525E+01
6.860645E+01
8.824229E+00
3.906925E+00
3.685909E+01
6.796123E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -212,22 +212,22 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.783669E+00
3.870748E+00
3.687358E+01
6.802581E+01
8.755250E+00
3.846298E+00
3.660278E+01
6.704349E+01
8.769637E+00
3.855006E+00
3.654115E+01
6.680777E+01
8.844569E+00
3.924591E+00
3.666726E+01
6.726522E+01
9.050876E+00
4.111409E+00
3.656082E+01
6.687580E+01
9.042402E+00
4.105842E+00
3.687247E+01
6.801050E+01
8.832046E+00
3.916611E+00
3.736239E+01
6.982147E+01
8.860460E+00
3.940908E+00
3.704658E+01
6.864069E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -252,14 +252,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.755250E+00
3.846298E+00
3.660278E+01
6.704349E+01
8.783669E+00
3.870748E+00
3.687358E+01
6.802581E+01
9.042402E+00
4.105842E+00
3.687247E+01
6.801050E+01
9.050876E+00
4.111409E+00
3.656082E+01
6.687580E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -268,14 +268,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.757378E+00
3.850408E+00
3.716920E+01
6.909715E+01
8.648474E+00
3.752219E+00
3.689442E+01
6.808997E+01
8.824229E+00
3.906925E+00
3.685909E+01
6.796123E+01
8.892576E+00
3.964978E+00
3.703525E+01
6.860645E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -301,133 +301,133 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
6.036829E+01
1.828885E+02
1.008777E+02
5.091033E+02
1.353211E+01
9.188155E+00
4.618716E+01
1.067410E+02
6.007789E+01
1.808371E+02
1.018892E+02
5.192269E+02
1.357961E+01
9.247052E+00
4.618560E+01
1.067058E+02
5.997882E+01
1.802895E+02
1.010597E+02
5.108478E+02
1.374955E+01
9.502494E+00
4.619500E+01
1.067547E+02
5.963392E+01
1.783999E+02
1.007134E+02
5.074700E+02
1.319398E+01
8.734106E+00
4.586295E+01
1.052870E+02
5.994898E+01
1.804403E+02
1.017670E+02
5.181130E+02
1.354160E+01
9.220935E+00
4.648971E+01
1.081636E+02
5.956983E+01
1.776668E+02
1.007226E+02
5.073592E+02
1.347883E+01
9.120344E+00
4.609907E+01
1.063127E+02
6.047337E+01
1.836168E+02
1.014777E+02
5.150557E+02
1.390508E+01
9.722899E+00
4.629251E+01
1.072027E+02
6.066027E+01
1.843661E+02
1.011648E+02
5.120629E+02
1.365982E+01
9.372236E+00
4.602994E+01
1.060579E+02
cmfd indices
2.000000E+00
2.000000E+00
1.000000E+00
2.000000E+00
k cmfd
1.018115E+00
1.022665E+00
1.020323E+00
1.020653E+00
1.021036E+00
1.020623E+00
1.021482E+00
1.025450E+00
1.027292E+00
1.028065E+00
1.027065E+00
1.024275E+00
1.025309E+00
1.026039E+00
1.026700E+00
1.023865E+00
1.013488E+00
1.024396E+00
1.015533E+00
1.009319E+00
1.012726E+00
1.014831E+00
1.021757E+00
1.022002E+00
1.023619E+00
1.020953E+00
1.023910E+00
1.027657E+00
1.024501E+00
1.023838E+00
1.025464E+00
1.022802E+00
cmfd entropy
1.998965E+00
1.999214E+00
1.999348E+00
1.999366E+00
1.999564E+00
1.999453E+00
1.999533E+00
1.999630E+00
1.999739E+00
1.999588E+00
1.999581E+00
1.999719E+00
1.999773E+00
1.999764E+00
1.999821E+00
1.999843E+00
1.998974E+00
1.998742E+00
1.999128E+00
1.998952E+00
1.998951E+00
1.999439E+00
1.999626E+00
1.999826E+00
1.999513E+00
1.999451E+00
1.999514E+00
1.999590E+00
1.999563E+00
1.999604E+00
1.999742E+00
1.999736E+00
cmfd balance
5.73174E-04
7.55398E-04
1.46671E-03
6.39625E-04
8.19008E-04
1.93449E-03
1.15900E-03
1.01690E-03
5.62788E-04
6.90450E-04
6.01060E-04
5.73418E-04
4.37190E-04
4.82966E-04
4.09700E-04
3.45096E-04
9.79896E-04
4.24873E-04
8.05696E-04
1.92071E-03
3.70731E-04
2.81424E-04
8.28991E-04
6.12217E-04
5.29185E-04
4.97799E-04
3.09154E-04
1.73703E-04
2.56689E-04
2.64938E-04
1.96305E-04
1.82702E-04
cmfd dominance ratio
6.264E-03
6.142E-03
5.987E-03
6.082E-03
5.895E-03
5.939E-03
5.910E-03
5.948E-03
6.013E-03
6.017E-03
6.024E-03
6.008E-03
5.976E-03
5.987E-03
5.967E-03
5.929E-03
6.304E-03
6.246E-03
6.159E-03
6.249E-03
6.101E-03
6.155E-03
6.010E-03
6.177E-03
6.349E-03
6.241E-03
6.244E-03
6.249E-03
6.270E-03
6.272E-03
6.278E-03
6.290E-03
cmfd openmc source comparison
4.832872E-05
6.552342E-05
7.516800E-05
7.916087E-05
9.022260E-05
8.574478E-05
7.891622E-05
7.281636E-05
7.750571E-05
6.565408E-05
6.078665E-05
5.834343E-05
4.758176E-05
5.723990E-05
4.994116E-05
4.116808E-05
4.046094E-05
5.979431E-05
3.836521E-05
4.577591E-05
5.012911E-05
2.114677E-05
2.074571E-05
3.042280E-05
2.408163E-05
2.434542E-05
1.190699E-05
9.499301E-06
2.354221E-05
2.937924E-05
1.889875E-05
1.913866E-05
cmfd source
2.455663E-01
2.553511E-01
2.512257E-01
2.478570E-01
2.489706E-01
2.426801E-01
2.532142E-01
2.551351E-01
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -1,117 +1,117 @@
k-combined:
1.167865E+00 7.492213E-03
1.170835E+00 5.423480E-03
tally 1:
1.146860E+01
1.318884E+01
2.161527E+01
4.685283E+01
2.951158E+01
8.733566E+01
3.521610E+01
1.242821E+02
3.774236E+01
1.426501E+02
3.727918E+01
1.391158E+02
3.377176E+01
1.143839E+02
2.904497E+01
8.452907E+01
2.090871E+01
4.384549E+01
1.078642E+01
1.168086E+01
1.205100E+01
1.456707E+01
2.183882E+01
4.781179E+01
2.844010E+01
8.102358E+01
3.356334E+01
1.130832E+02
3.660829E+01
1.344973E+02
3.697740E+01
1.371500E+02
3.400119E+01
1.160196E+02
2.839868E+01
8.083199E+01
2.140398E+01
4.615447E+01
1.118179E+01
1.262942E+01
tally 2:
1.136810E+00
1.292338E+00
7.987303E-01
6.379700E-01
2.266938E+00
5.139009E+00
1.613483E+00
2.603328E+00
3.046349E+00
9.280239E+00
2.182459E+00
4.763126E+00
3.568068E+00
1.273111E+01
2.532456E+00
6.413333E+00
3.989504E+00
1.591614E+01
2.848301E+00
8.112818E+00
3.853133E+00
1.484663E+01
2.718493E+00
7.390202E+00
3.478138E+00
1.209745E+01
2.467281E+00
6.087476E+00
2.952220E+00
8.715605E+00
2.103261E+00
4.423706E+00
1.917459E+00
3.676649E+00
1.378369E+00
1.899902E+00
1.048240E+00
1.098807E+00
7.511947E-01
5.642934E-01
1.218245E+00
1.484121E+00
8.387442E-01
7.034918E-01
2.142134E+00
4.588738E+00
1.526727E+00
2.330895E+00
2.736157E+00
7.486556E+00
1.973921E+00
3.896363E+00
3.606244E+00
1.300500E+01
2.537580E+00
6.439313E+00
3.668958E+00
1.346126E+01
2.599095E+00
6.755294E+00
3.647982E+00
1.330777E+01
2.539750E+00
6.450332E+00
3.118921E+00
9.727669E+00
2.186447E+00
4.780549E+00
2.881110E+00
8.300795E+00
2.042635E+00
4.172360E+00
2.045602E+00
4.184486E+00
1.458384E+00
2.126884E+00
1.022124E+00
1.044738E+00
7.112678E-01
5.059018E-01
tally 3:
7.701233E-01
5.930898E-01
4.481585E-02
2.008461E-03
1.547307E+00
2.394158E+00
1.226539E-01
1.504398E-02
2.106373E+00
4.436806E+00
1.450618E-01
2.104294E-02
2.437654E+00
5.942157E+00
1.521380E-01
2.314598E-02
2.754639E+00
7.588038E+00
1.745460E-01
3.046629E-02
2.623852E+00
6.884601E+00
1.851602E-01
3.428432E-02
2.376886E+00
5.649588E+00
1.615729E-01
2.610582E-02
2.021856E+00
4.087900E+00
1.533174E-01
2.350622E-02
1.333190E+00
1.777397E+00
7.076188E-02
5.007243E-03
7.258527E-01
5.268622E-01
3.656030E-02
1.336656E-03
8.048428E-01
6.477720E-01
6.603741E-02
4.360940E-03
1.466886E+00
2.151755E+00
1.002354E-01
1.004713E-02
1.909238E+00
3.645189E+00
1.202824E-01
1.446786E-02
2.443130E+00
5.968886E+00
1.627351E-01
2.648270E-02
2.492602E+00
6.213064E+00
1.910368E-01
3.649506E-02
2.437262E+00
5.940245E+00
1.568389E-01
2.459843E-02
2.104091E+00
4.427200E+00
1.450465E-01
2.103848E-02
1.965900E+00
3.864762E+00
1.367918E-01
1.871199E-02
1.402871E+00
1.968047E+00
1.061316E-01
1.126391E-02
6.832689E-01
4.668565E-01
4.599034E-02
2.115112E-03
tally 4:
1.667432E-01
2.780328E-02
1.497312E-01
2.241943E-02
0.000000E+00
0.000000E+00
1.292567E-01
1.670730E-02
2.813370E-01
7.915052E-02
1.535839E-01
2.358801E-02
2.882052E-01
8.306225E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.813370E-01
7.915052E-02
1.292567E-01
1.670730E-02
2.670549E-01
7.131835E-02
4.055324E-01
1.644566E-01
2.882052E-01
8.306225E-02
1.535839E-01
2.358801E-02
2.526805E-01
6.384743E-02
3.616220E-01
1.307705E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.055324E-01
1.644566E-01
2.670549E-01
7.131835E-02
3.848125E-01
1.480807E-01
4.809430E-01
2.313062E-01
3.616220E-01
1.307705E-01
2.526805E-01
6.384743E-02
3.594306E-01
1.291904E-01
4.229730E-01
1.789062E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.809430E-01
2.313062E-01
3.848125E-01
1.480807E-01
4.543918E-01
2.064719E-01
5.106133E-01
2.607260E-01
4.229730E-01
1.789062E-01
3.594306E-01
1.291904E-01
3.973299E-01
1.578711E-01
4.255879E-01
1.811250E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.106133E-01
2.607260E-01
4.543918E-01
2.064719E-01
4.543120E-01
2.063994E-01
4.626328E-01
2.140291E-01
4.255879E-01
1.811250E-01
3.973299E-01
1.578711E-01
4.633933E-01
2.147333E-01
4.672837E-01
2.183540E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.626328E-01
2.140291E-01
4.543120E-01
2.063994E-01
4.827759E-01
2.330726E-01
4.442622E-01
1.973689E-01
4.672837E-01
2.183540E-01
4.633933E-01
2.147333E-01
4.251073E-01
1.807162E-01
3.842922E-01
1.476805E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.442622E-01
1.973689E-01
4.827759E-01
2.330726E-01
4.630420E-01
2.144079E-01
3.886524E-01
1.510507E-01
3.842922E-01
1.476805E-01
4.251073E-01
1.807162E-01
4.045096E-01
1.636280E-01
3.192860E-01
1.019436E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
3.886524E-01
1.510507E-01
4.630420E-01
2.144079E-01
3.535870E-01
1.250237E-01
2.530312E-01
6.402478E-02
3.192860E-01
1.019436E-01
4.045096E-01
1.636280E-01
3.738326E-01
1.397508E-01
2.598153E-01
6.750398E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.530312E-01
6.402478E-02
3.535870E-01
1.250237E-01
2.465524E-01
6.078808E-02
1.197152E-01
1.433173E-02
2.598153E-01
6.750398E-02
3.738326E-01
1.397508E-01
2.453191E-01
6.018146E-02
1.098964E-01
1.207721E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
1.197152E-01
1.433173E-02
2.465524E-01
6.078808E-02
1.369631E-01
1.875888E-02
1.098964E-01
1.207721E-02
2.453191E-01
6.018146E-02
1.458094E-01
2.126039E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,119 +345,119 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
7.701233E-01
5.930898E-01
1.386250E-01
1.921688E-02
1.547307E+00
2.394158E+00
2.630277E-01
6.918357E-02
2.106373E+00
4.436806E+00
2.807880E-01
7.884187E-02
2.435849E+00
5.933361E+00
3.322060E-01
1.103608E-01
2.753634E+00
7.582501E+00
3.825922E-01
1.463768E-01
2.623852E+00
6.884601E+00
3.888710E-01
1.512206E-01
2.376886E+00
5.649588E+00
3.196217E-01
1.021581E-01
2.021856E+00
4.087900E+00
2.897881E-01
8.397715E-02
1.333190E+00
1.777397E+00
1.627110E-01
2.647486E-02
7.258527E-01
5.268622E-01
9.348666E-02
8.739755E-03
8.048428E-01
6.477720E-01
1.018934E-01
1.038226E-02
1.466886E+00
2.151755E+00
1.414681E-01
2.001322E-02
1.909238E+00
3.645189E+00
2.450211E-01
6.003535E-02
2.443130E+00
5.968886E+00
3.360056E-01
1.128997E-01
2.492602E+00
6.213064E+00
3.266277E-01
1.066856E-01
2.437262E+00
5.940245E+00
2.878100E-01
8.283461E-02
2.104091E+00
4.427200E+00
3.440457E-01
1.183675E-01
1.965900E+00
3.864762E+00
2.880615E-01
8.297945E-02
1.401955E+00
1.965478E+00
1.646479E-01
2.710892E-02
6.832689E-01
4.668565E-01
1.147413E-01
1.316557E-02
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.149077E+00
1.156751E+00
1.158648E+00
1.159506E+00
1.156567E+00
1.160259E+00
1.150345E+00
1.149846E+00
1.151606E+00
1.164544E+00
1.174648E+00
1.181376E+00
1.176656E+00
1.161939E+00
1.163552E+00
1.163035E+00
1.170382E+00
1.160597E+00
1.154301E+00
1.159007E+00
1.148290E+00
1.157088E+00
cmfd entropy
3.216173E+00
3.228717E+00
3.220402E+00
3.214352E+00
3.215636E+00
3.213599E+00
3.212854E+00
3.213131E+00
3.213196E+00
3.205474E+00
3.202869E+00
3.246419E+00
3.246511E+00
3.252247E+00
3.240919E+00
3.237600E+00
3.233990E+00
3.234226E+00
3.229356E+00
3.224272E+00
3.225381E+00
3.226778E+00
cmfd balance
3.08825E-03
1.42345E-03
1.21253E-03
1.17694E-03
1.05901E-03
9.29611E-04
1.35587E-03
1.13579E-03
1.14964E-03
1.29313E-03
1.46566E-03
4.18486E-03
1.72126E-03
1.10899E-03
1.88170E-03
1.31646E-03
1.34128E-03
1.57944E-03
2.11251E-03
1.79912E-03
1.86000E-03
1.47765E-03
cmfd dominance ratio
5.524E-01
5.614E-01
5.522E-01
5.487E-01
5.482E-01
5.446E-01
5.437E-01
5.429E-01
5.407E-01
5.380E-01
5.377E-01
5.597E-01
5.622E-01
5.544E-01
5.541E-01
5.519E-01
5.532E-01
5.550E-01
5.484E-01
5.497E-01
5.500E-01
cmfd openmc source comparison
1.586045E-02
6.953134E-03
6.860419E-03
6.198467E-03
5.142854E-03
4.373354E-03
5.564831E-03
4.184765E-03
1.867780E-03
2.734784E-03
2.523985E-03
1.905464E-03
4.145126E-03
2.465876E-03
2.346755E-03
1.848120E-03
3.263822E-03
3.641639E-03
4.031509E-03
4.999010E-03
6.640746E-03
5.691414E-03
cmfd source
4.241440E-02
8.226026E-02
1.180811E-01
1.328433E-01
1.412410E-01
1.424902E-01
1.269340E-01
1.096490E-01
6.953251E-02
3.455422E-02
4.951338E-02
8.478025E-02
1.083132E-01
1.301432E-01
1.341190E-01
1.445825E-01
1.255119E-01
1.063303E-01
7.830158E-02
3.840469E-02

View file

@ -1,208 +1,208 @@
k-combined:
1.005987E+00 1.354263E-02
1.008852E+00 9.028695E-03
tally 1:
1.140273E+02
1.301245E+03
1.147962E+02
1.319049E+03
1.151426E+02
1.326442E+03
1.149265E+02
1.321518E+03
1.151271E+02
1.325871E+03
1.143934E+02
1.309051E+03
1.142507E+02
1.306616E+03
1.140242E+02
1.300786E+03
tally 2:
3.462748E+01
7.542476E+01
5.129219E+01
1.658142E+02
1.034704E+01
6.730603E+00
8.672967E+00
4.715295E+00
1.344669E+02
1.132019E+03
7.262519E+01
3.300787E+02
3.447358E+01
7.459545E+01
5.075836E+01
1.619570E+02
1.080516E+01
7.366369E+00
8.908065E+00
4.991975E+00
1.354224E+02
1.146824E+03
7.300078E+01
3.332531E+02
3.432298E+01
7.388666E+01
5.096378E+01
1.627979E+02
1.053664E+01
7.029789E+00
8.826624E+00
4.904429E+00
1.388389E+02
1.207280E+03
7.376623E+01
3.403211E+02
4.383841E+01
1.943331E+02
5.165881E+01
1.675923E+02
1.059646E+01
7.048052E+00
8.763673E+00
4.823505E+00
1.378179E+02
1.188104E+03
7.431708E+01
3.453746E+02
3.403617E+01
7.260478E+01
5.031678E+01
1.588977E+02
1.003700E+01
6.373741E+00
8.514575E+00
4.571811E+00
1.413036E+02
1.264708E+03
7.321799E+01
3.353408E+02
3.354839E+01
7.052647E+01
4.895930E+01
1.501243E+02
9.972495E+00
6.271276E+00
8.436263E+00
4.481319E+00
1.353506E+02
1.146040E+03
7.309382E+01
3.341751E+02
3.389861E+01
7.205501E+01
5.005946E+01
1.571210E+02
1.041650E+01
6.810868E+00
8.839753E+00
4.897617E+00
1.344145E+02
1.130242E+03
7.270373E+01
3.307223E+02
3.347928E+01
7.040185E+01
4.940585E+01
1.535767E+02
9.898649E+00
6.175319E+00
8.406032E+00
4.442856E+00
1.374544E+02
1.182191E+03
7.334301E+01
3.365399E+02
tally 3:
4.858880E+01
1.488705E+02
4.755532E+01
1.419592E+02
0.000000E+00
0.000000E+00
8.148667E-03
1.337050E-05
1.628248E-02
3.680742E-05
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.347376E+00
7.045574E-01
2.433484E+00
3.727266E-01
3.347160E+00
7.104290E-01
2.453669E+00
3.797470E-01
0.000000E+00
0.000000E+00
6.095478E+00
2.332622E+00
5.925795E+00
2.220734E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.235421E-01
1.205155E-03
3.647699E-01
8.953589E-03
9.542527E-02
1.118856E-03
3.018759E-01
6.371059E-03
0.000000E+00
0.000000E+00
2.673965E+00
4.517972E-01
2.501316E+00
3.938401E-01
0.000000E+00
0.000000E+00
6.841105E+01
2.929195E+02
5.902473E-01
2.307683E-02
4.792291E+01
1.444397E+02
6.926265E+01
3.001504E+02
6.765221E-01
2.991787E-02
4.605523E+01
1.328435E+02
0.000000E+00
0.000000E+00
2.183275E-02
8.061011E-05
1.687782E-02
3.921162E-05
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.435826E+00
7.480244E-01
2.450829E+00
3.800327E-01
3.481608E+00
7.705602E-01
2.439374E+00
3.779705E-01
0.000000E+00
0.000000E+00
6.331358E+00
2.530492E+00
5.855806E+00
2.162361E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.012941E-01
8.217580E-04
2.981274E-01
5.863186E-03
1.016677E-01
9.263706E-04
3.264878E-01
7.385168E-03
0.000000E+00
0.000000E+00
2.535628E+00
4.048310E-01
2.519730E+00
3.986182E-01
0.000000E+00
0.000000E+00
6.912003E+01
2.987684E+02
5.984862E-01
2.386115E-02
4.822881E+01
1.458309E+02
6.920950E+01
2.996184E+02
5.985719E-01
2.368062E-02
4.730723E+01
1.403550E+02
0.000000E+00
0.000000E+00
1.525590E-02
3.794082E-05
6.800415E-03
1.163614E-05
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.314494E+00
6.944527E-01
2.424209E+00
3.691360E-01
3.347607E+00
7.085691E-01
2.556997E+00
4.109118E-01
0.000000E+00
0.000000E+00
6.254897E+00
2.474317E+00
6.171063E+00
2.391770E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
1.112542E-01
1.051688E-03
3.234880E-01
7.156753E-03
7.942016E-02
5.628747E-04
3.456912E-01
7.940086E-03
0.000000E+00
0.000000E+00
2.474142E+00
3.837496E-01
2.684459E+00
4.546338E-01
0.000000E+00
0.000000E+00
6.987095E+01
3.053358E+02
5.928782E-01
2.368116E-02
4.885415E+01
1.499856E+02
6.850588E+01
2.936078E+02
6.458806E-01
2.672541E-02
4.673301E+01
1.374202E+02
0.000000E+00
0.000000E+00
1.262416E-02
2.486286E-05
1.504681E-02
4.202606E-05
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
3.426826E+00
7.480396E-01
2.487209E+00
3.903882E-01
3.139138E+00
6.206027E-01
2.341735E+00
3.454035E-01
0.000000E+00
0.000000E+00
6.127303E+00
2.364605E+00
5.923755E+00
2.216341E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
9.439007E-02
1.082564E-03
2.963491E-01
5.652952E-03
7.030156E-02
4.283974E-04
3.247594E-01
7.133772E-03
0.000000E+00
0.000000E+00
2.620696E+00
4.311792E-01
2.559691E+00
4.119674E-01
0.000000E+00
0.000000E+00
7.030725E+01
3.091241E+02
5.986966E-01
2.352487E-02
6.938051E+01
3.012078E+02
5.159565E-01
1.730381E-02
tally 4:
0.000000E+00
0.000000E+00
@ -216,18 +216,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.028624E+00
3.105990E+00
2.154648E+00
2.948865E-01
2.714077E+01
4.607926E+01
7.035506E+00
3.118549E+00
2.085916E+00
2.730884E-01
2.750091E+01
4.731304E+01
7.028166E+00
3.103666E+00
2.028371E+00
2.606104E-01
2.715466E+01
4.614452E+01
6.981028E+00
3.059096E+00
2.032450E+00
2.610410E-01
2.734281E+01
4.675062E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -240,18 +240,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.170567E+00
3.240715E+00
2.131758E+00
2.862355E-01
2.747702E+01
4.722977E+01
7.068817E+00
3.139275E+00
2.095865E+00
2.762179E-01
2.737835E+01
4.688689E+01
6.969559E+00
3.054867E+00
2.042871E+00
2.624815E-01
2.766332E+01
4.787778E+01
7.022610E+00
3.098329E+00
2.109973E+00
2.824233E-01
2.733826E+01
4.676309E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -276,18 +276,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.035506E+00
3.118549E+00
2.085916E+00
2.730884E-01
2.750091E+01
4.731304E+01
7.028624E+00
3.105990E+00
2.154648E+00
2.948865E-01
2.714077E+01
4.607926E+01
6.981028E+00
3.059096E+00
2.032450E+00
2.610410E-01
2.734281E+01
4.675062E+01
7.028166E+00
3.103666E+00
2.028371E+00
2.606104E-01
2.715466E+01
4.614452E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -312,18 +312,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.103896E+00
3.171147E+00
2.095666E+00
2.756673E-01
2.711842E+01
4.600196E+01
7.197270E+00
3.255501E+00
2.046179E+00
2.630301E-01
2.729901E+01
4.662030E+01
6.782152E+00
2.885448E+00
1.951138E+00
2.400912E-01
2.739652E+01
4.697696E+01
6.873220E+00
2.965563E+00
1.999066E+00
2.521586E-01
2.732700E+01
4.670990E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -360,30 +360,30 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.240906E+00
3.296285E+00
2.130816E+00
2.850713E-01
2.761433E+01
4.771548E+01
7.126427E+00
3.199209E+00
2.177254E+00
2.998765E-01
2.754936E+01
4.748447E+01
7.068817E+00
3.139275E+00
2.095865E+00
2.762179E-01
2.737835E+01
4.688689E+01
7.170567E+00
3.240715E+00
2.131758E+00
2.862355E-01
2.747702E+01
4.722977E+01
6.933695E+00
3.028826E+00
2.080336E+00
2.719620E-01
2.726925E+01
4.650782E+01
6.836291E+00
2.935998E+00
2.124868E+00
2.841370E-01
2.709685E+01
4.591604E+01
7.022610E+00
3.098329E+00
2.109973E+00
2.824233E-01
2.733826E+01
4.676309E+01
6.969559E+00
3.054867E+00
2.042871E+00
2.624815E-01
2.766332E+01
4.787778E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -420,18 +420,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.126427E+00
3.199209E+00
2.177254E+00
2.998765E-01
2.754936E+01
4.748447E+01
7.240906E+00
3.296285E+00
2.130816E+00
2.850713E-01
2.761433E+01
4.771548E+01
6.836291E+00
2.935998E+00
2.124868E+00
2.841370E-01
2.709685E+01
4.591604E+01
6.933695E+00
3.028826E+00
2.080336E+00
2.719620E-01
2.726925E+01
4.650782E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -444,18 +444,18 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.197270E+00
3.255501E+00
2.046179E+00
2.630301E-01
2.729901E+01
4.662030E+01
7.103896E+00
3.171147E+00
2.095666E+00
2.756673E-01
2.711842E+01
4.600196E+01
6.873220E+00
2.965563E+00
1.999066E+00
2.521586E-01
2.732700E+01
4.670990E+01
6.782152E+00
2.885448E+00
1.951138E+00
2.400912E-01
2.739652E+01
4.697696E+01
0.000000E+00
0.000000E+00
0.000000E+00
@ -493,124 +493,124 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
4.859695E+01
1.489217E+02
8.528963E+00
4.561881E+00
7.144500E+01
3.194467E+02
1.120265E+01
7.944038E+00
4.009821E+00
1.012575E+00
3.235456E+01
6.558658E+01
4.794474E+01
1.445671E+02
8.782187E+00
4.852477E+00
7.195036E+01
3.237389E+02
1.075572E+01
7.333822E+00
4.084680E+00
1.054714E+00
3.267154E+01
6.675266E+01
4.824407E+01
1.459220E+02
8.679106E+00
4.742342E+00
7.266858E+01
3.302641E+02
1.094872E+01
7.536318E+00
3.935828E+00
9.749543E-01
3.319517E+01
6.894791E+01
4.886677E+01
1.500624E+02
8.614512E+00
4.662618E+00
7.321408E+01
3.352172E+02
1.095123E+01
7.574359E+00
3.885927E+00
9.539315E-01
3.334065E+01
6.953215E+01
4.757160E+01
1.420561E+02
8.379464E+00
4.426892E+00
7.205748E+01
3.248178E+02
1.047742E+01
6.922945E+00
3.879420E+00
9.517577E-01
3.297227E+01
6.802001E+01
4.607211E+01
1.329402E+02
8.295180E+00
4.334618E+00
7.205259E+01
3.247324E+02
1.059307E+01
7.039382E+00
3.783039E+00
9.030658E-01
3.288052E+01
6.762048E+01
4.731403E+01
1.403940E+02
8.728060E+00
4.774750E+00
7.152809E+01
3.200993E+02
1.074636E+01
7.270116E+00
4.007351E+00
1.010562E+00
3.249303E+01
6.611829E+01
4.674806E+01
1.375015E+02
8.265491E+00
4.296947E+00
7.226174E+01
3.267127E+02
1.079228E+01
7.340408E+00
3.843888E+00
9.273339E-01
3.300391E+01
6.823122E+01
cmfd indices
2.000000E+00
2.000000E+00
1.000000E+00
3.000000E+00
k cmfd
1.026473E+00
1.024183E+00
1.023151E+00
1.025047E+00
1.019801E+00
1.020492E+00
1.015249E+00
1.016714E+00
1.016047E+00
1.019687E+00
1.020955E+00
1.011190E+00
1.010705E+00
1.014132E+00
1.015900E+00
1.019132E+00
1.022616E+00
1.023007E+00
1.022300E+00
1.014692E+00
1.007628E+00
1.006204E+00
cmfd entropy
1.999640E+00
1.999556E+00
1.999484E+00
1.999718E+00
1.999697E+00
1.999657E+00
1.999883E+00
1.999902E+00
1.999977E+00
1.999977E+00
1.999906E+00
1.999167E+00
1.999076E+00
1.998507E+00
1.997924E+00
1.997814E+00
1.997752E+00
1.997882E+00
1.998074E+00
1.998109E+00
1.998301E+00
1.998581E+00
cmfd balance
8.10090E-04
1.28103E-03
7.97200E-04
5.82188E-04
7.20670E-04
7.31475E-04
5.71904E-04
6.14057E-04
6.00142E-04
5.47870E-04
3.53604E-04
9.30124E-04
2.56632E-04
3.62598E-04
4.17543E-04
5.25720E-04
4.90208E-04
3.61304E-04
2.24090E-04
1.86602E-04
1.78395E-04
6.42497E-05
cmfd dominance ratio
3.977E-03
4.018E-03
3.950E-03
3.866E-03
3.840E-03
3.888E-03
3.867E-03
3.896E-03
3.924E-03
3.885E-03
3.913E-03
4.194E-03
4.234E-03
4.149E-03
4.209E-03
4.185E-03
4.197E-03
4.175E-03
4.105E-03
4.056E-03
4.122E-03
4.113E-03
cmfd openmc source comparison
4.787501E-05
4.450525E-05
2.532345E-05
3.844307E-05
4.821504E-05
4.840760E-05
3.739246E-05
3.957960E-05
4.521480E-05
4.072007E-05
2.532636E-05
2.078995E-05
2.415218E-05
3.311536E-05
3.598613E-05
3.156455E-05
2.737017E-05
2.468500E-05
2.514215E-05
1.601626E-05
1.424027E-05
4.201148E-06
cmfd source
2.486236E-01
2.531628E-01
2.460219E-01
2.521918E-01
2.558585E-01
2.597562E-01
2.529866E-01
2.313986E-01
0.000000E+00
0.000000E+00
0.000000E+00

View file

@ -1,149 +1,149 @@
k-combined:
1.160561E+00 1.029736E-02
1.157362E+00 9.651846E-03
tally 1:
1.089904E+01
1.193573E+01
2.026534E+01
4.113383E+01
2.723584E+01
7.440537E+01
3.309956E+01
1.101184E+02
3.659327E+01
1.341221E+02
3.780158E+01
1.430045E+02
3.520883E+01
1.241772E+02
2.961801E+01
8.784675E+01
2.182029E+01
4.781083E+01
1.180347E+01
1.399970E+01
1.160989E+01
1.351117E+01
2.127132E+01
4.540172E+01
2.903242E+01
8.450044E+01
3.443549E+01
1.188763E+02
3.678332E+01
1.355586E+02
3.760088E+01
1.418740E+02
3.433077E+01
1.181837E+02
2.861986E+01
8.231285E+01
2.182277E+01
4.792086E+01
1.138713E+01
1.304425E+01
tally 2:
8.794706E+00
3.939413E+00
6.131113E+00
1.913116E+00
3.265522E+01
5.364042E+01
2.304238E+01
2.672742E+01
2.250225E+01
2.541491E+01
1.601668E+01
1.288405E+01
5.525355E+01
1.531915E+02
3.929637E+01
7.748545E+01
3.222711E+01
5.216630E+01
2.285375E+01
2.623641E+01
7.051908E+01
2.495413E+02
5.010064E+01
1.259701E+02
3.728726E+01
6.974440E+01
2.652872E+01
3.530919E+01
3.747306E+01
7.058235E+01
2.681415E+01
3.613314E+01
7.296802E+01
2.669214E+02
5.202502E+01
1.356733E+02
3.333947E+01
5.579355E+01
2.361733E+01
2.800800E+01
5.785916E+01
1.680561E+02
4.093282E+01
8.410711E+01
2.377151E+01
2.842464E+01
1.681789E+01
1.423646E+01
3.422028E+01
5.880493E+01
2.415199E+01
2.930240E+01
8.890608E+00
3.986356E+00
6.140159E+00
1.897764E+00
8.861425E+00
3.953963E+00
6.090757E+00
1.866235E+00
3.309260E+01
5.493482E+01
2.330765E+01
2.725350E+01
2.295343E+01
2.647375E+01
1.629166E+01
1.334081E+01
5.714234E+01
1.640293E+02
4.054051E+01
8.261123E+01
3.331786E+01
5.565082E+01
2.366345E+01
2.807637E+01
7.034800E+01
2.485209E+02
5.001286E+01
1.256087E+02
3.651223E+01
6.686058E+01
2.606851E+01
3.408881E+01
3.729833E+01
6.997492E+01
2.657970E+01
3.553107E+01
7.212382E+01
2.611253E+02
5.124647E+01
1.318756E+02
3.304529E+01
5.486643E+01
2.347504E+01
2.771353E+01
5.711252E+01
1.640619E+02
4.060288E+01
8.298231E+01
2.384078E+01
2.855909E+01
1.684046E+01
1.426180E+01
3.329487E+01
5.573544E+01
2.349871E+01
2.776487E+01
8.676886E+00
3.814132E+00
5.980976E+00
1.815143E+00
tally 3:
5.925339E+00
1.788596E+00
3.912632E-01
8.061838E-03
2.215544E+01
2.471404E+01
1.465191E+00
1.092622E-01
1.542988E+01
1.195626E+01
1.022876E+00
5.356825E-02
3.792029E+01
7.218149E+01
2.370476E+00
2.839465E-01
2.200154E+01
2.432126E+01
1.360836E+00
9.402424E-02
4.824980E+01
1.168447E+02
3.124366E+00
4.907460E-01
2.557420E+01
3.282066E+01
1.725855E+00
1.519830E-01
2.577963E+01
3.341077E+01
1.654042E+00
1.386845E-01
5.008220E+01
1.257610E+02
3.223857E+00
5.237360E-01
2.273380E+01
2.595325E+01
1.438369E+00
1.050840E-01
3.938822E+01
7.789691E+01
2.648324E+00
3.559703E-01
1.623604E+01
1.327214E+01
1.058882E+00
5.680630E-02
2.325730E+01
2.717892E+01
1.584276E+00
1.275868E-01
5.937929E+00
1.774847E+00
3.866918E-01
7.994353E-03
5.847135E+00
1.719612E+00
3.960040E-01
8.297721E-03
2.245534E+01
2.530222E+01
1.468678E+00
1.094031E-01
1.571194E+01
1.240597E+01
1.004169E+00
5.156464E-02
3.901605E+01
7.652715E+01
2.648696E+00
3.571840E-01
2.275978E+01
2.597555E+01
1.456067E+00
1.075035E-01
4.821184E+01
1.167725E+02
3.105774E+00
4.859873E-01
2.519281E+01
3.183845E+01
1.595498E+00
1.292133E-01
2.560583E+01
3.297409E+01
1.673871E+00
1.429651E-01
4.930025E+01
1.220909E+02
3.206604E+00
5.220919E-01
2.255825E+01
2.560134E+01
1.422870E+00
1.027151E-01
3.910818E+01
7.698933E+01
2.568903E+00
3.333385E-01
1.620292E+01
1.321173E+01
1.068678E+00
5.798793E-02
2.264343E+01
2.578648E+01
1.503553E+00
1.158411E-01
5.751110E+00
1.676910E+00
3.450582E-01
6.411784E-03
tally 4:
3.063235E+00
4.714106E-01
3.051764E+00
4.671879E-01
0.000000E+00
0.000000E+00
1.425705E+00
1.043616E-01
4.355515E+00
9.538346E-01
1.407008E+00
1.004485E-01
4.354708E+00
9.506434E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -160,14 +160,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.355515E+00
9.538346E-01
1.425705E+00
1.043616E-01
3.859174E+00
7.519499E-01
6.350310E+00
2.024214E+00
4.354708E+00
9.506434E-01
1.407008E+00
1.004485E-01
3.852730E+00
7.498016E-01
6.382605E+00
2.043123E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -184,14 +184,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
6.350310E+00
2.024214E+00
3.859174E+00
7.519499E-01
4.993073E+00
1.258264E+00
7.194275E+00
2.596886E+00
6.382605E+00
2.043123E+00
3.852730E+00
7.498016E-01
5.061607E+00
1.288306E+00
7.281209E+00
2.659444E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -208,14 +208,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.194275E+00
2.596886E+00
4.993073E+00
1.258264E+00
6.786617E+00
2.312259E+00
8.306978E+00
3.459668E+00
7.281209E+00
2.659444E+00
5.061607E+00
1.288306E+00
7.096602E+00
2.527474E+00
8.632232E+00
3.736665E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -232,14 +232,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.306978E+00
3.459668E+00
6.786617E+00
2.312259E+00
7.603410E+00
2.905228E+00
8.791222E+00
3.882935E+00
8.632232E+00
3.736665E+00
7.096602E+00
2.527474E+00
7.759456E+00
3.019026E+00
8.968687E+00
4.037738E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -256,14 +256,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.791222E+00
3.882935E+00
7.603410E+00
2.905228E+00
8.867113E+00
3.938503E+00
9.302808E+00
4.340042E+00
8.968687E+00
4.037738E+00
7.759456E+00
3.019026E+00
8.749025E+00
3.839161E+00
9.126289E+00
4.176440E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -280,14 +280,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.302808E+00
4.340042E+00
8.867113E+00
3.938503E+00
9.270113E+00
4.306513E+00
9.263471E+00
4.302184E+00
9.126289E+00
4.176440E+00
8.749025E+00
3.839161E+00
9.259277E+00
4.304020E+00
9.165726E+00
4.216173E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -304,14 +304,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.263471E+00
4.302184E+00
9.270113E+00
4.306513E+00
9.348712E+00
4.388570E+00
8.977713E+00
4.047349E+00
9.165726E+00
4.216173E+00
9.259277E+00
4.304020E+00
9.433925E+00
4.473551E+00
8.910566E+00
3.991458E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -328,14 +328,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.977713E+00
4.047349E+00
9.348712E+00
4.388570E+00
9.234380E+00
4.280666E+00
8.036978E+00
3.239853E+00
8.910566E+00
3.991458E+00
9.433925E+00
4.473551E+00
9.099397E+00
4.154062E+00
7.770126E+00
3.029928E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -352,14 +352,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.036978E+00
3.239853E+00
9.234380E+00
4.280666E+00
8.713633E+00
3.808850E+00
7.160878E+00
2.572915E+00
7.770126E+00
3.029928E+00
9.099397E+00
4.154062E+00
8.575842E+00
3.694998E+00
6.934243E+00
2.418570E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -376,14 +376,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.160878E+00
2.572915E+00
8.713633E+00
3.808850E+00
7.378538E+00
2.732122E+00
5.145728E+00
1.329190E+00
6.934243E+00
2.418570E+00
8.575842E+00
3.694998E+00
7.437526E+00
2.780629E+00
5.136923E+00
1.331553E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -400,14 +400,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.145728E+00
1.329190E+00
7.378538E+00
2.732122E+00
6.660125E+00
2.228506E+00
4.087925E+00
8.435381E-01
5.136923E+00
1.331553E+00
7.437526E+00
2.780629E+00
6.648582E+00
2.216687E+00
4.050691E+00
8.279789E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -424,14 +424,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.087925E+00
8.435381E-01
6.660125E+00
2.228506E+00
4.466295E+00
1.002320E+00
1.468481E+00
1.099604E-01
4.050691E+00
8.279789E-01
6.648582E+00
2.216687E+00
4.390906E+00
9.686686E-01
1.391624E+00
9.861955E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -448,12 +448,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
1.468481E+00
1.099604E-01
4.466295E+00
1.002320E+00
3.139355E+00
4.955456E-01
1.391624E+00
9.861955E-02
4.390906E+00
9.686686E-01
3.113477E+00
4.874296E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -473,164 +473,164 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
5.925339E+00
1.788596E+00
8.954773E-01
4.217679E-02
2.215054E+01
2.470273E+01
2.944747E+00
4.443186E-01
1.542658E+01
1.195085E+01
1.950262E+00
1.946340E-01
3.791137E+01
7.214779E+01
4.955741E+00
1.254830E+00
2.200054E+01
2.431894E+01
3.031040E+00
4.685971E-01
4.823946E+01
1.167941E+02
6.226321E+00
1.956308E+00
2.556930E+01
3.280828E+01
3.582546E+00
6.505962E-01
2.577249E+01
3.339204E+01
3.316825E+00
5.676842E-01
5.007249E+01
1.257124E+02
6.462364E+00
2.120157E+00
2.273285E+01
2.595106E+01
2.960964E+00
4.496277E-01
3.937362E+01
7.783849E+01
5.339336E+00
1.449257E+00
1.623315E+01
1.326746E+01
2.289661E+00
2.698618E-01
2.325250E+01
2.716827E+01
3.253010E+00
5.413837E-01
5.937929E+00
1.774847E+00
9.208589E-01
4.421403E-02
5.846103E+00
1.718959E+00
8.952028E-01
4.184063E-02
2.245226E+01
2.529524E+01
3.092645E+00
4.848878E-01
1.571095E+01
1.240426E+01
2.178244E+00
2.438479E-01
3.900638E+01
7.648853E+01
5.265574E+00
1.401505E+00
2.275895E+01
2.597348E+01
3.067909E+00
4.810969E-01
4.820213E+01
1.167232E+02
6.403602E+00
2.070034E+00
2.519091E+01
3.183360E+01
3.463531E+00
6.097568E-01
2.560388E+01
3.296889E+01
3.456252E+00
6.101655E-01
4.929539E+01
1.220666E+02
6.629094E+00
2.223366E+00
2.255498E+01
2.559363E+01
2.833426E+00
4.150907E-01
3.909813E+01
7.694976E+01
5.582222E+00
1.584757E+00
1.620082E+01
1.320814E+01
2.282196E+00
2.703156E-01
2.263498E+01
2.576758E+01
3.162736E+00
5.145038E-01
5.750110E+00
1.676357E+00
9.181679E-01
4.562885E-02
cmfd indices
1.400000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.125528E+00
1.145509E+00
1.158948E+00
1.171983E+00
1.180649E+00
1.184072E+00
1.188112E+00
1.183095E+00
1.182269E+00
1.175467E+00
1.175184E+00
1.172637E+00
1.171593E+00
1.175439E+00
1.174650E+00
1.176474E+00
1.166740E+00
1.184008E+00
1.166534E+00
1.155559E+00
1.164960E+00
1.163229E+00
1.165897E+00
1.170104E+00
1.170207E+00
1.168091E+00
1.170940E+00
1.174589E+00
1.174609E+00
1.171505E+00
1.174456E+00
1.178370E+00
cmfd entropy
3.607059E+00
3.604890E+00
3.601329E+00
3.597776E+00
3.597360E+00
3.597387E+00
3.595379E+00
3.596995E+00
3.600901E+00
3.601832E+00
3.601426E+00
3.604521E+00
3.602848E+00
3.603875E+00
3.605213E+00
3.606699E+00
3.594757E+00
3.587018E+00
3.590385E+00
3.595101E+00
3.592151E+00
3.600294E+00
3.602102E+00
3.604941E+00
3.605897E+00
3.604880E+00
3.601658E+00
3.602551E+00
3.600160E+00
3.604540E+00
3.604094E+00
3.602509E+00
cmfd balance
4.46212E-03
4.66648E-03
5.04274E-03
5.21553E-03
3.92498E-03
2.97185E-03
2.79785E-03
2.66951E-03
2.17472E-03
1.98009E-03
1.77035E-03
1.51281E-03
1.52807E-03
1.33341E-03
1.18155E-03
1.07752E-03
5.52960E-03
5.42154E-03
3.62152E-03
2.92850E-03
4.08642E-03
2.07444E-03
2.03704E-03
2.06886E-03
2.09646E-03
1.94256E-03
2.02728E-03
1.89830E-03
1.83910E-03
1.48140E-03
1.47034E-03
1.64452E-03
cmfd dominance ratio
6.136E-01
6.127E-01
6.137E-01
6.102E-01
6.067E-01
6.061E-01
6.031E-01
6.046E-01
6.071E-01
6.089E-01
6.073E-01
6.080E-01
6.080E-01
6.015E-01
6.059E-01
6.060E-01
6.061E-01
6.109E-01
6.110E-01
6.108E-01
6.120E-01
6.124E-01
6.109E-01
6.090E-01
6.092E-01
6.094E-01
6.116E-01
6.137E-01
6.117E-01
6.131E-01
cmfd openmc source comparison
1.043027E-02
1.278226E-02
1.184867E-02
1.017186E-02
1.099696E-02
7.955341E-03
8.360344E-03
6.875508E-03
4.824018E-03
4.915363E-03
5.371647E-03
4.593100E-03
4.894955E-03
4.928253E-03
4.292171E-03
4.018545E-03
1.035187E-02
9.394886E-03
6.879487E-03
7.236029E-03
6.543528E-03
3.600620E-03
2.859638E-03
2.230047E-03
2.180643E-03
1.638534E-03
1.764349E-03
1.621487E-03
1.221762E-03
1.626297E-03
1.951813E-03
9.584126E-04
cmfd source
1.600876E-02
6.000305E-02
4.248071E-02
9.935789E-02
5.768092E-02
1.338593E-01
7.417398E-02
7.102984E-02
1.382563E-01
6.181889E-02
1.142473E-01
4.571447E-02
6.864655E-02
1.672206E-02
1.677059E-02
6.229453E-02
4.278394E-02
1.134852E-01
6.231020E-02
1.327286E-01
6.808362E-02
7.130954E-02
1.362127E-01
6.048013E-02
1.094460E-01
4.546687E-02
6.403310E-02
1.459510E-02

View file

@ -1,117 +1,117 @@
k-combined:
1.167869E+00 7.492916E-03
1.162249E+00 5.812620E-03
tally 1:
1.146821E+01
1.318787E+01
2.161476E+01
4.685066E+01
2.951084E+01
8.733116E+01
3.521523E+01
1.242762E+02
3.774181E+01
1.426460E+02
3.727924E+01
1.391162E+02
3.377236E+01
1.143877E+02
2.904590E+01
8.453427E+01
2.090941E+01
4.384824E+01
1.078680E+01
1.168172E+01
1.153831E+01
1.338142E+01
2.155552E+01
4.659071E+01
2.813997E+01
7.941672E+01
3.270996E+01
1.073664E+02
3.639852E+01
1.329148E+02
3.729637E+01
1.393474E+02
3.443129E+01
1.186461E+02
2.832690E+01
8.040998E+01
2.177527E+01
4.771147E+01
1.146822E+01
1.328252E+01
tally 2:
1.136805E+00
1.292326E+00
7.987282E-01
6.379667E-01
2.266961E+00
5.139112E+00
1.613498E+00
2.603376E+00
3.046379E+00
9.280427E+00
2.182480E+00
4.763219E+00
3.568101E+00
1.273134E+01
2.532478E+00
6.413444E+00
3.989532E+00
1.591637E+01
2.848319E+00
8.112921E+00
3.853139E+00
1.484668E+01
2.718497E+00
7.390223E+00
3.478134E+00
1.209742E+01
2.467279E+00
6.087465E+00
2.952214E+00
8.715569E+00
2.103257E+00
4.423688E+00
1.917446E+00
3.676599E+00
1.378361E+00
1.899878E+00
1.048230E+00
1.098785E+00
7.511876E-01
5.642828E-01
1.024353E+00
1.049299E+00
6.991057E-01
4.887487E-01
2.200432E+00
4.841901E+00
1.561655E+00
2.438768E+00
2.910400E+00
8.470426E+00
2.095155E+00
4.389674E+00
3.466006E+00
1.201320E+01
2.480456E+00
6.152662E+00
3.711781E+00
1.377732E+01
2.646019E+00
7.001418E+00
3.953648E+00
1.563133E+01
2.832759E+00
8.024524E+00
3.597870E+00
1.294467E+01
2.555396E+00
6.530048E+00
2.860871E+00
8.184585E+00
2.032282E+00
4.130169E+00
2.006740E+00
4.027007E+00
1.408150E+00
1.982886E+00
1.035163E+00
1.071562E+00
7.084068E-01
5.018402E-01
tally 3:
7.701212E-01
5.930866E-01
4.481580E-02
2.008456E-03
1.547321E+00
2.394203E+00
1.226538E-01
1.504395E-02
2.106393E+00
4.436893E+00
1.450617E-01
2.104289E-02
2.437675E+00
5.942260E+00
1.521379E-01
2.314593E-02
2.754657E+00
7.588135E+00
1.745458E-01
3.046622E-02
2.623856E+00
6.884619E+00
1.851600E-01
3.428423E-02
2.376884E+00
5.649579E+00
1.615728E-01
2.610576E-02
2.021851E+00
4.087882E+00
1.533172E-01
2.350617E-02
1.333182E+00
1.777374E+00
7.076179E-02
5.007231E-03
7.258458E-01
5.268521E-01
3.656026E-02
1.336653E-03
6.713566E-01
4.507196E-01
5.581718E-02
3.115557E-03
1.508976E+00
2.277009E+00
1.139601E-01
1.298690E-02
2.035529E+00
4.143377E+00
1.221001E-01
1.490843E-02
2.385217E+00
5.689262E+00
1.500087E-01
2.250260E-02
2.546286E+00
6.483574E+00
1.546601E-01
2.391975E-02
2.726427E+00
7.433407E+00
1.686144E-01
2.843081E-02
2.466613E+00
6.084179E+00
1.558230E-01
2.428079E-02
1.951251E+00
3.807379E+00
1.197744E-01
1.434590E-02
1.347903E+00
1.816842E+00
9.419149E-02
8.872037E-03
6.840490E-01
4.679231E-01
5.000289E-02
2.500289E-03
tally 4:
1.667426E-01
2.780308E-02
1.561665E-01
2.438798E-02
0.000000E+00
0.000000E+00
1.292556E-01
1.670700E-02
2.813401E-01
7.915227E-02
1.307011E-01
1.708276E-02
2.703168E-01
7.307115E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.813401E-01
7.915227E-02
1.292556E-01
1.670700E-02
2.670582E-01
7.132006E-02
4.055365E-01
1.644599E-01
2.703168E-01
7.307115E-02
1.307011E-01
1.708276E-02
2.637619E-01
6.957033E-02
3.685390E-01
1.358210E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.055365E-01
1.644599E-01
2.670582E-01
7.132006E-02
3.848164E-01
1.480837E-01
4.809472E-01
2.313102E-01
3.685390E-01
1.358210E-01
2.637619E-01
6.957033E-02
3.887017E-01
1.510890E-01
4.439407E-01
1.970834E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.809472E-01
2.313102E-01
3.848164E-01
1.480837E-01
4.543959E-01
2.064756E-01
5.106174E-01
2.607301E-01
4.439407E-01
1.970834E-01
3.887017E-01
1.510890E-01
4.456116E-01
1.985697E-01
4.737035E-01
2.243950E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.106174E-01
2.607301E-01
4.543959E-01
2.064756E-01
4.543155E-01
2.064026E-01
4.626331E-01
2.140294E-01
4.737035E-01
2.243950E-01
4.456116E-01
1.985697E-01
4.760577E-01
2.266309E-01
4.703245E-01
2.212052E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.626331E-01
2.140294E-01
4.543155E-01
2.064026E-01
4.827763E-01
2.330729E-01
4.442611E-01
1.973679E-01
4.703245E-01
2.212052E-01
4.760577E-01
2.266309E-01
4.878056E-01
2.379543E-01
4.373120E-01
1.912418E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.442611E-01
1.973679E-01
4.827763E-01
2.330729E-01
4.630415E-01
2.144074E-01
3.886521E-01
1.510505E-01
4.373120E-01
1.912418E-01
4.878056E-01
2.379543E-01
4.262194E-01
1.816630E-01
3.334152E-01
1.111657E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
3.886521E-01
1.510505E-01
4.630415E-01
2.144074E-01
3.535862E-01
1.250232E-01
2.530293E-01
6.402384E-02
3.334152E-01
1.111657E-01
4.262194E-01
1.816630E-01
3.560156E-01
1.267471E-01
2.409954E-01
5.807879E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.530293E-01
6.402384E-02
3.535862E-01
1.250232E-01
2.465508E-01
6.078730E-02
1.197139E-01
1.433141E-02
2.409954E-01
5.807879E-02
3.560156E-01
1.267471E-01
2.646501E-01
7.003965E-02
1.327244E-01
1.761576E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
1.197139E-01
1.433141E-02
2.465508E-01
6.078730E-02
1.369614E-01
1.875841E-02
1.327244E-01
1.761576E-02
2.646501E-01
7.003965E-02
1.480567E-01
2.192079E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,119 +345,119 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
7.701212E-01
5.930866E-01
1.386254E-01
1.921700E-02
1.547321E+00
2.394203E+00
2.630318E-01
6.918571E-02
2.106393E+00
4.436893E+00
2.807911E-01
7.884363E-02
2.435870E+00
5.933464E+00
3.322093E-01
1.103630E-01
2.753652E+00
7.582597E+00
3.825961E-01
1.463797E-01
2.623856E+00
6.884619E+00
3.888719E-01
1.512213E-01
2.376884E+00
5.649579E+00
3.196211E-01
1.021576E-01
2.021851E+00
4.087882E+00
2.897873E-01
8.397667E-02
1.333182E+00
1.777374E+00
1.627096E-01
2.647441E-02
7.258458E-01
5.268521E-01
9.348575E-02
8.739586E-03
6.713566E-01
4.507196E-01
9.805793E-02
9.615358E-03
1.508976E+00
2.277009E+00
1.968348E-01
3.874394E-02
2.032573E+00
4.131353E+00
2.120922E-01
4.498309E-02
2.385217E+00
5.689262E+00
2.863031E-01
8.196946E-02
2.545200E+00
6.478041E+00
3.278920E-01
1.075131E-01
2.726427E+00
7.433407E+00
3.770758E-01
1.421861E-01
2.466613E+00
6.084179E+00
3.593230E-01
1.291130E-01
1.951251E+00
3.807379E+00
2.474112E-01
6.121229E-02
1.347903E+00
1.816842E+00
2.127109E-01
4.524594E-02
6.823620E-01
4.656179E-01
1.249863E-01
1.562159E-02
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.149087E+00
1.156777E+00
1.158641E+00
1.159507E+00
1.156564E+00
1.160257E+00
1.150344E+00
1.149854E+00
1.151616E+00
1.164575E+00
1.174683E+00
1.181365E+00
1.176693E+00
1.161946E+00
1.163565E+00
1.163043E+00
1.169908E+00
1.149155E+00
1.142379E+00
1.152957E+00
1.137602E+00
1.141883E+00
cmfd entropy
3.216202E+00
3.228703E+00
3.220414E+00
3.214361E+00
3.215642E+00
3.213607E+00
3.212862E+00
3.213128E+00
3.213189E+00
3.205465E+00
3.202859E+00
3.246422E+00
3.246496E+00
3.252238E+00
3.240920E+00
3.237606E+00
3.234301E+00
3.234103E+00
3.229918E+00
3.226983E+00
3.221321E+00
3.223622E+00
cmfd balance
3.08825E-03
1.42554E-03
1.21448E-03
1.17859E-03
1.06034E-03
9.30949E-04
1.35713E-03
1.13694E-03
1.14938E-03
1.29296E-03
1.46518E-03
4.18486E-03
1.72126E-03
1.10906E-03
1.88158E-03
1.31626E-03
1.30818E-03
1.77315E-03
2.16148E-03
1.67789E-03
2.31333E-03
1.94932E-03
cmfd dominance ratio
5.503E-01
5.596E-01
5.505E-01
5.471E-01
5.468E-01
5.427E-01
5.421E-01
5.412E-01
5.389E-01
5.371E-01
5.329E-01
5.580E-01
5.610E-01
5.526E-01
5.519E-01
5.499E-01
5.504E-01
5.504E-01
5.475E-01
5.465E-01
5.477E-01
cmfd openmc source comparison
1.571006E-02
6.945629E-03
6.838511E-03
6.183655E-03
5.138825E-03
4.362701E-03
5.558586E-03
4.188314E-03
1.837101E-03
2.737321E-03
2.529244E-03
1.902234E-03
4.110960E-03
2.452031E-03
2.337951E-03
1.838979E-03
3.138637E-03
2.684401E-03
2.912891E-03
2.823494E-03
6.391584E-03
5.904139E-03
cmfd source
4.240947E-02
8.226746E-02
1.180848E-01
1.328470E-01
1.412449E-01
1.424870E-01
1.269297E-01
1.096476E-01
6.953001E-02
3.455212E-02
4.488002E-02
8.895136E-02
1.085930E-01
1.229651E-01
1.330479E-01
1.497140E-01
1.309102E-01
1.028556E-01
7.738878E-02
4.069397E-02

View file

@ -1,117 +1,117 @@
k-combined:
1.173626E+00 1.098719E-02
1.158333E+00 1.402684E-02
tally 1:
1.101892E+01
1.218768E+01
2.036233E+01
4.152577E+01
2.937587E+01
8.637268E+01
3.502389E+01
1.231700E+02
3.804803E+01
1.453948E+02
3.822561E+01
1.465677E+02
3.456290E+01
1.198651E+02
2.904088E+01
8.470264E+01
2.111529E+01
4.463713E+01
1.147633E+01
1.326012E+01
1.169478E+01
1.373162E+01
2.192038E+01
4.844559E+01
2.913292E+01
8.542569E+01
3.446069E+01
1.201782E+02
3.624088E+01
1.320213E+02
3.569791E+01
1.278170E+02
3.340601E+01
1.119165E+02
2.908648E+01
8.514603E+01
2.175458E+01
4.767916E+01
1.171268E+01
1.378033E+01
tally 2:
1.010478E+00
1.021066E+00
6.902031E-01
4.763804E-01
1.899891E+00
3.609584E+00
1.322615E+00
1.749312E+00
2.756419E+00
7.597845E+00
1.955934E+00
3.825676E+00
3.818740E+00
1.458278E+01
2.704746E+00
7.315652E+00
3.920857E+00
1.537312E+01
2.843144E+00
8.083470E+00
3.835060E+00
1.470768E+01
2.728705E+00
7.445831E+00
3.510590E+00
1.232424E+01
2.497237E+00
6.236191E+00
2.717388E+00
7.384198E+00
1.903638E+00
3.623837E+00
2.207863E+00
4.874659E+00
1.563588E+00
2.444808E+00
1.289027E+00
1.661591E+00
9.022714E-01
8.140937E-01
1.132414E+00
1.282361E+00
7.822980E-01
6.119901E-01
2.124428E+00
4.513196E+00
1.490832E+00
2.222581E+00
3.158472E+00
9.975946E+00
2.221665E+00
4.935795E+00
3.994786E+00
1.595831E+01
2.828109E+00
7.998199E+00
3.491035E+00
1.218732E+01
2.461223E+00
6.057617E+00
3.461784E+00
1.198395E+01
2.473337E+00
6.117398E+00
3.027132E+00
9.163527E+00
2.150455E+00
4.624458E+00
2.471217E+00
6.106911E+00
1.737168E+00
3.017752E+00
1.880969E+00
3.538044E+00
1.316574E+00
1.733367E+00
1.233103E+00
1.520543E+00
8.543318E-01
7.298828E-01
tally 3:
6.593197E-01
4.347024E-01
5.216387E-02
2.721069E-03
1.266446E+00
1.603885E+00
8.298797E-02
6.887003E-03
1.888709E+00
3.567222E+00
1.398940E-01
1.957033E-02
2.616078E+00
6.843867E+00
1.588627E-01
2.523735E-02
2.733300E+00
7.470927E+00
1.944290E-01
3.780262E-02
2.643656E+00
6.988917E+00
1.612338E-01
2.599633E-02
2.410643E+00
5.811199E+00
1.754603E-01
3.078631E-02
1.838012E+00
3.378288E+00
1.126265E-01
1.268473E-02
1.500033E+00
2.250100E+00
1.102554E-01
1.215626E-02
8.750096E-01
7.656418E-01
6.757592E-02
4.566505E-03
7.540113E-01
5.685330E-01
6.367610E-02
4.054646E-03
1.436984E+00
2.064922E+00
8.961822E-02
8.031425E-03
2.132240E+00
4.546449E+00
1.356065E-01
1.838913E-02
2.726356E+00
7.433016E+00
1.780572E-01
3.170438E-02
2.379700E+00
5.662970E+00
1.544735E-01
2.386206E-02
2.383471E+00
5.680933E+00
1.568319E-01
2.459624E-02
2.047271E+00
4.191318E+00
1.662654E-01
2.764418E-02
1.673107E+00
2.799287E+00
1.132020E-01
1.281468E-02
1.271576E+00
1.616906E+00
7.546797E-02
5.695415E-03
8.249906E-01
6.806094E-01
5.660098E-02
3.203671E-03
tally 4:
1.490605E-01
2.221904E-02
1.551630E-01
2.407556E-02
0.000000E+00
0.000000E+00
1.139233E-01
1.297851E-02
2.549497E-01
6.499934E-02
1.487992E-01
2.214121E-02
2.878091E-01
8.283409E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.549497E-01
6.499934E-02
1.139233E-01
1.297851E-02
2.191337E-01
4.801958E-02
3.295187E-01
1.085826E-01
2.878091E-01
8.283409E-02
1.487992E-01
2.214121E-02
2.936596E-01
8.623595E-02
3.954149E-01
1.563529E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
3.295187E-01
1.085826E-01
2.191337E-01
4.801958E-02
3.872400E-01
1.499548E-01
4.595835E-01
2.112170E-01
3.954149E-01
1.563529E-01
2.936596E-01
8.623595E-02
3.991153E-01
1.592930E-01
4.758410E-01
2.264247E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.595835E-01
2.112170E-01
3.872400E-01
1.499548E-01
4.668106E-01
2.179121E-01
5.112307E-01
2.613569E-01
4.758410E-01
2.264247E-01
3.991153E-01
1.592930E-01
4.850882E-01
2.353106E-01
5.210840E-01
2.715285E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.112307E-01
2.613569E-01
4.668106E-01
2.179121E-01
4.716605E-01
2.224636E-01
4.916148E-01
2.416851E-01
5.210840E-01
2.715285E-01
4.850882E-01
2.353106E-01
4.790245E-01
2.294645E-01
4.570092E-01
2.088574E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.916148E-01
2.416851E-01
4.716605E-01
2.224636E-01
4.696777E-01
2.205972E-01
4.365150E-01
1.905453E-01
4.570092E-01
2.088574E-01
4.790245E-01
2.294645E-01
4.505886E-01
2.030301E-01
3.884038E-01
1.508575E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
4.365150E-01
1.905453E-01
4.696777E-01
2.205972E-01
4.179902E-01
1.747158E-01
3.350564E-01
1.122628E-01
3.884038E-01
1.508575E-01
4.505886E-01
2.030301E-01
3.986999E-01
1.589616E-01
3.220889E-01
1.037412E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
3.350564E-01
1.122628E-01
4.179902E-01
1.747158E-01
3.743487E-01
1.401370E-01
2.400661E-01
5.763172E-02
3.220889E-01
1.037412E-01
3.986999E-01
1.589616E-01
3.319083E-01
1.101631E-01
2.101261E-01
4.415297E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.400661E-01
5.763172E-02
3.743487E-01
1.401370E-01
3.063657E-01
9.385994E-02
1.605078E-01
2.576275E-02
2.101261E-01
4.415297E-02
3.319083E-01
1.101631E-01
2.795459E-01
7.814588E-02
1.306499E-01
1.706938E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
1.605078E-01
2.576275E-02
3.063657E-01
9.385994E-02
1.700639E-01
2.892174E-02
1.306499E-01
1.706938E-02
2.795459E-01
7.814588E-02
1.585507E-01
2.513833E-02
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,119 +345,119 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
6.593197E-01
4.347024E-01
1.314196E-01
1.727112E-02
1.266446E+00
1.603885E+00
2.002491E-01
4.009970E-02
1.888709E+00
3.567222E+00
2.444522E-01
5.975686E-02
2.616078E+00
6.843867E+00
3.234935E-01
1.046481E-01
2.733300E+00
7.470927E+00
3.309500E-01
1.095279E-01
2.643656E+00
6.988917E+00
4.025014E-01
1.620074E-01
2.410643E+00
5.811199E+00
3.050040E-01
9.302747E-02
1.838012E+00
3.378288E+00
2.800764E-01
7.844279E-02
1.500033E+00
2.250100E+00
2.324765E-01
5.404531E-02
8.750096E-01
7.656418E-01
1.256919E-01
1.579844E-02
7.530237E-01
5.670447E-01
1.178984E-01
1.390004E-02
1.436984E+00
2.064922E+00
1.458395E-01
2.126916E-02
2.132240E+00
4.546449E+00
2.950109E-01
8.703141E-02
2.726356E+00
7.433016E+00
3.397288E-01
1.154157E-01
2.379700E+00
5.662970E+00
3.113206E-01
9.692053E-02
2.383471E+00
5.680933E+00
3.455611E-01
1.194125E-01
2.047271E+00
4.191318E+00
2.910986E-01
8.473841E-02
1.673107E+00
2.799287E+00
2.381996E-01
5.673907E-02
1.270672E+00
1.614606E+00
1.795241E-01
3.222889E-02
8.249906E-01
6.806094E-01
1.201397E-01
1.443354E-02
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.166297E+00
1.148237E+00
1.162472E+00
1.187078E+00
1.188411E+00
1.194879E+00
1.216739E+00
1.216829E+00
1.196596E+00
1.199223E+00
1.211817E+00
1.184474E+00
1.188170E+00
1.165127E+00
1.135010E+00
1.145439E+00
1.158451E+00
1.154420E+00
1.179615E+00
1.197843E+00
1.181252E+00
1.186316E+00
cmfd entropy
3.215349E+00
3.225577E+00
3.223357E+00
3.208828E+00
3.211072E+00
3.206578E+00
3.195799E+00
3.198236E+00
3.220074E+00
3.230249E+00
3.238015E+00
3.243654E+00
3.244091E+00
3.249203E+00
3.249952E+00
3.245538E+00
3.240838E+00
3.238919E+00
3.223131E+00
3.216002E+00
3.220324E+00
3.224804E+00
cmfd balance
2.07468E-03
2.39687E-03
1.51020E-03
2.07618E-03
1.89367E-03
2.00902E-03
2.54856E-03
2.43636E-03
2.48527E-03
3.07775E-03
3.37967E-03
4.21104E-03
1.38052E-03
1.34642E-03
2.39255E-03
2.07426E-03
1.27927E-03
2.26249E-03
2.72103E-03
2.71504E-03
2.19156E-03
1.91989E-03
cmfd dominance ratio
5.505E-01
5.558E-01
5.584E-01
5.477E-01
5.477E-01
5.426E-01
5.335E-01
5.305E-01
5.427E-01
5.520E-01
5.535E-01
5.628E-01
5.696E-01
5.723E-01
5.651E-01
5.648E-01
5.555E-01
5.448E-01
5.488E-01
5.484E-01
5.465E-01
cmfd openmc source comparison
5.598628E-03
1.162952E-02
1.083004E-02
1.037470E-02
5.649750E-03
5.137914E-03
3.868209E-03
1.208756E-02
5.398131E-03
8.119598E-03
4.573105E-03
1.713810E-03
2.429503E-03
4.526209E-03
7.978149E-03
3.320012E-03
3.880041E-03
1.580215E-02
1.663452E-02
1.878103E-02
7.436342E-03
3.724478E-03
cmfd source
4.219187E-02
8.692096E-02
1.061389E-01
1.199181E-01
1.377328E-01
1.326161E-01
1.345872E-01
1.112871E-01
7.569533E-02
5.291175E-02
4.688167E-02
9.066303E-02
1.150679E-01
1.430247E-01
1.370466E-01
1.267615E-01
1.244218E-01
1.048774E-01
7.083441E-02
4.042108E-02

View file

@ -1,117 +1,117 @@
k-combined:
1.172893E+00 8.095197E-03
1.169143E+00 7.248013E-03
tally 1:
1.156995E+01
1.347019E+01
2.120053E+01
4.531200E+01
2.995993E+01
8.997889E+01
3.498938E+01
1.226414E+02
3.794510E+01
1.442188E+02
3.798115E+01
1.446436E+02
3.415954E+01
1.171635E+02
2.960329E+01
8.785532E+01
2.182231E+01
4.782353E+01
1.147379E+01
1.321150E+01
1.115130E+01
1.249933E+01
2.147608E+01
4.643964E+01
2.923697E+01
8.598273E+01
3.439175E+01
1.189653E+02
3.729169E+01
1.395456E+02
3.709975E+01
1.380839E+02
3.415420E+01
1.168226E+02
2.895696E+01
8.419764E+01
2.140382E+01
4.646784E+01
1.125483E+01
1.275812E+01
tally 2:
2.345900E+01
2.783672E+01
1.627300E+01
1.339749E+01
4.127267E+01
8.563716E+01
2.934800E+01
4.334439E+01
5.742644E+01
1.658158E+02
4.092600E+01
8.423842E+01
6.740126E+01
2.279288E+02
4.796500E+01
1.154602E+02
7.340327E+01
2.701349E+02
5.235900E+01
1.374186E+02
7.387392E+01
2.740829E+02
5.277400E+01
1.398425E+02
6.733428E+01
2.274414E+02
4.800100E+01
1.156206E+02
5.794970E+01
1.685421E+02
4.124600E+01
8.540686E+01
4.257013E+01
9.092401E+01
3.014500E+01
4.566369E+01
2.300274E+01
2.659051E+01
1.613400E+01
1.307448E+01
2.275147E+01
2.604974E+01
1.587800E+01
1.271197E+01
4.191959E+01
8.846441E+01
2.966500E+01
4.430669E+01
5.699815E+01
1.637359E+02
4.037600E+01
8.219353E+01
6.656851E+01
2.228703E+02
4.718000E+01
1.119941E+02
7.334215E+01
2.701014E+02
5.223500E+01
1.370726E+02
7.394394E+01
2.748295E+02
5.273400E+01
1.397334E+02
6.931604E+01
2.406234E+02
4.949000E+01
1.226886E+02
5.799672E+01
1.687992E+02
4.142300E+01
8.612116E+01
4.320102E+01
9.402138E+01
3.068300E+01
4.749148E+01
2.295257E+01
2.657057E+01
1.606200E+01
1.301453E+01
tally 3:
1.564900E+01
1.239852E+01
1.086873E+00
6.047264E-02
2.821700E+01
4.006730E+01
1.855830E+00
1.755984E-01
3.946300E+01
7.833997E+01
2.523142E+00
3.210725E-01
4.622500E+01
1.072588E+02
2.919735E+00
4.340292E-01
5.033400E+01
1.270010E+02
3.243022E+00
5.318534E-01
5.082400E+01
1.297502E+02
3.313898E+00
5.546608E-01
4.623700E+01
1.072944E+02
2.887766E+00
4.203084E-01
3.975000E+01
7.934279E+01
2.567158E+00
3.333121E-01
2.903500E+01
4.237270E+01
1.852070E+00
1.733821E-01
1.557800E+01
1.219084E+01
9.951884E-01
5.121758E-02
1.528200E+01
1.177982E+01
1.040687E+00
5.586386E-02
2.857900E+01
4.113603E+01
1.871515E+00
1.774689E-01
3.888800E+01
7.626262E+01
2.534433E+00
3.274088E-01
4.541400E+01
1.037867E+02
2.926509E+00
4.319780E-01
5.034500E+01
1.273517E+02
3.215813E+00
5.215716E-01
5.076100E+01
1.295218E+02
3.194424E+00
5.165993E-01
4.768100E+01
1.138949E+02
3.058255E+00
4.732131E-01
3.995800E+01
8.015691E+01
2.454286E+00
3.044948E-01
2.957000E+01
4.412743E+01
1.938963E+00
1.908501E-01
1.544000E+01
1.202869E+01
1.038073E+00
5.487827E-02
tally 4:
3.111000E+00
4.872850E-01
3.086000E+00
4.780160E-01
0.000000E+00
0.000000E+00
2.794000E+00
3.972060E-01
5.520000E+00
1.535670E+00
2.739000E+00
3.790990E-01
5.478000E+00
1.505928E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.520000E+00
1.535670E+00
2.794000E+00
3.972060E-01
5.071000E+00
1.305697E+00
7.303000E+00
2.685365E+00
5.478000E+00
1.505928E+00
2.739000E+00
3.790990E-01
5.094000E+00
1.310476E+00
7.282000E+00
2.669810E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.303000E+00
2.685365E+00
5.071000E+00
1.305697E+00
7.015000E+00
2.471981E+00
8.545000E+00
3.670539E+00
7.282000E+00
2.669810E+00
5.094000E+00
1.310476E+00
6.987000E+00
2.461137E+00
8.487000E+00
3.624153E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.545000E+00
3.670539E+00
7.015000E+00
2.471981E+00
8.431000E+00
3.570057E+00
9.224000E+00
4.268004E+00
8.487000E+00
3.624153E+00
6.987000E+00
2.461137E+00
8.250000E+00
3.421824E+00
9.022000E+00
4.088536E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.224000E+00
4.268004E+00
8.431000E+00
3.570057E+00
9.217000E+00
4.259749E+00
9.305000E+00
4.340149E+00
9.022000E+00
4.088536E+00
8.250000E+00
3.421824E+00
9.300000E+00
4.344142E+00
9.262000E+00
4.308946E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.305000E+00
4.340149E+00
9.217000E+00
4.259749E+00
9.374000E+00
4.415290E+00
8.611000E+00
3.718227E+00
9.262000E+00
4.308946E+00
9.300000E+00
4.344142E+00
9.267000E+00
4.310941E+00
8.487000E+00
3.613257E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.611000E+00
3.718227E+00
9.374000E+00
4.415290E+00
8.515000E+00
3.639945E+00
7.056000E+00
2.501658E+00
8.487000E+00
3.613257E+00
9.267000E+00
4.310941E+00
8.682000E+00
3.778194E+00
7.123000E+00
2.544345E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.056000E+00
2.501658E+00
8.515000E+00
3.639945E+00
7.385000E+00
2.737677E+00
5.194000E+00
1.356022E+00
7.123000E+00
2.544345E+00
8.682000E+00
3.778194E+00
7.421000E+00
2.773897E+00
5.198000E+00
1.369216E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.194000E+00
1.356022E+00
7.385000E+00
2.737677E+00
5.436000E+00
1.481654E+00
2.756000E+00
3.843860E-01
5.198000E+00
1.369216E+00
7.421000E+00
2.773897E+00
5.567000E+00
1.561013E+00
2.763000E+00
3.882750E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.756000E+00
3.843860E-01
5.436000E+00
1.481654E+00
3.030000E+00
4.643920E-01
2.763000E+00
3.882750E-01
5.567000E+00
1.561013E+00
3.106000E+00
4.853380E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,144 +345,144 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
1.564300E+01
1.238861E+01
2.090227E+00
2.262627E-01
2.821400E+01
4.005826E+01
3.870834E+00
7.614623E-01
3.945400E+01
7.830326E+01
5.290557E+00
1.422339E+00
4.621500E+01
1.072116E+02
6.144745E+00
1.903309E+00
5.032900E+01
1.269756E+02
6.867524E+00
2.373593E+00
5.081000E+01
1.296784E+02
6.456283E+00
2.130767E+00
4.623000E+01
1.072613E+02
5.931623E+00
1.776451E+00
3.974500E+01
7.932288E+01
5.339603E+00
1.456812E+00
2.902800E+01
4.235232E+01
4.102240E+00
8.519551E-01
1.557800E+01
1.219084E+01
2.137954E+00
2.347770E-01
1.527700E+01
1.177204E+01
2.285003E+00
2.661382E-01
2.857200E+01
4.111506E+01
4.126099E+00
8.737996E-01
3.887800E+01
7.622094E+01
5.121343E+00
1.333837E+00
4.540600E+01
1.037492E+02
6.160114E+00
1.913665E+00
5.033400E+01
1.272949E+02
6.859861E+00
2.384476E+00
5.075800E+01
1.295055E+02
6.929393E+00
2.443364E+00
4.767500E+01
1.138658E+02
6.385463E+00
2.080293E+00
3.995300E+01
8.013651E+01
5.620641E+00
1.603844E+00
2.956200E+01
4.410395E+01
3.952701E+00
7.877105E-01
1.543500E+01
1.202080E+01
2.203583E+00
2.512936E-01
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.129918E+00
1.148352E+00
1.143137E+00
1.145795E+00
1.147285E+00
1.148588E+00
1.148151E+00
1.162118E+00
1.165380E+00
1.162851E+00
1.163379E+00
1.166986E+00
1.167838E+00
1.171743E+00
1.170398E+00
1.169773E+00
1.169107E+00
1.173852E+00
1.181921E+00
1.187733E+00
1.185766E+00
1.177020E+00
1.181200E+00
1.180088E+00
1.180676E+00
1.174948E+00
1.174167E+00
1.174935E+00
1.169912E+00
1.169058E+00
1.170366E+00
1.169774E+00
cmfd entropy
3.224769E+00
3.222795E+00
3.221174E+00
3.222164E+00
3.221025E+00
3.220967E+00
3.223497E+00
3.219213E+00
3.221679E+00
3.222084E+00
3.222281E+00
3.222540E+00
3.224614E+00
3.224193E+00
3.224925E+00
3.224367E+00
3.207640E+00
3.212075E+00
3.215463E+00
3.219545E+00
3.225225E+00
3.227103E+00
3.229048E+00
3.228263E+00
3.229077E+00
3.229932E+00
3.229351E+00
3.228195E+00
3.228493E+00
3.227823E+00
3.225830E+00
3.227270E+00
cmfd balance
3.90454E-03
4.33180E-03
3.77057E-03
3.16391E-03
3.11765E-03
2.59886E-03
2.81060E-03
3.25473E-03
2.68544E-03
2.01716E-03
1.89350E-03
1.79159E-03
1.51353E-03
1.48514E-03
1.50207E-03
1.44045E-03
4.88208E-03
4.63702E-03
3.41158E-03
2.99755E-03
2.78360E-03
3.31542E-03
2.64344E-03
2.04609E-03
1.84340E-03
1.65450E-03
1.70816E-03
1.69952E-03
1.51417E-03
1.32738E-03
1.41435E-03
1.01462E-03
cmfd dominance ratio
5.539E-01
5.522E-01
5.491E-01
5.511E-01
5.506E-01
5.523E-01
5.523E-01
5.467E-01
5.468E-01
5.448E-01
5.457E-01
5.457E-01
5.485E-01
5.500E-01
5.497E-01
5.495E-01
5.499E-01
5.502E-01
5.485E-01
5.492E-01
5.483E-01
5.473E-01
5.478E-01
5.461E-01
5.462E-01
5.459E-01
5.475E-01
5.463E-01
5.466E-01
5.469E-01
cmfd openmc source comparison
9.875240E-03
1.119358E-02
8.513903E-03
7.728971E-03
5.993771E-03
5.837301E-03
4.861789E-03
5.624038E-03
4.297229E-03
4.029732E-03
3.669197E-03
3.598834E-03
3.023310E-03
3.347346E-03
2.943658E-03
2.764986E-03
9.587418E-03
7.785087E-03
6.798967E-03
5.947641E-03
4.980801E-03
4.272665E-03
4.073759E-03
4.305612E-03
3.572759E-03
3.785830E-03
3.766828E-03
3.495462E-03
3.017281E-03
2.857633E-03
2.858606E-03
2.449010E-03
cmfd source
4.561921E-02
7.896381E-02
1.084687E-01
1.264057E-01
1.408942E-01
1.438180E-01
1.247333E-01
1.100896E-01
7.897187E-02
4.203556E-02
4.390084E-02
7.966902E-02
1.087889E-01
1.263915E-01
1.394331E-01
1.383156E-01
1.319970E-01
1.051339E-01
8.248244E-02
4.388774E-02

View file

@ -1,117 +1,117 @@
k-combined:
1.164262E+00 9.207592E-03
1.181723E+00 9.944883E-03
tally 1:
1.156972E+01
1.339924E+01
2.136306E+01
4.567185E+01
2.859527E+01
8.195821E+01
3.470754E+01
1.207851E+02
3.766403E+01
1.422263E+02
3.778821E+01
1.432660E+02
3.573197E+01
1.278854E+02
2.849979E+01
8.135515E+01
2.073803E+01
4.303374E+01
1.112117E+01
1.242944E+01
1.169899E+01
1.373251E+01
2.142380E+01
4.605511E+01
2.968085E+01
8.838716E+01
3.561418E+01
1.271206E+02
3.777783E+01
1.428817E+02
3.805832E+01
1.450213E+02
3.439836E+01
1.184892E+02
2.852438E+01
8.161896E+01
2.088423E+01
4.376204E+01
1.076670E+01
1.168108E+01
tally 2:
2.388054E+01
2.875255E+01
1.667791E+01
1.403426E+01
4.224771E+01
8.942109E+01
2.993088E+01
4.490335E+01
5.689839E+01
1.625557E+02
4.043633E+01
8.212299E+01
6.764024E+01
2.297126E+02
4.807902E+01
1.161468E+02
7.314835E+01
2.684645E+02
5.203584E+01
1.359261E+02
7.375727E+01
2.733105E+02
5.252944E+01
1.386205E+02
6.909571E+01
2.397721E+02
4.922548E+01
1.217465E+02
5.685978E+01
1.621746E+02
4.051938E+01
8.237277E+01
4.185562E+01
8.784067E+01
2.983570E+01
4.467414E+01
2.238373E+01
2.520356E+01
1.566758E+01
1.234103E+01
2.321241E+01
2.702156E+01
1.620912E+01
1.317752E+01
4.197404E+01
8.845008E+01
2.982666E+01
4.469221E+01
5.810089E+01
1.695857E+02
4.134123E+01
8.588866E+01
6.982488E+01
2.447068E+02
4.966939E+01
1.238763E+02
7.428421E+01
2.767613E+02
5.287955E+01
1.403163E+02
7.447402E+01
2.785012E+02
5.324628E+01
1.423393E+02
6.895164E+01
2.381937E+02
4.916366E+01
1.211701E+02
5.679253E+01
1.617881E+02
4.043125E+01
8.204061E+01
4.218618E+01
8.933666E+01
2.978592E+01
4.456592E+01
2.196426E+01
2.435867E+01
1.525576E+01
1.175879E+01
tally 3:
1.609520E+01
1.307542E+01
1.033429E+00
5.510889E-02
2.877073E+01
4.149542E+01
1.964219E+00
1.954692E-01
3.896816E+01
7.629752E+01
2.484053E+00
3.103733E-01
4.634285E+01
1.079367E+02
2.974750E+00
4.468223E-01
5.007964E+01
1.259202E+02
3.181802E+00
5.103621E-01
5.058915E+01
1.286193E+02
3.249442E+00
5.337712E-01
4.744464E+01
1.131026E+02
3.067644E+00
4.736335E-01
3.900632E+01
7.634433E+01
2.443552E+00
3.028060E-01
2.874166E+01
4.146375E+01
1.810421E+00
1.671667E-01
1.509222E+01
1.145579E+01
1.014919E+00
5.391053E-02
1.563788E+01
1.226528E+01
1.053289E+00
5.666942E-02
2.870755E+01
4.139654E+01
1.838017E+00
1.710528E-01
3.978616E+01
7.955764E+01
2.560657E+00
3.334449E-01
4.780385E+01
1.147770E+02
3.139243E+00
4.967628E-01
5.106650E+01
1.308704E+02
3.170056E+00
5.078920E-01
5.123992E+01
1.318586E+02
3.211706E+00
5.205979E-01
4.729862E+01
1.121695E+02
3.068662E+00
4.749488E-01
3.898816E+01
7.630564E+01
2.516911E+00
3.199696E-01
2.865357E+01
4.125742E+01
1.852314E+00
1.741116E-01
1.467340E+01
1.088460E+01
9.268633E-01
4.450662E-02
tally 4:
3.148231E+00
4.974555E-01
3.029754E+00
4.613561E-01
0.000000E+00
0.000000E+00
2.805439E+00
3.982239E-01
5.574031E+00
1.561105E+00
2.832501E+00
4.049252E-01
5.517243E+00
1.527794E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -128,14 +128,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.574031E+00
1.561105E+00
2.805439E+00
3.982239E-01
5.171038E+00
1.344877E+00
7.372031E+00
2.725420E+00
5.517243E+00
1.527794E+00
2.832501E+00
4.049252E-01
5.117178E+00
1.316972E+00
7.333303E+00
2.701677E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -152,14 +152,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.372031E+00
2.725420E+00
5.171038E+00
1.344877E+00
6.946847E+00
2.424850E+00
8.496610E+00
3.627542E+00
7.333303E+00
2.701677E+00
5.117178E+00
1.316972E+00
7.248464E+00
2.641591E+00
8.817788E+00
3.905530E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -176,14 +176,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.496610E+00
3.627542E+00
6.946847E+00
2.424850E+00
8.479501E+00
3.607280E+00
9.261869E+00
4.305912E+00
8.817788E+00
3.905530E+00
7.248464E+00
2.641591E+00
8.646465E+00
3.749847E+00
9.460948E+00
4.495388E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -200,14 +200,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.261869E+00
4.305912E+00
8.479501E+00
3.607280E+00
9.232858E+00
4.278432E+00
9.306384E+00
4.348594E+00
9.460948E+00
4.495388E+00
8.646465E+00
3.749847E+00
9.379341E+00
4.415049E+00
9.278640E+00
4.320720E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -224,14 +224,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
9.306384E+00
4.348594E+00
9.232858E+00
4.278432E+00
9.299764E+00
4.347828E+00
8.511976E+00
3.639893E+00
9.278640E+00
4.320720E+00
9.379341E+00
4.415049E+00
9.465746E+00
4.498591E+00
8.656146E+00
3.760545E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -248,14 +248,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
8.511976E+00
3.639893E+00
9.299764E+00
4.347828E+00
8.726086E+00
3.819567E+00
7.147277E+00
2.562747E+00
8.656146E+00
3.760545E+00
9.465746E+00
4.498591E+00
8.589782E+00
3.700308E+00
6.996002E+00
2.456935E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -272,14 +272,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
7.147277E+00
2.562747E+00
8.726086E+00
3.819567E+00
7.218790E+00
2.612243E+00
5.018287E+00
1.263077E+00
6.996002E+00
2.456935E+00
8.589782E+00
3.700308E+00
7.352050E+00
2.714808E+00
5.105164E+00
1.312559E+00
0.000000E+00
0.000000E+00
0.000000E+00
@ -296,14 +296,14 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
5.018287E+00
1.263077E+00
7.218790E+00
2.612243E+00
5.443494E+00
1.487018E+00
2.732334E+00
3.773047E-01
5.105164E+00
1.312559E+00
7.352050E+00
2.714808E+00
5.442756E+00
1.486776E+00
2.697305E+00
3.675580E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -320,12 +320,12 @@ tally 4:
0.000000E+00
0.000000E+00
0.000000E+00
2.732334E+00
3.773047E-01
5.443494E+00
1.487018E+00
3.044773E+00
4.655756E-01
2.697305E+00
3.675580E-01
5.442756E+00
1.486776E+00
3.017025E+00
4.571443E-01
0.000000E+00
0.000000E+00
0.000000E+00
@ -345,144 +345,144 @@ tally 4:
0.000000E+00
0.000000E+00
tally 5:
1.609029E+01
1.306718E+01
2.230601E+00
2.559496E-01
2.876780E+01
4.148686E+01
3.835952E+00
7.456562E-01
3.895738E+01
7.625344E+01
4.841024E+00
1.197335E+00
4.633595E+01
1.079043E+02
6.236821E+00
1.963311E+00
5.007472E+01
1.258967E+02
6.749745E+00
2.297130E+00
5.058336E+01
1.285894E+02
6.727612E+00
2.315656E+00
4.743869E+01
1.130735E+02
6.338193E+00
2.042159E+00
3.899838E+01
7.631289E+01
5.187573E+00
1.359733E+00
2.873434E+01
4.144233E+01
3.815610E+00
7.367619E-01
1.509020E+01
1.145268E+01
2.125767E+00
2.341894E-01
1.563588E+01
1.226217E+01
2.209027E+00
2.507131E-01
2.870034E+01
4.137550E+01
3.726620E+00
7.021948E-01
3.977762E+01
7.952285E+01
5.304975E+00
1.427333E+00
4.779747E+01
1.147456E+02
6.528302E+00
2.151715E+00
5.105366E+01
1.308037E+02
6.986782E+00
2.467487E+00
5.123380E+01
1.318264E+02
6.845633E+00
2.383542E+00
4.729296E+01
1.121433E+02
6.252695E+00
1.977351E+00
3.898236E+01
7.628315E+01
5.461495E+00
1.528579E+00
2.864576E+01
4.123538E+01
3.857301E+00
7.581323E-01
1.467047E+01
1.088031E+01
2.277024E+00
2.679801E-01
cmfd indices
1.000000E+01
1.000000E+00
1.000000E+00
1.000000E+00
k cmfd
1.129918E+00
1.143848E+00
1.147976E+00
1.151534E+00
1.152378E+00
1.148219E+00
1.150402E+00
1.154647E+00
1.156159E+00
1.160048E+00
1.167441E+00
1.168163E+00
1.168629E+00
1.164120E+00
1.165051E+00
1.169177E+00
1.169107E+00
1.175079E+00
1.173912E+00
1.175368E+00
1.174026E+00
1.181745E+00
1.182261E+00
1.183559E+00
1.178691E+00
1.179222E+00
1.179017E+00
1.172979E+00
1.175043E+00
1.173458E+00
1.174152E+00
1.171451E+00
cmfd entropy
3.224769E+00
3.225945E+00
3.227421E+00
3.226174E+00
3.224429E+00
3.227049E+00
3.230710E+00
3.230315E+00
3.226825E+00
3.226655E+00
3.226588E+00
3.224155E+00
3.223246E+00
3.222640E+00
3.223920E+00
3.222838E+00
3.207640E+00
3.210547E+00
3.212218E+00
3.209573E+00
3.211619E+00
3.212126E+00
3.213163E+00
3.214288E+00
3.215737E+00
3.213677E+00
3.214925E+00
3.215612E+00
3.216708E+00
3.221454E+00
3.219048E+00
3.218387E+00
cmfd balance
3.90454E-03
4.08089E-03
3.46511E-03
4.09535E-03
2.62009E-03
2.23559E-03
2.54033E-03
2.12799E-03
2.25864E-03
1.85766E-03
1.49916E-03
1.63471E-03
1.48377E-03
1.59800E-03
1.37354E-03
1.32853E-03
4.88208E-03
4.75139E-03
3.15783E-03
3.67091E-03
2.99797E-03
2.91060E-03
2.06576E-03
1.83482E-03
1.56292E-03
1.58659E-03
2.32986E-03
1.47376E-03
1.46673E-03
1.22627E-03
1.31963E-03
1.26456E-03
cmfd dominance ratio
5.539E-01
5.537E-01
5.536E-01
5.515E-01
5.512E-01
5.514E-01
5.518E-01
5.507E-01
5.500E-01
5.497E-01
5.477E-01
5.461E-01
5.444E-01
5.445E-01
5.454E-01
5.467E-01
5.453E-01
5.458E-01
5.436E-01
5.442E-01
5.406E-01
5.401E-01
5.413E-01
4.995E-01
5.396E-01
5.409E-01
5.414E-01
5.423E-01
5.456E-01
5.442E-01
5.441E-01
cmfd openmc source comparison
9.875240E-03
1.106163E-02
9.847628E-03
6.065921E-03
5.772039E-03
4.615656E-03
4.244331E-03
3.694299E-03
3.545814E-03
3.213063E-03
3.467537E-03
3.383489E-03
3.697591E-03
3.937358E-03
3.369124E-03
3.190359E-03
9.587418E-03
8.150978E-03
6.677661E-03
6.334727E-03
5.153692E-03
5.082964E-03
4.633153E-03
4.037383E-03
3.528742E-03
4.559089E-03
3.517370E-03
3.306117E-03
2.913809E-03
1.906045E-03
1.932794E-03
1.711341E-03
cmfd source
4.360494E-02
8.397599E-02
1.074181E-01
1.294531E-01
1.385611E-01
1.407934E-01
1.325191E-01
1.044311E-01
7.660359E-02
4.263941E-02
4.496492E-02
7.869674E-02
1.100280E-01
1.354045E-01
1.363339E-01
1.380533E-01
1.314512E-01
1.077480E-01
7.847306E-02
3.884630E-02

View file

@ -1,11 +1,11 @@
k-combined:
2.564169E-01 4.095378E-03
2.603220E-01 1.429366E-03
tally 1:
2.607144E+00
1.360414E+00
2.681079E+00
1.439354E+00
9.627534E-01
1.855496E-01
1.123751E-01
2.624819E+00
1.378200E+00
2.730035E+00
1.492361E+00
1.013707E+00
2.055807E-01
1.123257E-01
2.530233E-03

View file

@ -1,5 +1,5 @@
k-combined:
2.759923E-01 6.988588E-03
2.850178E-01 9.646334E-03
tally 1:
6.167984E+01
4.772717E+02
6.234169E+01
4.884167E+02

View file

@ -15,14 +15,16 @@
using namespace openmc;
int main(int argc, char** argv) {
int main(int argc, char** argv)
{
#ifdef OPENMC_MPI
MPI_Comm world {MPI_COMM_WORLD};
int err = openmc_init(argc, argv, &world);
#else
int err = openmc_init(argc, argv, nullptr);
#endif
if (err) fatal_error(openmc_err_msg);
if (err)
fatal_error(openmc_err_msg);
// create a new cell filter
auto cell_filter = Filter::create<CellFilter>();
@ -30,7 +32,7 @@ int main(int argc, char** argv) {
// add all cells to the cell filter
std::vector<int32_t> cell_indices;
for (auto& entry : openmc::model::cell_map) {
cell_indices.push_back(entry.second);
cell_indices.push_back(entry.second);
}
// enable distribcells offsets for all cells
prepare_distribcell(&cell_indices);
@ -39,7 +41,6 @@ int main(int argc, char** argv) {
std::sort(cell_indices.begin(), cell_indices.end());
cell_filter->set_cells(cell_indices);
// create a new tally
auto tally = Tally::create();
std::vector<Filter*> filters = {cell_filter};
@ -60,14 +61,19 @@ int main(int argc, char** argv) {
}
}
// set a higher temperature for only one of the lattice cells (ID is 4 in the model)
// set a higher temperature for only one of the lattice cells (ID is 4 in the
// model)
model::cells[model::cell_map[4]]->set_temperature(400.0, 3, true);
// set the density of another lattice cell to 2
model::cells[model::cell_map[4]]->set_density(2.0, 2, true);
// the summary file will be used to check that
// temperatures were set correctly so clear
// error output can be provided
#ifdef OPENMC_MPI
if (openmc::mpi::master) openmc::write_summary();
if (openmc::mpi::master)
openmc::write_summary();
#else
openmc::write_summary();
#endif

View file

@ -1,13 +1,13 @@
k-combined:
1.933305E+00 1.300360E-02
1.874924E+00 2.180236E-02
tally 1:
9.552846E+01
1.019358E+03
2.887973E+01
9.308509E+01
9.732441E+01
1.059022E+03
2.217326E+02
5.486892E+03
2.217326E+02
5.486892E+03
9.484447E+01
1.002269E+03
2.746252E+01
8.406603E+01
9.833099E+01
1.076376E+03
2.206380E+02
5.417609E+03
2.206380E+02
5.417609E+03

View file

@ -100,6 +100,9 @@ int main(int argc, char* argv[])
}
}
// Finalize cell densities
openmc::finalize_cell_densities();
// Run OpenMC
openmc_err = openmc_run();
if (openmc_err)

View file

@ -1,5 +1,5 @@
k-combined:
9.118190E-01 3.615552E-02
1.083415E+00 5.991738E-02
tally 1:
8.430103E+00
1.442878E+01
8.862860E+00
1.602117E+01

View file

@ -1,5 +1,5 @@
k-combined:
9.118190E-01 3.615552E-02
1.083415E+00 5.991738E-02
tally 1:
8.430103E+00
1.442878E+01
8.862860E+00
1.602117E+01

View file

@ -1,5 +1,5 @@
k-combined:
2.035173E+00 3.967029E-02
2.047107E+00 8.605767E-02
tally 1:
1.064492E+01
2.301019E+01
1.145034E+01
2.636875E+01

View file

@ -48,6 +48,14 @@
<particles>100</particles>
<batches>10</batches>
<inactive>5</inactive>
<source type="independent" strength="1.0" particle="neutron">
<space type="box">
<parameters>-10.0 -10.0 -24.0 10.0 10.0 24.0</parameters>
</space>
<constraints>
<fissionable>true</fissionable>
</constraints>
</source>
<output>
<summary>false</summary>
</output>

View file

@ -1,13 +1,13 @@
k-combined:
9.887663E-01 1.510336E-02
9.719586E-01 3.630894E-02
tally 1:
4.340758E+00
4.265459E+00
4.712319E+00
4.654778E+00
4.151897E+00
3.588090E+00
2.965925E+00
1.852746E+00
4.463288E+00
4.136647E+00
4.769631E+00
4.622840E+00
4.315273E+00
3.871129E+00
4.091804E+00
3.582192E+00
0.000000E+00
0.000000E+00

View file

@ -11,81 +11,87 @@ pytestmark = pytest.mark.skipif(
reason="DAGMC CAD geometry is not enabled.")
class DAGMCUniverseTest(PyAPITestHarness):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@pytest.fixture
def pin_lattice_model():
### MATERIALS ###
fuel = openmc.Material(name='no-void fuel')
fuel.set_density('g/cc', 10.29769)
fuel.add_nuclide('U234', 0.93120485)
fuel.add_nuclide('U235', 0.00055815)
fuel.add_nuclide('U238', 0.022408)
fuel.add_nuclide('O16', 0.045829)
### MATERIALS ###
fuel = openmc.Material(name='no-void fuel')
fuel.set_density('g/cc', 10.29769)
fuel.add_nuclide('U234', 0.93120485)
fuel.add_nuclide('U235', 0.00055815)
fuel.add_nuclide('U238', 0.022408)
fuel.add_nuclide('O16', 0.045829)
cladding = openmc.Material(name='clad')
cladding.set_density('g/cc', 6.55)
cladding.add_nuclide('Zr90', 0.021827)
cladding.add_nuclide('Zr91', 0.00476)
cladding.add_nuclide('Zr92', 0.0072758)
cladding.add_nuclide('Zr94', 0.0073734)
cladding.add_nuclide('Zr96', 0.0011879)
cladding = openmc.Material(name='clad')
cladding.set_density('g/cc', 6.55)
cladding.add_nuclide('Zr90', 0.021827)
cladding.add_nuclide('Zr91', 0.00476)
cladding.add_nuclide('Zr92', 0.0072758)
cladding.add_nuclide('Zr94', 0.0073734)
cladding.add_nuclide('Zr96', 0.0011879)
water = openmc.Material(name='water')
water.set_density('g/cc', 0.740582)
water.add_nuclide('H1', 0.049457)
water.add_nuclide('O16', 0.024672)
water.add_nuclide('B10', 8.0042e-06)
water.add_nuclide('B11', 3.2218e-05)
water.add_s_alpha_beta('c_H_in_H2O')
water = openmc.Material(name='water')
water.set_density('g/cc', 0.740582)
water.add_nuclide('H1', 0.049457)
water.add_nuclide('O16', 0.024672)
water.add_nuclide('B10', 8.0042e-06)
water.add_nuclide('B11', 3.2218e-05)
water.add_s_alpha_beta('c_H_in_H2O')
model = openmc.Model()
model.materials = openmc.Materials([fuel, cladding, water])
self._model.materials = openmc.Materials([fuel, cladding, water])
### GEOMETRY ###
# create the DAGMC universe
pincell_univ = openmc.DAGMCUniverse(filename='dagmc.h5m', auto_geom_ids=True)
### GEOMETRY ###
# create the DAGMC universe
pincell_univ = openmc.DAGMCUniverse(filename='dagmc.h5m', auto_geom_ids=True)
# creates another DAGMC universe, this time with within a bounded cell
bound_pincell_universe = openmc.DAGMCUniverse(filename='dagmc.h5m').bounded_universe()
# uses the bound_dag_cell as the root argument to test the type checks in openmc.Geometry
bound_pincell_geometry = openmc.Geometry(root=bound_pincell_universe)
# assigns the bound_dag_geometry to the model to test the type checks in model.Geometry setter
model.geometry = bound_pincell_geometry
# creates another DAGMC universe, this time with within a bounded cell
bound_pincell_universe = openmc.DAGMCUniverse(filename='dagmc.h5m').bounded_universe()
# uses the bound_dag_cell as the root argument to test the type checks in openmc.Geometry
bound_pincell_geometry = openmc.Geometry(root=bound_pincell_universe)
# assigns the bound_dag_geometry to the model to test the type checks in model.Geometry setter
self._model.geometry = bound_pincell_geometry
# create a 2 x 2 lattice using the DAGMC pincell
pitch = np.asarray((24.0, 24.0))
lattice = openmc.RectLattice()
lattice.pitch = pitch
lattice.universes = [[pincell_univ] * 2] * 2
lattice.lower_left = -pitch
# create a 2 x 2 lattice using the DAGMC pincell
pitch = np.asarray((24.0, 24.0))
lattice = openmc.RectLattice()
lattice.pitch = pitch
lattice.universes = [[pincell_univ] * 2] * 2
lattice.lower_left = -pitch
left = openmc.XPlane(x0=-pitch[0], name='left', boundary_type='reflective')
right = openmc.XPlane(x0=pitch[0], name='right', boundary_type='reflective')
front = openmc.YPlane(y0=-pitch[1], name='front', boundary_type='reflective')
back = openmc.YPlane(y0=pitch[1], name='back', boundary_type='reflective')
# clip the DAGMC geometry at +/- 10 cm w/ CSG planes
bottom = openmc.ZPlane(z0=-10.0, name='bottom', boundary_type='reflective')
top = openmc.ZPlane(z0=10.0, name='top', boundary_type='reflective')
left = openmc.XPlane(x0=-pitch[0], name='left', boundary_type='reflective')
right = openmc.XPlane(x0=pitch[0], name='right', boundary_type='reflective')
front = openmc.YPlane(y0=-pitch[1], name='front', boundary_type='reflective')
back = openmc.YPlane(y0=pitch[1], name='back', boundary_type='reflective')
# clip the DAGMC geometry at +/- 10 cm w/ CSG planes
bottom = openmc.ZPlane(z0=-10.0, name='bottom', boundary_type='reflective')
top = openmc.ZPlane(z0=10.0, name='top', boundary_type='reflective')
bounding_region = +left & -right & +front & -back & +bottom & -top
bounding_cell = openmc.Cell(fill=lattice, region=bounding_region)
bounding_region = +left & -right & +front & -back & +bottom & -top
bounding_cell = openmc.Cell(fill=lattice, region=bounding_region)
model.geometry = openmc.Geometry([bounding_cell])
self._model.geometry = openmc.Geometry([bounding_cell])
# add a cell instance tally
tally = openmc.Tally(name='cell instance tally')
# using scattering
cell_instance_filter = openmc.CellInstanceFilter(((4, 0), (4, 1), (4, 2), (4, 3), (4, 4)))
tally.filters = [cell_instance_filter]
tally.scores = ['scatter']
model.tallies = [tally]
# add a cell instance tally
tally = openmc.Tally(name='cell instance tally')
# using scattering
cell_instance_filter = openmc.CellInstanceFilter(((4, 0), (4, 1), (4, 2), (4, 3), (4, 4)))
tally.filters = [cell_instance_filter]
tally.scores = ['scatter']
self._model.tallies = [tally]
# settings
model.settings.particles = 100
model.settings.batches = 10
model.settings.inactive = 5
model.settings.output = {'summary' : False}
model.settings.source = openmc.IndependentSource(
space=openmc.stats.Box((-10., -10., -24.), (10., 10., 24.)),
constraints={'fissionable': True},
)
# settings
self._model.settings.particles = 100
self._model.settings.batches = 10
self._model.settings.inactive = 5
self._model.settings.output = {'summary' : False}
return model
def test_univ():
harness = DAGMCUniverseTest('statepoint.10.h5', model=openmc.Model())
def test_univ(pin_lattice_model):
harness = PyAPITestHarness('statepoint.10.h5', model=pin_lattice_model)
harness.main()

View file

@ -1,2 +1,2 @@
k-combined:
1.110057E+00 1.303260E-02
1.082191E+00 3.064029E-02

View file

@ -40,10 +40,9 @@ def model():
geometry = openmc.Geometry([cell_f, cell_w])
settings = openmc.Settings()
settings.particles = 100
settings.particles = 150
settings.inactive = 0
settings.batches = 10
settings.seed = 1
return openmc.Model(geometry, materials, settings)

View file

@ -1,27 +1,27 @@
d_material,d_nuclide,d_variable,score,mean,std. dev.
3,,density,flux,-8.7368155e+00,1.5577812e+00
3,,density,flux,-1.4842625e+01,2.2947682e+00
1,,density,flux,-2.0922686e-01,4.9935069e-02
1,,density,flux,-3.4582490e-01,1.7454386e-01
1,O16,nuclide_density,flux,1.1301782e+01,2.2440389e+01
1,O16,nuclide_density,flux,3.2481563e+00,3.2342885e+01
1,U235,nuclide_density,flux,-1.5048665e+03,5.9045681e+02
1,U235,nuclide_density,flux,-1.6193231e+03,9.7230073e+02
1,,temperature,flux,-1.0891931e-04,2.3076849e-04
1,,temperature,flux,-1.3563853e-04,2.0952841e-04
3,,density,total,-3.9155374e+00,5.4862771e-01
3,,density,absorption,-4.9210534e-01,3.4700776e-02
3,,density,scatter,-3.4234320e+00,5.1443821e-01
3,,density,fission,-3.1088949e-01,8.0540906e-02
3,,density,nu-fission,-7.6137447e-01,1.9548876e-01
3,,density,total,-3.8615156e-01,1.0175701e-01
3,,density,absorption,-3.4458071e-01,9.3381192e-02
3,,density,scatter,-4.1570854e-02,8.6942039e-03
3,,density,fission,-2.9864832e-01,8.4711885e-02
3,,density,nu-fission,-7.2797006e-01,2.0640455e-01
3,,density,total,1.0491251e+01,9.1787723e+00
3,,density,absorption,2.9819000e-01,3.0887165e-01
3,,density,scatter,1.0193061e+01,8.8715930e+00
3,,density,flux,-9.2822822e+00,1.6880315e+00
3,,density,flux,-2.0591270e+01,3.0043477e+00
1,,density,flux,-2.9765141e-01,5.2949290e-02
1,,density,flux,-4.0095723e-01,1.1716168e-01
1,O16,nuclide_density,flux,-1.4245069e+01,6.3028710e+00
1,O16,nuclide_density,flux,-2.5098326e+01,5.7525657e+00
1,U235,nuclide_density,flux,-2.1513560e+03,6.7234014e+02
1,U235,nuclide_density,flux,-2.4222736e+03,7.7715656e+02
1,,temperature,flux,-1.1242141e-04,8.1692839e-05
1,,temperature,flux,6.1357500e-06,7.4812624e-05
3,,density,total,-4.2880614e+00,7.0021512e-01
3,,density,absorption,-5.0324695e-01,4.9079615e-02
3,,density,scatter,-3.7848144e+00,6.5868388e-01
3,,density,fission,-2.7732455e-01,6.4647487e-02
3,,density,nu-fission,-6.7990282e-01,1.5692707e-01
3,,density,total,-3.8043572e-01,9.6222860e-02
3,,density,absorption,-3.3518262e-01,8.6810436e-02
3,,density,scatter,-4.5253106e-02,9.5205809e-03
3,,density,fission,-2.6400028e-01,6.8175997e-02
3,,density,nu-fission,-6.4353897e-01,1.6613026e-01
3,,density,total,-3.2070285e-01,2.8328990e+00
3,,density,absorption,2.5921007e-02,2.2141808e-02
3,,density,scatter,-3.4662385e-01,2.8171749e+00
3,,density,fission,0.0000000e+00,0.0000000e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,total,0.0000000e+00,0.0000000e+00
@ -29,19 +29,19 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
3,,density,scatter,0.0000000e+00,0.0000000e+00
3,,density,fission,0.0000000e+00,0.0000000e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,total,4.7128871e-01,5.7197095e-02
1,,density,absorption,2.1981833e-02,1.7427232e-02
1,,density,scatter,4.4930687e-01,4.0030120e-02
1,,density,fission,6.0712328e-03,1.3719512e-02
1,,density,nu-fission,1.5474650e-02,3.3437103e-02
1,,density,total,1.2203418e-02,1.5798741e-02
1,,density,absorption,7.0228085e-03,1.5294984e-02
1,,density,scatter,5.1806097e-03,5.0807003e-04
1,,density,fission,4.1074923e-03,1.3759608e-02
1,,density,nu-fission,1.0046778e-02,3.3529881e-02
1,,density,total,-5.2100220e-01,2.7618985e-01
1,,density,absorption,-1.1039048e-02,6.2043549e-03
1,,density,scatter,-5.0996315e-01,2.7027892e-01
1,,density,total,4.0321800e-01,3.5365140e-02
1,,density,absorption,4.8426976e-03,8.3784362e-03
1,,density,scatter,3.9837530e-01,2.9076664e-02
1,,density,fission,-5.4793062e-03,7.1720201e-03
1,,density,nu-fission,-1.2481616e-02,1.7542625e-02
1,,density,total,-3.6063021e-03,7.1950060e-03
1,,density,absorption,-8.2666439e-03,6.9274342e-03
1,,density,scatter,4.6603417e-03,4.1803496e-04
1,,density,fission,-7.6315741e-03,7.1774359e-03
1,,density,nu-fission,-1.8551295e-02,1.7493106e-02
1,,density,total,-6.2852725e-01,1.9776006e-01
1,,density,absorption,-1.4850233e-02,4.3086611e-03
1,,density,scatter,-6.1367701e-01,1.9363188e-01
1,,density,fission,0.0000000e+00,0.0000000e+00
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,total,0.0000000e+00,0.0000000e+00
@ -49,19 +49,19 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
1,,density,scatter,0.0000000e+00,0.0000000e+00
1,,density,fission,0.0000000e+00,0.0000000e+00
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,total,5.5744608e+01,1.3811361e+01
1,O16,nuclide_density,absorption,2.1284059e+00,3.3353171e+00
1,O16,nuclide_density,scatter,5.3616202e+01,1.0494347e+01
1,O16,nuclide_density,fission,6.6058671e-01,1.9263932e+00
1,O16,nuclide_density,nu-fission,1.5973305e+00,4.6977280e+00
1,O16,nuclide_density,total,9.8433784e-01,2.4053581e+00
1,O16,nuclide_density,absorption,9.1167507e-01,2.2565683e+00
1,O16,nuclide_density,scatter,7.2662768e-02,1.5198625e-01
1,O16,nuclide_density,fission,6.8845700e-01,1.9451444e+00
1,O16,nuclide_density,nu-fission,1.6768628e+00,4.7395897e+00
1,O16,nuclide_density,total,8.1604245e+00,3.7248338e+01
1,O16,nuclide_density,absorption,2.4903834e-01,4.5609671e-01
1,O16,nuclide_density,scatter,7.9113862e+00,3.6811434e+01
1,O16,nuclide_density,total,4.2608989e+01,2.6322158e+00
1,O16,nuclide_density,absorption,-5.9877963e-01,4.2139216e-01
1,O16,nuclide_density,scatter,4.3207769e+01,2.5312922e+00
1,O16,nuclide_density,fission,-9.2838585e-01,4.3505041e-01
1,O16,nuclide_density,nu-fission,-2.2834786e+00,1.0634300e+00
1,O16,nuclide_density,total,-1.1195412e+00,3.3033730e-01
1,O16,nuclide_density,absorption,-1.0650267e+00,3.2780477e-01
1,O16,nuclide_density,scatter,-5.4514540e-02,2.4911965e-02
1,O16,nuclide_density,fission,-8.6787386e-01,4.4270048e-01
1,O16,nuclide_density,nu-fission,-2.1159252e+00,1.0787495e+00
1,O16,nuclide_density,total,-3.1004750e+01,8.0776339e+00
1,O16,nuclide_density,absorption,-5.0354237e-01,2.6144390e-01
1,O16,nuclide_density,scatter,-3.0501208e+01,7.8176703e+00
1,O16,nuclide_density,fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,total,0.0000000e+00,0.0000000e+00
@ -69,19 +69,19 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,total,-2.8654443e+02,3.3721470e+02
1,U235,nuclide_density,absorption,2.0329180e+02,1.0522263e+02
1,U235,nuclide_density,scatter,-4.8983623e+02,2.3237977e+02
1,U235,nuclide_density,fission,2.6089045e+02,7.2578344e+01
1,U235,nuclide_density,nu-fission,6.3692044e+02,1.7710877e+02
1,U235,nuclide_density,total,4.5611633e+02,9.1682367e+01
1,U235,nuclide_density,absorption,3.3831545e+02,8.5035501e+01
1,U235,nuclide_density,scatter,1.1780088e+02,7.4128809e+00
1,U235,nuclide_density,fission,2.6094461e+02,7.2102445e+01
1,U235,nuclide_density,nu-fission,6.3705705e+02,1.7578950e+02
1,U235,nuclide_density,total,-4.1342174e+03,1.4666097e+03
1,U235,nuclide_density,absorption,-1.1329170e+02,3.5066579e+01
1,U235,nuclide_density,scatter,-4.0209257e+03,1.4320401e+03
1,U235,nuclide_density,total,-5.3578869e+02,3.4044374e+02
1,U235,nuclide_density,absorption,2.0769087e+02,1.0873543e+02
1,U235,nuclide_density,scatter,-7.4347956e+02,2.5966153e+02
1,U235,nuclide_density,fission,2.8982867e+02,8.5348425e+01
1,U235,nuclide_density,nu-fission,7.0772332e+02,2.0847449e+02
1,U235,nuclide_density,total,4.8356107e+02,1.0276621e+02
1,U235,nuclide_density,absorption,3.6683548e+02,9.6924085e+01
1,U235,nuclide_density,scatter,1.1672558e+02,6.1773010e+00
1,U235,nuclide_density,fission,2.8941699e+02,8.4475937e+01
1,U235,nuclide_density,nu-fission,7.0639136e+02,2.0594285e+02
1,U235,nuclide_density,total,-4.6777522e+03,1.5037171e+03
1,U235,nuclide_density,absorption,-1.1585081e+02,3.8299177e+01
1,U235,nuclide_density,scatter,-4.5619014e+03,1.4660078e+03
1,U235,nuclide_density,fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,total,0.0000000e+00,0.0000000e+00
@ -89,19 +89,19 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,,temperature,total,5.3733744e-05,1.1785516e-04
1,,temperature,absorption,-1.3987780e-05,1.9819801e-05
1,,temperature,scatter,6.7721524e-05,9.9934995e-05
1,,temperature,fission,-1.4882696e-05,1.6930666e-05
1,,temperature,nu-fission,-3.6272065e-05,4.1250892e-05
1,,temperature,total,-1.8119796e-05,2.2651409e-05
1,,temperature,absorption,-1.7632076e-05,2.1825006e-05
1,,temperature,scatter,-4.8771972e-07,1.4270133e-06
1,,temperature,fission,-1.4890811e-05,1.6935899e-05
1,,temperature,nu-fission,-3.6292215e-05,4.1263951e-05
1,,temperature,total,-2.0776498e-04,2.9286552e-04
1,,temperature,absorption,-3.9068381e-06,3.4912438e-06
1,,temperature,scatter,-2.0385814e-04,2.8941307e-04
1,,temperature,total,8.2134941e-05,1.3941434e-05
1,,temperature,absorption,4.1502002e-05,3.5967068e-05
1,,temperature,scatter,4.0632939e-05,2.6595574e-05
1,,temperature,fission,3.1768469e-06,2.1582455e-05
1,,temperature,nu-fission,7.7368345e-06,5.2593375e-05
1,,temperature,total,1.0834099e-06,2.6707333e-05
1,,temperature,absorption,1.6240165e-06,2.6844372e-05
1,,temperature,scatter,-5.4060665e-07,2.5905412e-07
1,,temperature,fission,3.1674458e-06,2.1588836e-05
1,,temperature,nu-fission,7.7134913e-06,5.2609321e-05
1,,temperature,total,9.5175179e-05,1.0549922e-04
1,,temperature,absorption,4.3553888e-06,2.9261613e-06
1,,temperature,scatter,9.0819790e-05,1.0362538e-04
1,,temperature,fission,0.0000000e+00,0.0000000e+00
1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
1,,temperature,total,0.0000000e+00,0.0000000e+00
@ -109,68 +109,68 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
1,,temperature,scatter,0.0000000e+00,0.0000000e+00
1,,temperature,fission,0.0000000e+00,0.0000000e+00
1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,absorption,-4.5579543e-01,5.5532252e-02
3,,density,absorption,-1.3526251e-02,1.3917291e-01
1,,density,absorption,3.8695654e-02,1.5823093e-02
1,,density,absorption,-1.8171150e-02,1.2999773e-03
1,O16,nuclide_density,absorption,2.0992238e+00,2.7230754e+00
1,O16,nuclide_density,absorption,-6.8956953e-01,3.3064989e-01
1,U235,nuclide_density,absorption,2.5000417e+02,7.3334295e+01
1,U235,nuclide_density,absorption,-1.0832917e+02,1.1517513e+01
1,,temperature,absorption,1.1819459e-05,4.2090670e-05
1,,temperature,absorption,-7.2302974e-06,1.5200299e-05
3,,density,absorption,-5.4897740e-01,8.6529144e-02
3,,density,absorption,1.3410763e-01,5.6235628e-02
1,,density,absorption,2.9551566e-02,1.5215007e-02
1,,density,absorption,-8.6382033e-03,5.5181454e-03
1,O16,nuclide_density,absorption,2.7111116e-01,9.6922067e-01
1,O16,nuclide_density,absorption,-7.3785997e-01,7.7252792e-01
1,U235,nuclide_density,absorption,2.7361252e+02,1.6168134e+02
1,U235,nuclide_density,absorption,-9.6885408e+01,1.9390948e+01
1,,temperature,absorption,1.0054736e-05,4.2876538e-05
1,,temperature,absorption,-1.8280609e-06,1.0133065e-05
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,-7.6858714e-01,3.2467801e-01
3,,density,scatter,-5.4273849e-01,1.8081153e-01
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,3.2513857e-04,3.2513857e-04
3,,density,nu-fission,-6.4963717e-01,1.8008086e-01
3,,density,scatter,-2.6911548e+00,2.6336008e-01
3,,density,nu-fission,-6.3014524e-01,1.8056453e-01
3,,density,scatter,-3.4247012e-02,2.2649385e-02
3,,density,scatter,1.3451827e-02,7.2870304e-03
3,,density,nu-fission,-8.4200508e-01,3.4267126e-01
3,,density,scatter,-3.1963455e+00,5.0369564e-01
3,,density,nu-fission,-8.2934702e-01,3.4526131e-01
3,,density,scatter,-7.0221960e-02,6.8067882e-02
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,1.0254549e+01,1.1054242e+01
3,,density,scatter,1.1368387e+00,1.2091778e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,0.0000000e+00,0.0000000e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,2.5022850e-01,2.1207285e+00
3,,density,scatter,-1.5916491e+00,2.3551913e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,0.0000000e+00,0.0000000e+00
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,8.1153611e-03,3.1226564e-02
1,,density,scatter,-1.8655633e-03,2.4061808e-02
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,2.3728497e-04,9.7166041e-04
1,,density,nu-fission,2.6248459e-02,3.9328080e-02
1,,density,scatter,4.2447769e-01,1.2580873e-02
1,,density,nu-fission,1.9600074e-02,3.8118776e-02
1,,density,scatter,8.0978391e-03,2.6585488e-03
1,,density,scatter,-1.7672807e-04,7.4702879e-04
1,,density,nu-fission,4.4506944e-03,3.1478180e-02
1,,density,scatter,3.7553200e-01,2.3420342e-02
1,,density,nu-fission,-1.3567324e-03,3.0610901e-02
1,,density,scatter,6.9330560e-03,4.6649873e-03
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,-3.8358302e-01,2.1525401e-01
1,,density,scatter,-5.1560927e-01,1.4846253e-01
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,0.0000000e+00,0.0000000e+00
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,-1.1924803e-01,9.1254221e-02
1,,density,scatter,-1.0427977e-01,6.6396271e-02
1,,density,nu-fission,0.0000000e+00,0.0000000e+00
1,,density,scatter,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,scatter,-1.6577061e-01,1.0793192e-01
1,O16,nuclide_density,nu-fission,2.4995074e+00,5.7946039e+00
1,O16,nuclide_density,scatter,5.5800956e-01,5.7675606e-01
1,O16,nuclide_density,scatter,4.6587151e-02,9.0232672e-02
1,O16,nuclide_density,nu-fission,-2.1162226e+00,2.4773842e+00
1,O16,nuclide_density,scatter,6.6533325e-01,2.4693113e-01
1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,scatter,5.8641633e+00,2.9488422e+00
1,U235,nuclide_density,nu-fission,6.7444160e+02,1.1308014e+02
1,U235,nuclide_density,scatter,1.1592472e+02,2.8886339e+01
1,U235,nuclide_density,scatter,2.8979849e+01,2.0235325e+01
1,U235,nuclide_density,nu-fission,8.1210341e+02,2.9252040e+02
1,U235,nuclide_density,scatter,1.0307302e+02,4.4919960e+01
1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
1,,temperature,scatter,-7.7511866e-07,6.4761261e-07
1,,temperature,nu-fission,-9.5466386e-05,3.1033330e-05
1,,temperature,scatter,-2.7127084e-06,2.0699253e-07
1,,temperature,scatter,-3.3782154e-06,3.8240314e-06
1,,temperature,nu-fission,-6.8920903e-05,4.4384761e-05
1,,temperature,scatter,1.6325729e-07,2.3270228e-06
1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
1,,temperature,scatter,0.0000000e+00,0.0000000e+00
1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00

View file

@ -1,5 +1,5 @@
k-combined:
1.257344E+00 6.246360E-04
1.246391E+00 1.414798E-02
Cell
ID = 11
Name =

View file

@ -1,5 +1,5 @@
k-combined:
3.037481E-01 1.247474E-04
2.975937E-01 1.293390E-03
tally 1:
3.211129E+01
2.578396E+02
3.173222E+01
2.517683E+02

View file

@ -1,2 +1,2 @@
k-combined:
2.998284E-01 7.587782E-03
3.072780E-01 6.882841E-03

View file

@ -1,2 +1,2 @@
k-combined:
3.152586E-01 1.458068E-03
3.218009E-01 4.687417E-03

View file

@ -1,2 +1,2 @@
k-combined:
2.444000E+00 1.044626E-02
2.458770E+00 9.422203E-03

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