|
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
![\[ \rho(x)= \rho_{\rm w/o\, control\, rod} + \rho_{rod}(x) \]](form_29.png)
for a length x of the rod in the core, where
![\[ \rho_{rod}(x) = a x - b \sin( \frac{2\pi x}{H}) \]](form_30.png)
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
![\[ \int_a^b \rho(x) dx\]](form_34.png)
| double RodEvolutionControl::RodDifferentialWorth | ( | double | x | ) |
Give the control rod differential worth.
This is
![\[ \frac{d\rho(x)}{dx}\]](form_31.png)
| x | : the rod length |
| double RodEvolutionControl::RodWorth | ( | double | x | ) |
Give the control rod worth.
This is 

| 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