Loading [MathJax]/extensions/tex2jax.js
Cardinal
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
MeshTally.h
Go to the documentation of this file.
1/********************************************************************/
2/* SOFTWARE COPYRIGHT NOTIFICATION */
3/* Cardinal */
4/* */
5/* (c) 2021 UChicago Argonne, LLC */
6/* ALL RIGHTS RESERVED */
7/* */
8/* Prepared by UChicago Argonne, LLC */
9/* Under Contract No. DE-AC02-06CH11357 */
10/* With the U. S. Department of Energy */
11/* */
12/* Prepared by Battelle Energy Alliance, LLC */
13/* Under Contract No. DE-AC07-05ID14517 */
14/* With the U. S. Department of Energy */
15/* */
16/* See LICENSE for full restrictions */
17/********************************************************************/
18
19#pragma once
20
21#include "TallyBase.h"
23
24#include "openmc/tallies/filter_mesh.h"
25
26namespace libMesh
27{
28class ReplicatedMesh;
29}
30
31class MeshTally : public TallyBase
32{
33public:
34 static InputParameters validParams();
35
36 MeshTally(const InputParameters & parameters);
37
43 virtual std::pair<unsigned int, openmc::Filter *> spatialFilter() override;
44
46 virtual void resetTally() override;
47
48protected:
61 virtual Real storeResultsInner(const std::vector<unsigned int> & var_numbers,
62 unsigned int local_score,
63 unsigned int global_score,
64 std::vector<xt::xtensor<double, 1>> tally_vals,
65 bool norm_by_src_rate = true) override;
74
84 const std::string * _mesh_template_filename = nullptr;
85
88
90 const unsigned int _instance;
91
93 unsigned int _mesh_index;
94
96 openmc::MeshFilter * _mesh_filter;
97
99 openmc::LibMesh * _mesh_template;
100
102 std::set<SubdomainID> _tally_blocks;
103
105 const bool _use_dof_map;
106
113 std::unique_ptr<libMesh::ReplicatedMesh> _libmesh_mesh_copy;
115 std::vector<unsigned int> _bin_to_element_mapping;
116};
Definition MeshTally.h:32
unsigned int _mesh_index
The index of the mesh added by this tally.
Definition MeshTally.h:93
static InputParameters validParams()
openmc::LibMesh * _mesh_template
OpenMC unstructured mesh instance for use with mesh tallies.
Definition MeshTally.h:99
void checkMeshTemplateAndTranslations() const
virtual void resetTally() override
A function to reset the tally. MeshTally overrides this function to delete the OpenMC mesh.
const unsigned int _instance
The index into an array of mesh translations.
Definition MeshTally.h:90
std::set< SubdomainID > _tally_blocks
Blocks for which to add mesh tallies.
Definition MeshTally.h:102
openmc::MeshFilter * _mesh_filter
OpenMC mesh filter for this unstructured mesh tally.
Definition MeshTally.h:96
MeshTally(const InputParameters &parameters)
std::vector< unsigned int > _bin_to_element_mapping
A mapping between the OpenMC bins (active block restricted elements) and all elements.
Definition MeshTally.h:115
const std::string * _mesh_template_filename
Definition MeshTally.h:84
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, bool norm_by_src_rate=true) override
Point _mesh_translation
The translation to apply to the mesh template.
Definition MeshTally.h:87
virtual std::pair< unsigned int, openmc::Filter * > spatialFilter() override
const bool _use_dof_map
Whether we're using an indirection layer to map between the OpenMC mesh tally and the MOOSE mesh.
Definition MeshTally.h:105
std::unique_ptr< libMesh::ReplicatedMesh > _libmesh_mesh_copy
Definition MeshTally.h:113
Definition TallyBase.h:34
Definition OpenMCBase.h:26