#include <MeshTally.h>
◆ MeshTally()
MeshTally::MeshTally |
( |
const InputParameters & |
parameters | ) |
|
◆ addScore()
void TallyBase::addScore |
( |
const std::string & |
score | ) |
|
|
inherited |
Add a score to this tally.
- Parameters
-
◆ applyTriggersToLocalTally()
void TallyBase::applyTriggersToLocalTally |
( |
openmc::Tally * |
tally | ) |
|
|
protectedinherited |
Applies triggers to a tally. This is often the local tally wrapped by this object.
- Parameters
-
[in] | tally | the tally to apply triggers to |
◆ checkMeshTemplateAndTranslations()
void MeshTally::checkMeshTemplateAndTranslations |
( |
| ) |
const |
|
protected |
Check the setup of the mesh template and translations. Because a simple copy transfer is used to write a mesh tally onto the [Mesh], we require that the meshes are identical - both in terms of the element ordering and the actual dimensions of each element. This function performs as many checks as possible to ensure that the meshes are indeed identical.
◆ computeSumAndMean()
void TallyBase::computeSumAndMean |
( |
| ) |
|
|
inherited |
A function which computes and stores the sum and mean of the tally across all bins for a particular score.
◆ fillElementalAuxVariable()
void TallyBase::fillElementalAuxVariable |
( |
const unsigned int & |
var_num, |
|
|
const std::vector< unsigned int > & |
elem_ids, |
|
|
const Real & |
value |
|
) |
| |
|
protectedinherited |
Set an auxiliary elemental variable to a specified value
- Parameters
-
[in] | var_num | variable number |
[in] | elem_ids | element IDs to set |
[in] | value | value to set |
◆ getAuxVarNames()
const std::vector<std::string>& TallyBase::getAuxVarNames |
( |
| ) |
const |
|
inlineinherited |
Gets the auxvariable names for use in creating and storing tally results. This allows for the splitting of tally results into energy bins, angular bins, etc.
- Returns
- vector of variable names to be associated with this tally
◆ getMean()
const Real& TallyBase::getMean |
( |
unsigned int |
local_score | ) |
const |
|
inlineinherited |
Get the mean for a score summed over all bins.
- Parameters
-
[in] | local_score | the index representing a tally score |
- Returns
- mean for a score summed over all bins.
◆ getOutputs()
const std::vector<std::string>& TallyBase::getOutputs |
( |
| ) |
const |
|
inlineinherited |
Gets the output names to append to the end of the '_tally_name' when adding tally auxvariables for additional outputs.
- Returns
- additional tally outputs
◆ getScores()
const std::vector<std::string>& TallyBase::getScores |
( |
| ) |
const |
|
inlineinherited |
Get the list of scores this tally uses.
- Returns
- list of scores this tally uses
◆ getSum()
const Real& TallyBase::getSum |
( |
unsigned int |
local_score | ) |
const |
|
inlineinherited |
Get the sum for a score summed over all bins.
- Parameters
-
[in] | local_score | the index representing a tally score |
- Returns
- sum for a score summed over all bins.
◆ getTallyEstimator()
openmc::TallyEstimator TallyBase::getTallyEstimator |
( |
| ) |
const |
|
inlineinherited |
Get the estimator used in this tally.
- Returns
- the tally estimator
◆ getWrappedTally()
const openmc::Tally* TallyBase::getWrappedTally |
( |
| ) |
const |
|
inherited |
Get the OpenMC tally that this object wraps.
- Returns
- the OpenMC tally object
◆ hasOutputs()
bool TallyBase::hasOutputs |
( |
| ) |
const |
|
inlineinherited |
Check to see if this tally adds additional output variables or not.
- Returns
- whether this tally adds additional output variables or not
◆ hasTrigger()
bool TallyBase::hasTrigger |
( |
| ) |
const |
|
inlineinherited |
Check to see if this tally uses a trigger or not.
- Returns
- whether this tally uses a trigger or not
◆ initializeTally()
virtual void TallyBase::initializeTally |
( |
| ) |
|
|
virtualinherited |
A function to initialize the tally object. Override with care.
◆ relaxAndNormalizeTally()
void TallyBase::relaxAndNormalizeTally |
( |
unsigned int |
local_score, |
|
|
const Real & |
alpha, |
|
|
const Real & |
norm |
|
) |
| |
|
inherited |
Relax the tally and normalize it according to some normalization factor 'norm'. This tends to either be the sum of the over all bins OR a global tally over the entire problem.
NOTE: This function relaxes the tally distribution, and not the actual magnitude of the sum. That is, we relax the shape distribution and then multiply it by the power (for k-eigenvalue) or source strength (for fixed source) of the current step before applying it to MOOSE. If the magnitude of the power or source strength is constant in time, there is zero error in this. But if the magnitude of the tally varies in time, we are basically relaxing the distribution of the tally, but then multiplying it by the current mean tally magnitude.
There will be very small errors in these approximations unless the power/source strength change dramatically with iteration. But because relaxation is itself a numerical approximation, this is still inconsequential at the end of the day as long as your problem has converged the relaxed tally to the raw (unrelaxed) tally.
- Parameters
-
[in] | local_score | the local index of the current score to normalize |
[in] | alpha | the relaxation factor |
[in] | norm | the normalization factor |
◆ renamesTallyVars()
bool TallyBase::renamesTallyVars |
( |
| ) |
const |
|
inlineinherited |
Check to see if the user has requested special names for the tallies.
- Returns
- whether this tally names stored values something other than '_tally_score'
◆ resetTally()
virtual void MeshTally::resetTally |
( |
| ) |
|
|
overridevirtual |
A function to reset the tally. MeshTally overrides this function to delete the OpenMC mesh.
Reimplemented from TallyBase.
◆ spatialFilter()
virtual std::pair<unsigned int, openmc::Filter *> MeshTally::spatialFilter |
( |
| ) |
|
|
overridevirtual |
A function to generate the cell filter needed by this object.
- Returns
- a pair where the first entry is the filter index in the global filter array and the second entry is an OpenMC unstructured mesh filter
Implements TallyBase.
◆ storeResults()
virtual Real MeshTally::storeResults |
( |
const std::vector< unsigned int > & |
var_numbers, |
|
|
unsigned int |
local_score, |
|
|
unsigned int |
global_score, |
|
|
const std::string & |
output_type |
|
) |
| |
|
overridevirtual |
A function which stores the results of this tally into the created auxvariables.
- Parameters
-
[in] | var_numbers | variables which the tally will store results in |
[in] | local_score | index into the tally's local array of scores which represents the current score being stored |
[in] | global_score | index into the global array of tally results which represents the current score being stored |
[in] | output_type | the output type |
Implements TallyBase.
◆ validParams()
static InputParameters MeshTally::validParams |
( |
| ) |
|
|
static |
◆ _aux
AuxiliarySystem& TallyBase::_aux |
|
protectedinherited |
◆ _current_raw_tally
std::vector<xt::xtensor<double, 1> > TallyBase::_current_raw_tally |
|
protectedinherited |
Current "raw" tally output from Monte Carlo solution.
◆ _current_raw_tally_std_dev
std::vector<xt::xtensor<double, 1> > TallyBase::_current_raw_tally_std_dev |
|
protectedinherited |
Current "raw" tally standard deviation.
◆ _current_tally
std::vector<xt::xtensor<double, 1> > TallyBase::_current_tally |
|
protectedinherited |
Current fixed point iteration tally result; for instance, when using constant relaxation, the tally is updated as: q(n+1) = (1-a) * q(n) + a * PHI(q(n), s) where q(n+1) is _current_tally, a is the relaxation factor, q(n) is _previous_tally, and PHI is the most-recently-computed tally result (the _current_raw_tally).
◆ _estimator
openmc::TallyEstimator TallyBase::_estimator |
|
protectedinherited |
The OpenMC estimator to use with this tally.
◆ _filter_index
unsigned int TallyBase::_filter_index |
|
protectedinherited |
The index of the first filter added by this tally.
◆ _has_outputs
const bool TallyBase::_has_outputs |
|
protectedinherited |
Whether this tally has additional outputs or not.
◆ _instance
unsigned int MeshTally::_instance |
|
protected |
The index into an array of mesh translations.
◆ _local_mean_tally
std::vector<Real> TallyBase::_local_mean_tally |
|
protectedinherited |
Mean value of this tally across all bins; only used for fixed source mode. Indexed by score.
◆ _local_sum_tally
std::vector<Real> TallyBase::_local_sum_tally |
|
protectedinherited |
Sum value of this tally across all bins. Indexed by score.
◆ _local_tally
openmc::Tally* TallyBase::_local_tally = nullptr |
|
protectedinherited |
The OpenMC tally object this class wraps.
◆ _local_tally_index
unsigned int TallyBase::_local_tally_index |
|
protectedinherited |
The index of the OpenMC tally this object wraps.
◆ _mesh
MooseMesh& TallyBase::_mesh |
|
protectedinherited |
◆ _mesh_filter
openmc::MeshFilter* MeshTally::_mesh_filter |
|
protected |
OpenMC mesh filter for this unstructured mesh tally.
◆ _mesh_index
unsigned int MeshTally::_mesh_index |
|
protected |
The index of the mesh added by this tally.
◆ _mesh_template
const openmc::LibMesh* MeshTally::_mesh_template |
|
protected |
OpenMC unstructured mesh instance for use with mesh tallies.
◆ _mesh_template_filename
const std::string* MeshTally::_mesh_template_filename = nullptr |
|
protected |
Mesh template file to use for creating mesh tallies in OpenMC; currently, this mesh must be identical to the mesh used in the [Mesh] block because a simple copy transfer is used to extract the tallies and put on the application's mesh in preparation for a transfer to another MOOSE app. If not set, this indicates that tallying will be performed directly on the [Mesh]. TODO: allow the mesh to not be identical, both in terms of using different units and more general differences like not having a particular phase present
◆ _mesh_translation
Point MeshTally::_mesh_translation |
|
protected |
The translation to apply to the mesh template.
◆ _openmc_problem
◆ _output_name
std::vector<std::string> TallyBase::_output_name |
|
protectedinherited |
Suffixes to apply to 'tally_name' in order to name the fields in the 'output'.
◆ _previous_tally
std::vector<xt::xtensor<double, 1> > TallyBase::_previous_tally |
|
protectedinherited |
Previous fixed point iteration tally result (after relaxation)
◆ _renames_tally_vars
const bool TallyBase::_renames_tally_vars |
|
protectedinherited |
Whether this tally stores results in variables names something other than '_tally_score'.
◆ _tally_name
std::vector<std::string> TallyBase::_tally_name |
|
protectedinherited |
Auxiliary variable name(s) for this tally.
◆ _tally_score
std::vector<std::string> TallyBase::_tally_score |
|
protectedinherited |
OpenMC tally score(s) to use with this tally.
◆ _tally_trigger
const MultiMooseEnum* TallyBase::_tally_trigger |
|
protectedinherited |
Type of trigger to apply to OpenMC tallies to indicate when the simulation is complete. These can be used to on-the-fly adjust the number of active batches in order to reach some desired criteria (which is specified by this parameter).
◆ _tally_trigger_threshold
std::vector<Real> TallyBase::_tally_trigger_threshold |
|
protectedinherited |
Thresholds to use for accepting this tally when using triggers. Indexed by score.
◆ ZERO_TALLY_THRESHOLD
constexpr Real TallyBase::ZERO_TALLY_THRESHOLD = 1e-12 |
|
staticconstexprprotectedinherited |
Tolerance for setting zero tally.
The documentation for this class was generated from the following file: