EvolutionControl descendant allowing control via control rod insertion. More...
#include <RodEvolutionControl.hxx>
Public Member Functions | |
RodEvolutionControl () | |
Default Constructor. More... | |
RodEvolutionControl (const RodEvolutionControl &ev) | |
Copy constructor. More... | |
virtual RodEvolutionControl * | Clone () |
Correct way to copy a EvolutionControl in case of derivation. More... | |
virtual | ~RodEvolutionControl () |
destructor More... | |
virtual void | ControlAtEachMCNPStep () |
control at each MCNP step (just after a MCNP run) More... | |
virtual void | ControlAtEachRKStep () |
control at each RK step (just before a RK step) More... | |
virtual void | ControlAfterEndOfRKIntegration () |
control at the end of the RK integration, just before an other MCNP run. More... | |
void | FindNextControlRodPosition () |
Find control rod position. More... | |
void | FindNextCoefs (double value, vector< double > &V, double &Slope, double &Intersept, int &LastMCNPRunNumber) |
void | FindControlRodWorthParameters (double H, double keff_x0, double keff_xH, double keff_xH4) |
Find control rod worth. More... | |
double | RodDifferentialWorth (double x) |
Give the control rod differential worth. More... | |
double | RodWorth (double x) |
Give the control rod worth. More... | |
double | IntegrateRodWorth (double a, double b) |
Integral of rod worth. More... | |
bool | Dichotom (double DeltaRho, double &FinalPos) |
returns the rod position to obtain a Delta rho More... | |
void | FindRodWorthWeigthSlope (double CurrentWorth) |
fit the rod worth (no more used) More... | |
Public Member Functions inherited from EvolutionControl | |
EvolutionControl () | |
Default Constructor. More... | |
EvolutionControl (const EvolutionControl &ev) | |
Copy constructor. More... | |
virtual | ~EvolutionControl () |
destructor More... | |
virtual void | ControlBeforeMCNPStep () |
control at each MCNP step (just before a MCNP run) More... | |
void | SetTimeCutting (vector< double >T) |
Set Time at which MCNP run is performed. More... | |
vector< double > & | GetMCNPRunTimes () |
returns Time at which MCNP run is performed More... | |
void | SetWantedKeff (double keff=1.) |
set the wanted keff value More... | |
void | SetWantedHNProportion (double HNproportion=0.01) |
set the wanted Heavy Nucleus proportion More... | |
double | GetWantedHNProportion () |
return the wanted Heavy Nucleus proportion More... | |
void | SetLockToInitialKeff (bool flag=true) |
set keff control to keep keff at its initial value. (tang) More... | |
void | SetConstantPower (bool flag=true) |
say whether the power is kept constant or not More... | |
bool | IsConstantPower () |
return whether the power is kept constant or not More... | |
void | SetFuelReprocessing (FuelReprocessing *processing) |
add the FuelReprocessing More... | |
FuelReprocessing * | GetFuelReprocessing () |
get the FuelReprocessing More... | |
virtual void | CalculateCoeffsAtStep (int s) |
Abstract method ; to be overlaoded. More... | |
virtual void | SetRunFuelTemperatureCoeff (bool flag=true) |
Abstract method ; to be overlaoded. More... | |
virtual void | SetRunVoidCoeff (bool flag=true) |
Abstract method ; to be overlaoded. More... | |
virtual void | SetRunModeratorTemperatureCoeff (bool flag=true) |
Abstract method ; to be overlaoded. More... | |
virtual void | SetRunPoisonReactivityWorth (bool flag=true) |
Abstract method ; to be overlaoded. More... | |
virtual void | SetCriticalitySource (MCNPSource *s) |
Abstract method ; to be overlaoded. More... | |
virtual void | LaunchReactivityCoeffsCalculations () |
Abstract method ; to be overlaoded. More... | |
virtual void | ControlKeff (double Time) |
Abstract method ; to be overlaoded. More... | |
void | RunMCNPCriticality (string FileName) |
Run MCNP only for a Kcode (no tally) More... | |
virtual double | EstimatedKeff () |
Extrapolation of Keff on the next step from a linear fit. More... | |
virtual void | FindKeffSlope () |
Find the slope of Keff base on previous run (fit) More... | |
virtual void | FindAbsorptionSlope () |
Find the slope of Aborption base on previous run (fit) More... | |
virtual void | FindFissionSlope () |
Find the slope of Fission base on previous run (fit) More... | |
virtual void | FindNuFissionSlope () |
Find the slope of Fission*nu base on previous run (fit) More... | |
virtual void | ExtrapolateRates () |
Extrapolation of reaction rates on the next step from a linear fit. More... | |
virtual void | WriteControlParameters () |
Write poison/fissile proportions etc. More... | |
virtual void | WriteCurrentRates () |
Write absorpstion, fission, ... rates in ABS, FISS, ... files. More... | |
void | PrintKeffWarning () |
Print Keff estimation warnings. More... | |
void | FindNextCoefs (double value, vector< double > &V, double &Slope, double &Intersept, int &LastMCNPRunNumber) |
Fit a vector and return the fitted parameters. More... | |
Protected Member Functions | |
void | InitVector () |
build vector used in fits full of 0. More... | |
Protected Attributes | |
double | fRodH |
The lenght of the control rod. More... | |
double | fRho0 |
The reactivity w/o control rod insert. More... | |
double | fRho_rod_cte |
The reactivity coef for the linear part of the reactivity formula. More... | |
double | fRho_rod_sin |
The reactivity coef for the sinus part of the reactivity formula. More... | |
double | fRodLength |
The lenght of the control rod. More... | |
int | fRodNormalMove |
+1 if the rod go from top to bottom or from left to right, -1 else More... | |
int | fRodAxis |
0=x,1=y, 2=z More... | |
double | fOldDeltaRho |
The delta rho correction (control rod) More... | |
double | fDLength |
The control rod variation length. More... | |
vector< double > | fGlobalWorth |
the worth of the control rod More... | |
double | fGlobalWorthSlope |
the (fitted) slope of the control rod worth More... | |
double | fGlobalWorthIntercept |
the (fitted) intercept of the control rod worth More... | |
double | fGlobalWorthWeight |
the weigth of the control rod worth (now not used) More... | |
Protected Attributes inherited from EvolutionControl | |
vector< double > | fMCNPRunTimes |
Time at which MCNP run is performed. More... | |
bool | fConstantPower |
whether or not keep a constant power More... | |
double | fWantedKeff |
The wanted Keff of the problem. More... | |
double | fWantedHNProportion |
The wanted heavy nuclide proportion. More... | |
vector< double > | fMCNPTime |
vector of last MCNP run time (for fits) More... | |
vector< double > | fMCNPKeff |
vector of last MCNP run Keff More... | |
vector< double > | fMCNPDeltaKeff |
vector of last MCNP run Keff error More... | |
vector< double > | fKeffWarningTime |
Times at which estimate keff differs from MCNP keff at 3sigma. More... | |
vector< double > | fKeffWarningGap |
|Estimate keff - Mcnp Keff| More... | |
vector< double > | fKeffWarning3sigma |
3sigma on MCNP keff More... | |
vector< int > | fKeffWarningMCNPNum |
The MCNP run number of the warning. More... | |
double | fFitKeffSlope |
slope to find the Keff extrapolation More... | |
double | fFitKeffIntersept |
intersept to find the Keff extrapolation More... | |
vector< double > | fMCNPAbs |
vector of last MCNP run's global total absorption rate. More... | |
vector< double > | fMCNPDeltaAbs |
vector of last MCNP run global Absorption rate (-2) error More... | |
double | fFitAbsSlope |
slope to find extrapolated Absorption value. More... | |
double | fFitAbsIntercept |
Absorption intercept for the extrapolation. More... | |
vector< double > | fMCNPFiss |
vector of last MCNP run's global fission rate. More... | |
vector< double > | fMCNPDeltaFiss |
vector of last MCNP run's global fission rate error. More... | |
double | fFitFissSlope |
slope of linear fit of the fission rate. More... | |
double | fFitFissIntercept |
intersept of linear fit of the fission rate. More... | |
vector< double > | fMCNPNuFiss |
vector of last MCNP run's global nu*fission rate. More... | |
vector< double > | fMCNPDeltaNuFiss |
vector of last MCNP run's global nu*fission rate error More... | |
double | fFitNuFissSlope |
slope of linear fit of the nu*fission rate. More... | |
double | fFitNuFissIntercept |
intersept of linear fit of the nu*fission rate. More... | |
double | fOldKeff |
The previous MCNP keff result. More... | |
bool | fLockToInitialKeff |
for keff control. More... | |
double | fSumOfFission |
sum of all (n,fission) reaction in a cell More... | |
double | fSumOfCapture |
sum of all (n,gamma) reaction in a cell More... | |
double | fSumOfN2N |
sum of all (n,2n) reaction in a cell More... | |
double | fTNF |
the Tally normalization Factor More... | |
FuelReprocessing * | fFuelReprocessing |
the FuelReprocessing More... | |
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.
|
inlinevirtual |
destructor
|
inlinevirtual |
Correct way to copy a EvolutionControl in case of derivation.
Reimplemented from EvolutionControl.
|
virtual |
control at the end of the RK integration, just before an other MCNP run.
Reimplemented from EvolutionControl.
|
virtual |
control at each MCNP step (just after a MCNP run)
Reimplemented from EvolutionControl.
|
virtual |
control at each RK step (just before a RK 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 & | LastMCNPRunNumber | ||
) |
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)
|
protectedvirtual |
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 lenght 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