MURE
|
EvolutionControl descendant allowing control via control rod insertion. More...
#include <RodEvolutionControl.hxx>
Public Member Functions | |
RodEvolutionControl () | |
Default Constructor. | |
RodEvolutionControl (const RodEvolutionControl &ev) | |
Copy constructor. | |
RodEvolutionControl * | Clone () override |
~RodEvolutionControl () override=default | |
destructor | |
void | ControlAfterEachMCRun () override |
control at each MC step (just after a MC run) | |
void | ControlBeforeEachSubStep () override |
control at each CRAM/RK step (just before a sub-step) | |
void | ControlAfterEachEvolutionStep () override |
control at the end of the CRAM/RK integration, just before an other MC run. | |
void | FindNextControlRodPosition () |
Find control rod position. | |
void | FindNextCoefs (double value, vector< double > &V, double &Slope, double &Intersept, int &LastMCRunNumber) |
void | FindControlRodWorthParameters (double H, double keff_x0, double keff_xH, double keff_xH4) |
Find control rod worth. | |
double | RodDifferentialWorth (double x) |
Give the control rod differential worth. | |
double | RodWorth (double x) |
Give the control rod worth. | |
double | IntegrateRodWorth (double a, double b) |
Integral of rod worth. | |
bool | Dichotom (double DeltaRho, double &FinalPos) |
returns the rod position to obtain a Delta rho | |
void | FindRodWorthWeigthSlope (double CurrentWorth) |
fit the rod worth (no more used) | |
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 | 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 Member Functions | |
void | InitVector () override |
build vector used in fits full of 0. | |
Protected Member Functions inherited from EvolutionControl |
Protected Attributes | |
double | fRodH |
The total height of the control rod. | |
double | fRho0 |
The reactivity w/o control rod insert. | |
double | fRho_rod_cte |
The reactivity coef for the linear part of the reactivity formula. | |
double | fRho_rod_sin |
The reactivity coef for the sinus part of the reactivity formula. | |
double | fRodLength |
The lenght of the control rod. | |
int | fRodNormalMove |
+1 if the rod go from top to bottom or from left to right, -1 else | |
int | fRodAxis |
0=x, 1=y, 2=z | |
double | fOldDeltaRho |
The delta rho correction (control rod) | |
double | fDLength |
The control rod variation length. | |
vector< double > | fGlobalWorth |
the worth of the control rod | |
double | fGlobalWorthSlope |
the (fitted) slope of the control rod worth | |
double | fGlobalWorthIntercept |
the (fitted) intercept of the control rod worth | |
double | fGlobalWorthWeight |
the weigth of the control rod worth (now not used) | |
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 | |
EvolutionControl descendant allowing control via control rod insertion.
RodEvolutionControl::RodEvolutionControl | ( | ) |
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.
RodEvolutionControl::RodEvolutionControl | ( | const RodEvolutionControl & | ev | ) |
Copy constructor.
|
overridedefault |
destructor
|
inlineoverridevirtual |
< Correct way to copy a EvolutionControl in case of derivation
Reimplemented from EvolutionControl.
|
overridevirtual |
control at the end of the CRAM/RK integration, just before an other MC run.
Reimplemented from EvolutionControl.
|
overridevirtual |
control at each MC step (just after a MC run)
Reimplemented from EvolutionControl.
|
overridevirtual |
control at each CRAM/RK step (just before a sub-step)
Reimplemented from EvolutionControl.
bool RodEvolutionControl::Dichotom | ( | double | DeltaRho, |
double & | FinalPos | ||
) |
returns the rod position to obtain a Delta rho
void RodEvolutionControl::FindControlRodWorthParameters | ( | double | H, |
double | keff_x0, | ||
double | keff_xH, | ||
double | keff_xH4 | ||
) |
Find control rod worth.
The reactivity is supposed to be
for a length x of the rod in the core, where
for a rod of total length H.
H | : Core height (thus the maximum rod length) |
keff_x0 | : keff(x=0) i.e. w/o rod |
keff_xH | : keff(x=H) i.e. with the rod fully in the core |
keff_xH4 | : keff(x=H/4) i.e. with 1/4 of the rod in the core |
void RodEvolutionControl::FindNextCoefs | ( | double | value, |
vector< double > & | V, | ||
double & | Slope, | ||
double & | Intersept, | ||
int & | LastMCRunNumber | ||
) |
find Slope &Intersept for linear fit of reaction rates
void RodEvolutionControl::FindNextControlRodPosition | ( | ) |
Find control rod position.
void RodEvolutionControl::FindRodWorthWeigthSlope | ( | double | CurrentWorth | ) |
fit the rod worth (no more used)
|
overrideprotectedvirtual |
build vector used in fits full of 0.
Reimplemented from EvolutionControl.
double RodEvolutionControl::IntegrateRodWorth | ( | double | a, |
double | b | ||
) |
Integral of rod worth.
This is
double RodEvolutionControl::RodDifferentialWorth | ( | double | x | ) |
Give the control rod differential worth.
This is
x | : the rod length |
double RodEvolutionControl::RodWorth | ( | double | x | ) |
Give the control rod worth.
This is = fRho0+fRho_rod_cte*x-fRho_rod_sin*
x | : the rod length |
|
protected |
The control rod variation length.
|
protected |
the worth of the control rod
|
protected |
the (fitted) intercept of the control rod worth
|
protected |
the (fitted) slope of the control rod worth
|
protected |
the weigth of the control rod worth (now not used)
|
protected |
The delta rho correction (control rod)
|
protected |
The reactivity w/o control rod insert.
|
protected |
The reactivity coef for the linear part of the reactivity formula.
|
protected |
The reactivity coef for the sinus part of the reactivity formula.
|
protected |
0=x, 1=y, 2=z
|
protected |
The total height of the control rod.
|
protected |
The lenght of the control rod.
|
protected |
+1 if the rod go from top to bottom or from left to right, -1 else