Cardinal
|
#include <MeshTally.h>
Public Member Functions | |
MeshTally (const InputParameters ¶meters) | |
virtual std::pair< unsigned int, openmc::Filter * > | spatialFilter () override |
virtual void | resetTally () override |
A function to reset the tally. MeshTally overrides this function to delete the OpenMC mesh. More... | |
virtual void | initializeTally () |
Real | storeResults (const std::vector< unsigned int > &var_numbers, unsigned int local_score, unsigned int global_score, const std::string &output_type) |
void | addScore (const std::string &score) |
void | computeSumAndMean () |
void | relaxAndNormalizeTally (unsigned int local_score, const Real &alpha, const Real &norm) |
const openmc::Tally * | getWrappedTally () const |
const std::vector< std::string > & | getScores () const |
const std::vector< std::string > & | getAuxVarNames () const |
const std::vector< std::string > & | getOutputs () const |
openmc::TallyEstimator | getTallyEstimator () const |
const Real & | getMean (unsigned int local_score) const |
const Real & | getSum (unsigned int local_score) const |
bool | hasTrigger () const |
bool | hasOutputs () const |
bool | renamesTallyVars () const |
unsigned int | numExtFilterBins () const |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual Real | storeResultsInner (const std::vector< unsigned int > &var_numbers, unsigned int local_score, unsigned int global_score, std::vector< xt::xtensor< double, 1 >> tally_vals) override |
void | checkMeshTemplateAndTranslations () const |
void | fillElementalAuxVariable (const unsigned int &var_num, const std::vector< unsigned int > &elem_ids, const Real &value) |
void | applyTriggersToLocalTally (openmc::Tally *tally) |
Protected Attributes | |
const std::string * | _mesh_template_filename = nullptr |
Point | _mesh_translation |
The translation to apply to the mesh template. More... | |
unsigned int | _instance |
The index into an array of mesh translations. More... | |
unsigned int | _mesh_index |
The index of the mesh added by this tally. More... | |
openmc::MeshFilter * | _mesh_filter |
OpenMC mesh filter for this unstructured mesh tally. More... | |
const openmc::LibMesh * | _mesh_template |
OpenMC unstructured mesh instance for use with mesh tallies. More... | |
OpenMCCellAverageProblem & | _openmc_problem |
The OpenMCCellAverageProblem using the tally system. More... | |
MooseMesh & | _mesh |
The MooseMesh. More... | |
AuxiliarySystem & | _aux |
The aux system. More... | |
std::vector< std::shared_ptr< FilterBase > > | _ext_filters |
The external filters added in the [Problem/Filters] block. More... | |
openmc::TallyEstimator | _estimator |
The OpenMC estimator to use with this tally. More... | |
std::vector< std::string > | _tally_score |
OpenMC tally score(s) to use with this tally. More... | |
std::vector< std::string > | _tally_name |
Auxiliary variable name(s) for this tally. More... | |
openmc::Tally * | _local_tally = nullptr |
The OpenMC tally object this class wraps. More... | |
unsigned int | _local_tally_index |
The index of the OpenMC tally this object wraps. More... | |
unsigned int | _filter_index |
The index of the first filter added by this tally. More... | |
unsigned int | _num_ext_filter_bins = 1 |
The number of non-spatial bins in this tally. More... | |
std::vector< Real > | _local_sum_tally |
Sum value of this tally across all bins. Indexed by score. More... | |
std::vector< Real > | _local_mean_tally |
const MultiMooseEnum * | _tally_trigger |
std::vector< Real > | _tally_trigger_threshold |
std::vector< bool > | _trigger_ignore_zeros |
std::vector< xt::xtensor< double, 1 > > | _current_tally |
std::vector< xt::xtensor< double, 1 > > | _previous_tally |
Previous fixed point iteration tally result (after relaxation) More... | |
std::vector< xt::xtensor< double, 1 > > | _current_raw_tally |
Current "raw" tally output from Monte Carlo solution. More... | |
std::vector< xt::xtensor< double, 1 > > | _current_raw_tally_std_dev |
Current "raw" tally standard deviation. More... | |
const bool | _renames_tally_vars |
Whether this tally stores results in variables names something other than '_tally_score'. More... | |
const bool | _has_outputs |
Whether this tally has additional outputs or not. More... | |
std::vector< std::string > | _output_name |
Suffixes to apply to 'tally_name' in order to name the fields in the 'output'. More... | |
Static Protected Attributes | |
static constexpr Real | ZERO_TALLY_THRESHOLD = 1e-12 |
Tolerance for setting zero tally. More... | |
MeshTally::MeshTally | ( | const InputParameters & | parameters | ) |
|
inherited |
Add a score to this tally.
[in] | score | score to add |
|
protectedinherited |
Applies triggers to a tally. This is often the local tally wrapped by this object.
[in] | tally | the tally to apply triggers to |
|
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.
|
inherited |
A function which computes and stores the sum and mean of the tally across all bins for a particular score.
|
protectedinherited |
Set an auxiliary elemental variable to a specified value
[in] | var_num | variable number |
[in] | elem_ids | element IDs to set |
[in] | value | value to set |
|
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.
|
inlineinherited |
Get the mean for a score summed over all bins.
[in] | local_score | the index representing a tally score |
|
inlineinherited |
Gets the output names to append to the end of the '_tally_name' when adding tally auxvariables for additional outputs.
|
inlineinherited |
Get the list of scores this tally uses.
|
inlineinherited |
Get the sum for a score summed over all bins.
[in] | local_score | the index representing a tally score |
|
inlineinherited |
Get the estimator used in this tally.
|
inherited |
Get the OpenMC tally that this object wraps.
|
inlineinherited |
Check to see if this tally adds additional output variables or not.
|
inlineinherited |
Check to see if this tally uses a trigger or not.
|
virtualinherited |
A function to initialize the tally object. Override with care.
|
inlineinherited |
Get the total number of external filter bins applied to this tally.
|
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.
[in] | local_score | the local index of the current score to normalize |
[in] | alpha | the relaxation factor |
[in] | norm | the normalization factor |
|
inlineinherited |
Check to see if the user has requested special names for the tallies.
|
overridevirtual |
|
overridevirtual |
A function to generate the cell filter needed by this object.
Implements TallyBase.
|
inherited |
A function which stores the results of this tally into the created auxvariables. This calls storeResultsInner.
[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 |
|
overrideprotectedvirtual |
A function which stores the results of this tally into the created auxvariables. This implements the copy transfer between the tally mesh and the MOOSE mesh.
[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] | tally_vals | the tally values to store |
Implements TallyBase.
|
static |
|
protectedinherited |
The aux system.
|
protectedinherited |
Current "raw" tally output from Monte Carlo solution.
|
protectedinherited |
Current "raw" tally standard deviation.
|
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).
|
protectedinherited |
The OpenMC estimator to use with this tally.
|
protectedinherited |
The external filters added in the [Problem/Filters] block.
|
protectedinherited |
The index of the first filter added by this tally.
|
protectedinherited |
Whether this tally has additional outputs or not.
|
protected |
The index into an array of mesh translations.
|
protectedinherited |
Mean value of this tally across all bins; only used for fixed source mode. Indexed by score.
|
protectedinherited |
Sum value of this tally across all bins. Indexed by score.
|
protectedinherited |
The OpenMC tally object this class wraps.
|
protectedinherited |
The index of the OpenMC tally this object wraps.
|
protectedinherited |
The MooseMesh.
|
protected |
OpenMC mesh filter for this unstructured mesh tally.
|
protected |
The index of the mesh added by this tally.
|
protected |
OpenMC unstructured mesh instance for use with mesh tallies.
|
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
|
protected |
The translation to apply to the mesh template.
|
protectedinherited |
The number of non-spatial bins in this tally.
|
protectedinherited |
The OpenMCCellAverageProblem using the tally system.
|
protectedinherited |
Suffixes to apply to 'tally_name' in order to name the fields in the 'output'.
|
protectedinherited |
Previous fixed point iteration tally result (after relaxation)
|
protectedinherited |
Whether this tally stores results in variables names something other than '_tally_score'.
|
protectedinherited |
Auxiliary variable name(s) for this tally.
|
protectedinherited |
OpenMC tally score(s) to use with this tally.
|
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).
|
protectedinherited |
Thresholds to use for accepting this tally when using triggers. Indexed by score.
|
protectedinherited |
Whether tally bins for certain scores should ignore bins with zeros when computing trigger metrics. Indexed by the tally score.
|
staticprotectedinherited |
Tolerance for setting zero tally.