Cardinal
CriticalitySearchBase.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 "MooseObject.h"
22 #include "OpenMCBase.h"
23 #include "CardinalEnums.h"
24 
29 class CriticalitySearchBase : public MooseObject, public OpenMCBase
30 {
31 public:
32  static InputParameters validParams();
33 
34  CriticalitySearchBase(const InputParameters & parameters);
35 
40  virtual void updateOpenMCModel(const Real & input) = 0;
41 
47  virtual void searchForCriticality(std::function<void()> step_callback);
48 
53  virtual bool changingGeometry() const = 0;
54 
55 protected:
57  virtual std::string quantity() const = 0;
58 
60  virtual std::string units() const = 0;
61 
63  const Real & _maximum;
64 
66  const Real & _minimum;
67 
69  const Real & _k_tol;
70 
72  const Real & _root_tol;
73 
76 
78  const bool & _run_critical_state;
79 
81  const bool & _tally_during_search;
82 
84  const Real & _target;
85 
87  std::vector<Real> _inputs;
88 
90  std::vector<Real> _k_values;
91 
93  std::vector<Real> _k_std_dev_values;
94 
96  const std::string _pp_name = "critical_value";
97 };
const Real & _root_tol
Absolute tolerance on the solved root of the search.
Definition: CriticalitySearchBase.h:72
virtual std::string units() const =0
Assumed units in the input quantities.
Definition: OpenMCBase.h:30
const Real & _target
Target k.
Definition: CriticalitySearchBase.h:84
std::vector< Real > _k_values
Values obtained in search.
Definition: CriticalitySearchBase.h:90
static InputParameters validParams()
const Real & _maximum
Maximum range of value to explore.
Definition: CriticalitySearchBase.h:63
std::vector< Real > _inputs
Values used in search.
Definition: CriticalitySearchBase.h:87
const bool & _tally_during_search
Whether tallies should be disabled through the search or not.
Definition: CriticalitySearchBase.h:81
Definition: CriticalitySearchBase.h:29
const Real & _k_tol
Absolute tolerance on the eigenvalue of the search.
Definition: CriticalitySearchBase.h:69
virtual void searchForCriticality(std::function< void()> step_callback)
std::vector< Real > _k_std_dev_values
Standard deviation values obtained in search.
Definition: CriticalitySearchBase.h:93
virtual std::string quantity() const =0
The quantity being varied in the search for criticality, for console prints.
const Real & _minimum
Minimum range of value to explore.
Definition: CriticalitySearchBase.h:66
virtual bool changingGeometry() const =0
EigenvalueEnum
Type of OpenMC k-eigenvalue global tally.
Definition: CardinalEnums.h:250
virtual void updateOpenMCModel(const Real &input)=0
CriticalitySearchBase(const InputParameters &parameters)
const eigenvalue::EigenvalueEnum _estimator
Estimator to use for k.
Definition: CriticalitySearchBase.h:75
const std::string _pp_name
Postprocessor that holds the result of the criticality search.
Definition: CriticalitySearchBase.h:96
const bool & _run_critical_state
Whether a final critical state calculation is executed or not.
Definition: CriticalitySearchBase.h:78