Cardinal
SetupMGXSAction.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 "CardinalAction.h"
22 
23 #include "CardinalEnums.h"
24 #include "EnergyBinBase.h"
25 
26 #include "TallyBase.h"
27 
29 
36 {
37 public:
38  static InputParameters validParams();
39 
40  SetupMGXSAction(const InputParameters & parameters);
41 
42  virtual void act() override;
43 
44  bool addingCellTallies() const { return _t_type == tally::cell; }
45 
46 protected:
52 
54  void addFilters();
55 
57  void addTallies();
58 
60  void addAuxVars();
61 
63  void addAuxKernels();
64 
66  void modifyOutputs();
67 
70 
72  const MooseEnum _particle;
73 
75  MooseEnum _estimator;
76 
79  const bool _add_scattering;
80 
82  const unsigned int _l_order;
83 
86 
88  const bool _add_fission;
89 
91  const bool _add_kappa_fission;
92 
94  const bool _add_inv_vel;
95 
97  const bool _add_diffusion;
98 
100  const Real & _void_diff;
101 
103  const bool _add_absorption;
104 
106  const bool _hide_tally_vars;
107 
109  std::vector<const TallyBase *> _mgxs_tallies;
110 
113 };
const bool _add_absorption
Whether or not group-wise absorption MGXS should be computed.
Definition: SetupMGXSAction.h:103
void addTallies()
A function to add the tallies necessary for MGXS generation.
Definition: CardinalAction.h:29
virtual void act() override
static InputParameters validParams()
Definition: SetupMGXSAction.h:35
OpenMCCellAverageProblem * openmcProblem()
Definition: OpenMCCellAverageProblem.h:66
void addAuxKernels()
A function which adds auxkernels that compute the MGXS.
SetupMGXSAction(const InputParameters &parameters)
const bool _add_kappa_fission
Whether or not group-wise kappa-fission values should be computed.
Definition: SetupMGXSAction.h:91
bool _need_p1_scatter
Whether or not scattering reaction rates need to be at least order P1.
Definition: SetupMGXSAction.h:112
const Real & _void_diff
The value the diffusion coefficient should take in a void region.
Definition: SetupMGXSAction.h:100
const bool _add_scattering
Definition: SetupMGXSAction.h:79
void addFilters()
A function to add the filters necessary for MGXS generation.
const unsigned int _l_order
The Legendre order.
Definition: SetupMGXSAction.h:82
Definition: CardinalEnums.h:162
void addAuxVars()
A function which adds auxvariables that store the computed MGXS.
bool addingCellTallies() const
Definition: SetupMGXSAction.h:44
void modifyOutputs()
Modify outputs to hide tally variables used to generate MGXS in outputs.
const tally::TallyTypeEnum _t_type
The tally type to add.
Definition: SetupMGXSAction.h:69
const MooseEnum _particle
The particle to filter for when generating cross sections.
Definition: SetupMGXSAction.h:72
bool _transport_correction
Whether a P0 transport correction should be applied to isotropic scattering cross sections.
Definition: SetupMGXSAction.h:85
const bool _add_fission
Whether or not group-wise nu-fission MGXS should be computed.
Definition: SetupMGXSAction.h:88
const bool _add_inv_vel
Whether or not group-wise inverse velocity values should be computed.
Definition: SetupMGXSAction.h:94
const bool _add_diffusion
Whether or not group-wise diffusion coefficients should be computed.
Definition: SetupMGXSAction.h:97
Definition: EnergyBinBase.h:25
const bool _hide_tally_vars
Whether tally variables should be hidden.
Definition: SetupMGXSAction.h:106
MooseEnum _estimator
The estimator to use when generating multi-group cross sections.
Definition: SetupMGXSAction.h:75
TallyTypeEnum
Type of tally to construct for the OpenMC model.
Definition: CardinalEnums.h:160
std::vector< const TallyBase * > _mgxs_tallies
A list of tallies added by this action.
Definition: SetupMGXSAction.h:109