MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RodEvolutionControl Class Reference

EvolutionControl descendant allowing control via control rod insertion. More...

#include <RodEvolutionControl.hxx>

Inheritance diagram for RodEvolutionControl:
EvolutionControl

Public Member Functions

 RodEvolutionControl ()
 Default Constructor. More...
 
 RodEvolutionControl (const RodEvolutionControl &ev)
 Copy constructor. More...
 
virtual RodEvolutionControlClone ()
 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...
 
FuelReprocessingGetFuelReprocessing ()
 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...
 
FuelReprocessingfFuelReprocessing
 the FuelReprocessing More...
 

Detailed Description

EvolutionControl descendant allowing control via control rod insertion.

Constructor & Destructor Documentation

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.

virtual RodEvolutionControl::~RodEvolutionControl ( )
inlinevirtual

destructor

Member Function Documentation

virtual RodEvolutionControl* RodEvolutionControl::Clone ( )
inlinevirtual

Correct way to copy a EvolutionControl in case of derivation.

Reimplemented from EvolutionControl.

void RodEvolutionControl::ControlAfterEndOfRKIntegration ( )
virtual

control at the end of the RK integration, just before an other MCNP run.

Reimplemented from EvolutionControl.

void RodEvolutionControl::ControlAtEachMCNPStep ( )
virtual

control at each MCNP step (just after a MCNP run)

Reimplemented from EvolutionControl.

void RodEvolutionControl::ControlAtEachRKStep ( )
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

\[ \rho(x)= \rho_{\rm w/o\, control\, rod} + \rho_{rod}(x) \]

for a length x of the rod in the core, where

\[ \rho_{rod}(x) = a x - b \sin( \frac{2\pi x}{H}) \]

for a rod of total length H.

Parameters
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)

void RodEvolutionControl::InitVector ( )
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

\[ \int_a^b \rho(x) dx\]

double RodEvolutionControl::RodDifferentialWorth ( double  x)

Give the control rod differential worth.

This is

\[ \frac{d\rho(x)}{dx}\]

Parameters
x: the rod length
double RodEvolutionControl::RodWorth ( double  x)

Give the control rod worth.

This is $\rho(x)$ = fRho0+fRho_rod_cte*x-fRho_rod_sin* $\sin(\frac{2\pi x}{\rm fRodH})$

Parameters
x: the rod length

Member Data Documentation

double RodEvolutionControl::fDLength
protected

The control rod variation length.

vector<double> RodEvolutionControl::fGlobalWorth
protected

the worth of the control rod

double RodEvolutionControl::fGlobalWorthIntercept
protected

the (fitted) intercept of the control rod worth

double RodEvolutionControl::fGlobalWorthSlope
protected

the (fitted) slope of the control rod worth

double RodEvolutionControl::fGlobalWorthWeight
protected

the weigth of the control rod worth (now not used)

double RodEvolutionControl::fOldDeltaRho
protected

The delta rho correction (control rod)

double RodEvolutionControl::fRho0
protected

The reactivity w/o control rod insert.

double RodEvolutionControl::fRho_rod_cte
protected

The reactivity coef for the linear part of the reactivity formula.

double RodEvolutionControl::fRho_rod_sin
protected

The reactivity coef for the sinus part of the reactivity formula.

int RodEvolutionControl::fRodAxis
protected

0=x,1=y, 2=z

double RodEvolutionControl::fRodH
protected

The lenght of the control rod.

double RodEvolutionControl::fRodLength
protected

The lenght of the control rod.

int RodEvolutionControl::fRodNormalMove
protected

+1 if the rod go from top to bottom or from left to right, -1 else


The documentation for this class was generated from the following files:

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014