MURE
|
Evolution control for Fissile content. More...
#include <FissileEvolutionControl.hxx>
Public Member Functions | |
FissileEvolutionControl () | |
Default Constructor. | |
FissileEvolutionControl (const FissileEvolutionControl &ev) | |
Copy constructor. | |
FissileEvolutionControl * | Clone () override |
~FissileEvolutionControl () override=default | |
destructor | |
void | ControlAfterEachMCRun () override |
Control just after each MC run. | |
void | ControlAfterEachEvolutionStep () override |
Control after the last RK step of an Evolution Step. | |
virtual void | FindNextFissileAddition () |
Find the next Fissile addition needed to keep keff constant. | |
void | ExtrapolateRates () override |
Extrapolation of reaction rates on the next step from a linear fit. | |
void | WriteControlParameters () override |
Write fissile proportion and addition in a file named "FISSILE_PROPS". | |
void | AddReactions (ControlMaterial *M) |
Add reaction for building tallies (n, gamma), (n, fission), ... | |
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 | 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 | 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 | |
vector< double > | fNextFissileAddition |
vector< double > | fInitialFissileProportion |
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. | |
Evolution control for Fissile content.
FissileEvolutionControl::FissileEvolutionControl | ( | ) |
Default Constructor.
By default the tally normalization factor is <0. This mean that the power will be used to normalized tallies. The Constant power is assumed and the wanted Keff is set to 1.
FissileEvolutionControl::FissileEvolutionControl | ( | const FissileEvolutionControl & | ev | ) |
Copy constructor.
|
overridedefault |
destructor
void FissileEvolutionControl::AddReactions | ( | ControlMaterial * | M | ) |
Add reaction for building tallies (n, gamma), (n, fission), ...
|
inlineoverridevirtual |
< Correct way to copy a FissileEvolutionControl 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, Global reaction rates are calculated for the ControlMaterial and a EvolutiveSystem::TransmogrifyEvolvingAtoms is called
Reimplemented from EvolutionControl.
|
overridevirtual |
Control just after each MC run.
In this method, call EvolutionControl::ControlAfterEachMCRun() and update fInitialFissileProportion.
Reimplemented from EvolutionControl.
|
overridevirtual |
Extrapolation of reaction rates on the next step from a linear fit.
Reimplemented from EvolutionControl.
|
virtual |
Find the next Fissile addition needed to keep keff constant.
|
overridevirtual |
Write fissile proportion and addition in a file named "FISSILE_PROPS".
Reimplemented from EvolutionControl.
|
protected |
|
protected |