MURE
|
EvolutionControl for heavy nuclide content control. More...
#include <HNEvolutionControl.hxx>
Public Member Functions | |
HNEvolutionControl () | |
HNEvolutionControl (const HNEvolutionControl &ev) | |
Copy constructor. | |
HNEvolutionControl * | Clone () override |
~HNEvolutionControl () override=default | |
destructor | |
void | ControlAfterEachEvolutionStep () override |
Control after the last RK step of an Evolution Step. | |
void | KeepHNProportionConstant (Cell *TheCell) |
bool | IsHNProportionConstant () |
int | GetMaterialWhereHNProportionConstant () |
double | GetWantedHNProportion () |
double | GetHNProportion (ControlMaterial *TheMaterial) |
Public Member Functions inherited from EvolutionControl | |
EvolutionControl () | |
Default Constructor. | |
EvolutionControl (const EvolutionControl &ev) | |
Copy constructor. | |
virtual EvolutionControl * | Clone () |
virtual | ~EvolutionControl () |
destructor | |
virtual void | ControlBeforeFirstMCRun () |
virtual void | ControlAfterRestart (int RestartRun) |
control at the very beginning of the evolution, before any MC run | |
virtual void | ControlAfterEachMCRun () |
when restart from existing (B)DATA files, call this method just after reading files | |
virtual void | ControlBeforeEachSubStep () |
Control just before each sub-step in an Evolution Step. | |
virtual void | ControlAfterLastMCRun () |
void | SetMCRunTime (vector< double > T) |
Control at the end of evolution, after the last Evolution Step (or MC run if evolution end on a MC run) | |
vector< double > & | GetMCRunTimes () |
void | SetWantedKeff (double keff=1.) |
void | SetWantedHNProportion (double HNproportion=0.01) |
double | GetWantedHNProportion () |
void | SetLockToInitialKeff (bool flag=true) |
void | SetConstantPower (bool flag=true) |
bool | IsConstantPower () |
void | SetFuelReprocessing (FuelReprocessing *processing) |
FuelReprocessing * | GetFuelReprocessing () |
virtual void | CalculateCoeffsAtStep (int s) |
Abstract method ; to be overloaded. | |
virtual void | SetRunFuelTemperatureCoeff (bool flag=true) |
Abstract method ; to be overloaded. | |
virtual void | SetRunVoidCoeff (bool flag=true) |
Abstract method ; to be overloaded. | |
virtual void | SetRunModeratorTemperatureCoeff (bool flag=true) |
Abstract method ; to be overloaded. | |
virtual void | SetRunPoisonReactivityWorth (bool flag=true) |
Abstract method ; to be overloaded. | |
virtual void | SetCriticalitySource (MCSource *s) |
Abstract method ; to be overloaded. | |
virtual void | LaunchReactivityCoeffsCalculations () |
Abstract method ; to be overloaded. | |
virtual void | ControlKeff (double Time) |
Abstract method ; to be overloaded. | |
void | RunMCCriticality (string FileName) |
Run MC only for a Kcode (no tally) | |
virtual double | EstimatedKeff () |
Extrapolation of Keff on the next step from a linear fit. | |
virtual void | FindKeffSlope () |
Find the slope of Keff base on previous run (fit) | |
virtual void | FindAbsorptionSlope () |
Find the slope of Aborption base on previous run (fit) | |
virtual void | FindFissionSlope () |
Find the slope of Fission base on previous run (fit) | |
virtual void | FindNuFissionSlope () |
Find the slope of Fission*nu base on previous run (fit) | |
virtual void | ExtrapolateRates () |
Extrapolation of reaction rates on the next step from a linear fit. | |
virtual void | WriteControlParameters () |
Write poison/fissile proportions etc. | |
virtual void | WriteCurrentRates () |
Write absorpstion, fission, ... rates in ABS, FISS, ... files. | |
void | PrintKeffWarning () |
Print Keff estimation warnings. | |
void | FindNextCoefs (double value, vector< double > &V, double &Slope, double &Intersept, int &LastMCRunNumber) |
Fit a vector and return the fitted parameters. | |
Protected Attributes | |
bool | fIsHNProportionConstant |
true for HN proportion kept constant | |
int | fMaterialWhereHNProportionConstant |
The material number in which the HNProportion is kept constant. | |
double | fWantedHNProportion |
The wanted HNProportion. | |
Protected Attributes inherited from EvolutionControl | |
vector< double > | fMCRunTimes |
Time at which MC run is performed. | |
bool | fConstantPower |
whether or not keep a constant power | |
double | fWantedKeff |
The wanted Keff of the problem. | |
double | fWantedHNProportion |
The wanted heavy nuclide proportion. | |
vector< double > | fMCTime |
vector of last MC run time (for fits) | |
vector< double > | fMCKeff |
vector of last MC run Keff | |
vector< double > | fMCDeltaKeff |
vector of last MC run Keff error | |
double | fOldKeff |
The previous MC keff result. | |
bool | fLockToInitialKeff |
for keff control. | |
vector< double > | fKeffWarningTime |
Times at which estimate keff differs from MC keff at 3sigma. | |
vector< double > | fKeffWarningGap |
|Estimate keff - Mcnp Keff| | |
vector< double > | fKeffWarning3sigma |
3sigma on MC keff | |
vector< int > | fKeffWarningMCNum |
The MC run number of the warning. | |
double | fFitKeffSlope |
slope to find the Keff extrapolation | |
double | fFitKeffIntersept |
intersept to find the Keff extrapolation | |
vector< double > | fMCAbs |
vector of last MC run's global total absorption rate. | |
vector< double > | fMCDeltaAbs |
vector of last MC run global Absorption rate (-2) error | |
double | fFitAbsSlope |
slope to find extrapolated Absorption value. | |
double | fFitAbsIntercept |
Absorption intercept for the extrapolation. | |
vector< double > | fMCFiss |
vector of last MC run's global fission rate. | |
vector< double > | fMCDeltaFiss |
vector of last MC run's global fission rate error. | |
double | fFitFissSlope |
slope of linear fit of the fission rate. | |
double | fFitFissIntercept |
intersept of linear fit of the fission rate. | |
vector< double > | fMCNuFiss |
vector of last MC run's global nu*fission rate. | |
vector< double > | fMCDeltaNuFiss |
vector of last MC run's global nu*fission rate error | |
double | fFitNuFissSlope |
slope of linear fit of the nu*fission rate. | |
double | fFitNuFissIntercept |
intersept of linear fit of the nu*fission rate. | |
double | fSumOfFission |
sum of all (n, fission) reaction in a cell | |
double | fSumOfCapture |
sum of all (n, gamma) reaction in a cell | |
double | fSumOfN2N |
sum of all (n, 2n) reaction in a cell | |
double | fTNF |
the Tally normalization Factor | |
FuelReprocessing * | fFuelReprocessing |
the FuelReprocessing | |
Additional Inherited Members | |
Protected Member Functions inherited from EvolutionControl | |
virtual void | InitVector () |
build vector used in fits full of 0. | |
EvolutionControl for heavy nuclide content control.
HNEvolutionControl::HNEvolutionControl | ( | ) |
HNEvolutionControl::HNEvolutionControl | ( | const HNEvolutionControl & | ev | ) |
Copy constructor.
|
overridedefault |
destructor
|
inlineoverridevirtual |
< Correct way to copy a HNEvolutionControl in case of derivation
Reimplemented from EvolutionControl.
|
overridevirtual |
Control after the last RK step of an Evolution Step.
In this method, EvolutionControl::ControlAfterEachEvolutionStep is called, ControlMaterial Heavy Nucleus is changed and a EvolutiveSystem::TransmogrifyEvolvingAtoms is called.
Reimplemented from EvolutionControl.
double HNEvolutionControl::GetHNProportion | ( | ControlMaterial * | TheMaterial | ) |
|
inline |
|
inline |
|
inline |
void HNEvolutionControl::KeepHNProportionConstant | ( | Cell * | TheCell | ) |
|
protected |
true for HN proportion kept constant
|
protected |
The material number in which the HNProportion is kept constant.
|
protected |
The wanted HNProportion.