Cardinal
Loading...
Searching...
No Matches
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
29class CriticalitySearchBase : public MooseObject, public OpenMCBase
30{
31public:
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
55protected:
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
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};
Definition CriticalitySearchBase.h:30
static InputParameters validParams()
std::vector< Real > _k_values
Values obtained in search.
Definition CriticalitySearchBase.h:90
const bool & _tally_during_search
Whether tallies should be disabled through the search or not.
Definition CriticalitySearchBase.h:81
const Real & _minimum
Minimum range of value to explore.
Definition CriticalitySearchBase.h:66
const eigenvalue::EigenvalueEnum _estimator
Estimator to use for k.
Definition CriticalitySearchBase.h:75
std::vector< Real > _inputs
Values used in search.
Definition CriticalitySearchBase.h:87
const Real & _k_tol
Absolute tolerance on the eigenvalue of the search.
Definition CriticalitySearchBase.h:69
CriticalitySearchBase(const InputParameters &parameters)
const std::string _pp_name
Postprocessor that holds the result of the criticality search.
Definition CriticalitySearchBase.h:96
const Real & _maximum
Maximum range of value to explore.
Definition CriticalitySearchBase.h:63
virtual void updateOpenMCModel(const Real &input)=0
const bool & _run_critical_state
Whether a final critical state calculation is executed or not.
Definition CriticalitySearchBase.h:78
virtual std::string quantity() const =0
The quantity being varied in the search for criticality, for console prints.
std::vector< Real > _k_std_dev_values
Standard deviation values obtained in search.
Definition CriticalitySearchBase.h:93
const Real & _root_tol
Absolute tolerance on the solved root of the search.
Definition CriticalitySearchBase.h:72
virtual void searchForCriticality(std::function< void()> step_callback)
virtual bool changingGeometry() const =0
const Real & _target
Target k.
Definition CriticalitySearchBase.h:84
virtual std::string units() const =0
Assumed units in the input quantities.
Definition OpenMCBase.h:31
EigenvalueEnum
Type of OpenMC k-eigenvalue global tally.
Definition CardinalEnums.h:252