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 
43  virtual void searchForCriticality();
44 
45 protected:
47  virtual std::string quantity() const = 0;
48 
50  virtual std::string units() const = 0;
51 
53  const Real & _maximum;
54 
56  const Real & _minimum;
57 
59  const Real & _tolerance;
60 
63 
65  const Real & _target;
66 
68  std::vector<Real> _inputs;
69 
71  std::vector<Real> _k_values;
72 
74  std::vector<Real> _k_std_dev_values;
75 
77  const std::string _pp_name = "critical_value";
78 };
virtual std::string units() const =0
Assumed units in the input quantities.
Definition: OpenMCBase.h:30
const Real & _target
Target k.
Definition: CriticalitySearchBase.h:65
std::vector< Real > _k_values
Values obtained in search.
Definition: CriticalitySearchBase.h:71
static InputParameters validParams()
const Real & _maximum
Maximum range of value to explore.
Definition: CriticalitySearchBase.h:53
std::vector< Real > _inputs
Values used in search.
Definition: CriticalitySearchBase.h:68
Definition: CriticalitySearchBase.h:29
std::vector< Real > _k_std_dev_values
Standard deviation values obtained in search.
Definition: CriticalitySearchBase.h:74
const Real & _tolerance
Absolute tolerance for finding a critical configuration.
Definition: CriticalitySearchBase.h:59
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:56
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:62
const std::string _pp_name
Postprocessor that holds the result of the criticality search.
Definition: CriticalitySearchBase.h:77
virtual void searchForCriticality()
Use Brent's method to search for criticality.