MURE
Loading...
Searching...
No Matches
Public Member Functions | List of all members
EvolutionWrapper Class Reference

Front-end class for Evolution(): enables easy and comprehensive specification of operation history, as well as core reshuffling. More...

#include <EWrapper.hxx>

Inheritance diagram for EvolutionWrapper:
EvolutionControl

Public Member Functions

 EvolutionWrapper ()
 Normal constructor.
 
 EvolutionWrapper (const EvolutionWrapper &ev)
 Copy constructor.
 
EvolutionControlClone () override
 Object cloning.
 
 ~EvolutionWrapper () override
 Destructor.
 
Evolution summary

Use these methods to print a summary file for evolution.

void PrintMaterialDensity (Material *M)
 
void PrintMaterialTemperature (Material *M)
 
void PrintMaterialBoron (Material *M)
 
void PrintFinalComposition (Material *M, string Title)
 Dump final composition of M with title.
 
void PrintFinalCompositionNuclide (int Z, int A)
 Dump final composition of M with title.
 
void SetOutFile (string fn)
 
Evolution control

These are methods for controlling the evolution at every step.

void ControlAfterEachMCRun () override
 from EvolutionControl
 
void ControlBeforeEachSubStep () override
 from EvolutionControl
 
void ControlAfterEachEvolutionStep () override
 from EvolutionControl
 
void Evolve (int start=0, string startd="")
 Start the evolution.
 
History description

Adding depletion phases, setting temperatures/densities/boron, setting power etc.

void AddPhase (float T, int steps, int dlog=0, float bas=2)
 Add new depletion phase.
 
void SetPowerConstant (float P)
 This phase is burn phase, power is constant.
 
void SetPowerLinear (float P1, float P2)
 This phase is burn phase, power is linearly changing.
 
void SetPowerCooling ()
 This phase is cooling (no flux).
 
void SetMaterialTemperature (Material *M, float X)
 Set temperature of a material during this phase.
 
void SetMaterialBoron (Material *M, float X)
 Set boron content in a material during this phase.
 
void SetMaterialBoronLinear (Material *M, float Content1, float Content2)
 Set linearly changing boron content in a material during this phase.
 
void SetMaterialDensity (Material *M, float X)
 Set boron content in a material during this phase.
 
void SetMaterialNumberDensity (Material *M, int X)
 Set number density of isotopes in a material during this phase.
 
Tallies
void AddTally (MureTally *t, int *index)
 
- Public Member Functions inherited from EvolutionControl
 EvolutionControl ()
 Default Constructor.
 
 EvolutionControl (const EvolutionControl &ev)
 Copy constructor.
 
virtual EvolutionControlClone ()
 
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)
 
FuelReprocessingGetFuelReprocessing ()
 
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.
 

Core reshuffling

Methods allowing reshuffle core (based on moving universes in a lattice) at a MC step.

vector< double > fPower
 fPower vector (watts)
 
vector< double > fSumTallyEnergies
 
int fSumTallyEnergiesN
 
vector< Reaction * > fSumTallyReactions
 
vector< Cell * > fSumTallyCells
 
vector< int * > fSumTallyIndices
 
vector< vector< ValErr_t > > fSumTallyValues
 
vector< int * > fTallies
 
vector< vector< ValErr_t > > fTallyValues
 
vector< double > fBurnup
 
vector< ReshufflingScheme * > fReshufflingScheme
 Reshuffling schemes for lattice cores.
 
vector< int > fPhaseStep
 Number of MC steps in this phase.
 
vector< int > fPhaseCum
 Number of MC steps before this phase (cumulative)
 
vector< double > fTime
 fTime vector (begining of steps)
 
double fPhaseEndTime
 Ending time of the last defined phase (use to start a new phase)
 
vector< bool > fCool
 vector of flags denoting the cooling periods
 
vector< MatXXMatTTs
 Vector of (vector of materials) with changing temperature.
 
vector< MatXXMatBBs
 Vector of (vector of materials) with changing boron.
 
vector< MatXXMatDDs
 Vector of (vector of materials) with changing density.
 
vector< MatYYMatMMs
 Vector of (vector of materials) with changing number densities>
 
vector< string > fFinalCompositionTitles
 Titles of materials for final composition.
 
vector< Material * > fFinalCompositionMaterial
 Materials for final composition.
 
vector< int > fFinalCompositionZ
 Z of isotopes for final composition.
 
vector< int > fFinalCompositionA
 A of isotopes for final composition.
 
ofstream fOutFile
 Output file for evolution table.
 
string fOutFilename
 output file name
 
vector< Material * > outTemp
 Vector of materials where temperature is to be plotted.
 
vector< Material * > outDens
 Vector of materials where density is to be plotted.
 
vector< Material * > outBoron
 Vector of materials where boron is to be plotted.
 
void Reshuffle (LatticeCell *CLatGen)
 Reshuffle at beginning of this phase.
 
void ReshuffleAddChain (vector< Cell * > Chain)
 Add a new reshuffling chain (fresh->a->b->..->z, z goes out)
 
void ReshuffleStartChain ()
 Add a new empty reshuffling chain.
 
void ReshuffleAddToChain (Cell *C)
 Add a cell to the last reshuffling chain.
 
vector< vector< ValErr_t > > & GetTallyValues ()
 
vector< double > & GetBurnup ()
 
void AddSumTally (Cell *c, Reaction *r, int *index)
 
vector< ValErr_t > & GetSumTallyValues (int SumTally)
 
void SetSumTallyEnergies (int nE, double *E)
 
void BuildSumTallies ()
 
void EvaluateSumTallies ()
 
void outT (int start=0)
 Print out the temperature.
 
void outD (int start=0)
 Print out the density.
 
void outB (int start=0)
 Print out the boron content.
 
void outH (int start=0)
 Print out basic info (step no., fTime, fPower)
 
void PrepareTemperatureEvolution ()
 Set flags for temperature evolution.
 
void UpdatePower (int step)
 Update fPower for a MC step.
 
void UpdateTempBoronDens (int step)
 Update boron, temperatures &densities in this step.
 
void UpdateTallies ()
 
void UpdateMaterialComposition (int step)
 Update material number densitites.
 

Additional Inherited Members

- Protected Member Functions inherited from EvolutionControl
virtual void InitVector ()
 build vector used in fits full of 0.
 
- 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
 
FuelReprocessingfFuelReprocessing
 the FuelReprocessing
 

Detailed Description

Front-end class for Evolution(): enables easy and comprehensive specification of operation history, as well as core reshuffling.

Specifying the operation history using EvolutionWrapper

Introduction

For simulating a reactor operation with given history of power/downtimes/temperatures/boron content, extension of standard MURE->Evolution() method was developed. It allows specifying detailed operation history, including core reshuffling (not treated in this section).

EvolutionWrapper is a descendant of EvolutionControl, since it sets operational parameters after each MC step. This is done via ControlAfterEachMCRun() and ControlAfterEachEvolutionStep() methods, inherited from EvolutionControl.

Basic usage

Concept of EvolutionWrapper is to specify phases of evolution (which consist of one or more MC/CRAM or RK solver runs) and to give all parameters of evolution for each phase. When any of the parameters is not defined, it retains it's initial/previous value.

After creating the EvolutionWrapper object, add a phase via EvolutionWrapper::AddPhase() and then set power/boron/temperature/density of any material. When any history parameters are specified, they apply to the current phase - so you cannot specify all phases and then assign parameters to them.

Important: when referring to any material (e.g. setting temperature), always use Cell->GetMaterial() instead of Material itself. Material is often copied and the original instance may not be used anymore.

When the history is specified, EvolutionWrapper::Evolve() can be called to proceed with the evolution (it calls the gMURE->Evolution(), so do not call that method again).

Simple example

Simple example follows (Power ramp, downtime, constant power; boron depletion in the first 100 days):

EvolutionWrapper *EC=new EvolutionWrapper(); // create EvolutionWrapper
EC->AddPhase(100, 3, 1); // new phase of 100 days with three MC steps, logarithmic discretization
EC->SetPowerLinear(0, 4e4); // raise power onto 40 kW
EC->SetMaterialBoronLinear(CFP_Mod->GetMaterial(), 1000e-6, 500e-6); //boron depletion from 1000 to 500 ppm
EC->AddPhase(100, 1, 0); // new single-step cooling phase of 100 days
EC->AddPhase(100, 3, 0); // phase of 100 days with three equal MC steps
EC->SetPowerConstant(4e4); // power is 40kW all the time
EC->Evolve(); // run the evolution
Front-end class for Evolution(): enables easy and comprehensive specification of operation history,...
Definition EWrapper.hxx:289
EvolutionWrapper()
Normal constructor.
Definition EWrapper.cxx:100
void SetPowerConstant(float P)
This phase is burn phase, power is constant.
Definition EWrapper.cxx:760
void SetMaterialBoronLinear(Material *M, float Content1, float Content2)
Set linearly changing boron content in a material during this phase.
Definition EWrapper.cxx:726
void AddPhase(float T, int steps, int dlog=0, float bas=2)
Add new depletion phase.
Definition EWrapper.cxx:811
void SetPowerCooling()
This phase is cooling (no flux).
Definition EWrapper.cxx:801
void SetPowerLinear(float P1, float P2)
This phase is burn phase, power is linearly changing.
Definition EWrapper.cxx:770
void Evolve(int start=0, string startd="")
Start the evolution.
Definition EWrapper.cxx:858

Internal details

How history data are stored

All data are stored as vectors; all have the same size, being number of MC steps. Only the first two have size equal of number of phases.

Vector nameItem
fPhaseStepno. of MC steps in this phase
fPhaseCumno. of MC steps before this phase, e.g. fPhaseCum[n]=sum(i=0..n-1)fPhaseStep[i]
fTimetime of end of the step
fPowerpower in watts in this step/phase
fCoolboolean - is this step/phase cooling? (e.g. no power, no flux, only decay)
MatTTsvector of MatX (Material+double); in this step, temperature of material is set for every element in this vector
MatBBssame as MatTTs, but ppms of natural boron
MatDDssame as MatTTs, but material densities (g.cm-3)

Using EvolutionWrapper for core reshuffling during operation

Introduction

When simulating more complex depletion (when full-core or more assemblies are specified in the problem), it is usually needed to move around the fuel, extract some assemblies from the core and introduce new, fresh ones. Doing this by hand could be enormously laborous, but EvolutionWrapper class offers easy-to-use methods for reshuffling implementation.

Reshuffling is based on moving cells in lattice, not transfering the materials. Therefore reshuffling is not usable for non-latice cells. Other important thing to understand is that cell numbers remain linked to the fuel assemblies, not to the positions in the core. Therefore, reshuffling scheme is different every time, although the geometry of flow of assemblies through the core remains the same.

Basic usage and sample case

The idea is explained on sample case, containing four assemblies (e.g. four cells with fuel - one cell can of course represent multiple assemblies) and during three depletion phases, two new assemblies are introduced into the core and two are removed.

  1. we define six fuel cells, e.g. 1, 2, 3, 4, 5, 6
  2. in core lattice we place cells 1, 2, 3, 4; the other two, 5, 6, remain unused
  3. history will be defined by three phases
  4. into second phase we insert a reshuffling chain 5->1->2->3->4
  5. into third phase we insert a reshuffling chain 6->5->1->2->3
  6. when evolution starts, depletion is performed in lattice [1 2 3 4]
  7. after the first phase, lattice changes to [5 1 2 3], so 4 is not in the lattice and therefore is not depleted anymore
  8. after the second phase, lattice gets to be [6 5 1 2]
  9. so 1+2 were depleted for three cycles, 3+5 for two and 4+6 only for one cycle

Sample code for this case follows: (only the parts concerning reshuffling are given)

Presume that EW is the EvolutionWrapper object, Lattice is a lattice generating cell for the core and Fuel[] is array of fuel cells.

EW->AddPhase(100, 2);
EW->AddPhase(100, 2);
EW->Reshuffle(Lattice);
EW->StartChain();
EW->AddToChain(Fuel[5]);
EW->AddToChain(Fuel[1]);
EW->AddToChain(Fuel[2]);
EW->AddToChain(Fuel[3]);
EW->AddToChain(Fuel[4]);
EW->AddPhase(100, 2);
EW->Reshuffle(Lattice);
EW->StartChain();
EW->AddToChain(Fuel[6]);
EW->AddToChain(Fuel[5]);
EW->AddToChain(Fuel[1]);
EW->AddToChain(Fuel[2]);
EW->AddToChain(Fuel[3]);

Alternatively, AddChain() can be used, vector of cells is given as a parameter. Multiple chains can be defined in one phase.

Author
Frantisek Havluj

Constructor & Destructor Documentation

◆ EvolutionWrapper() [1/2]

EvolutionWrapper::EvolutionWrapper ( )

Normal constructor.

◆ EvolutionWrapper() [2/2]

EvolutionWrapper::EvolutionWrapper ( const EvolutionWrapper ev)

Copy constructor.

◆ ~EvolutionWrapper()

EvolutionWrapper::~EvolutionWrapper ( )
override

Destructor.

< Vector of materials where temperature is to be plotted

< Vector of materials where density is to be plotted

< Vector of materials where boron is to be plotted

Member Function Documentation

◆ AddPhase()

void EvolutionWrapper::AddPhase ( float  T,
int  steps,
int  dlog = 0,
float  bas = 2 
)

Add new depletion phase.

Add a new depletion phase, e.g. stage of depletion, when power/temperature/density/boron has to be different from the previous. These values can be set to be constant or linearly changing. Length of the phase is T days and is divided into steps MC steps (at these the history parameters are updated and flux+xsections are recalculated). The division of the phase into steps is linear by default. If dlog is nonzero, division is logarithmic (so steps are shorter in the beginning) with exponential base equal to bas.

A step consist of a time at which the MC run is done (if not cooling) followed by the evolution step: for example a first phase defined as AddPhase(30,3), will set 3 times (T=0, T=10d and T=20d) with 3 evolvution steps ending respectively at T=10d, T=20d and T=30d)

Parameters
TLength of the phase in days.
stepsNumber of MC steps in which the phase is divided.
dlogZero - linear division into steps, nonzero - logarithmic division (shorter steps in the beginning).
basExponential base for the logarithmic division.

◆ AddSumTally()

void EvolutionWrapper::AddSumTally ( Cell c,
Reaction r,
int *  index 
)

◆ AddTally()

void EvolutionWrapper::AddTally ( MureTally t,
int *  index 
)

◆ BuildSumTallies()

void EvolutionWrapper::BuildSumTallies ( )
private

◆ Clone()

EvolutionControl * EvolutionWrapper::Clone ( )
inlineoverridevirtual

Object cloning.

Reimplemented from EvolutionControl.

◆ ControlAfterEachEvolutionStep()

void EvolutionWrapper::ControlAfterEachEvolutionStep ( )
overridevirtual

from EvolutionControl

Reimplemented from EvolutionControl.

◆ ControlAfterEachMCRun()

void EvolutionWrapper::ControlAfterEachMCRun ( )
overridevirtual

from EvolutionControl

Reimplemented from EvolutionControl.

◆ ControlBeforeEachSubStep()

void EvolutionWrapper::ControlBeforeEachSubStep ( )
overridevirtual

from EvolutionControl

Reimplemented from EvolutionControl.

◆ EvaluateSumTallies()

void EvolutionWrapper::EvaluateSumTallies ( )
private

◆ Evolve()

void EvolutionWrapper::Evolve ( int  start = 0,
string  startd = "" 
)

Start the evolution.

Restart is permitted from another case; if wanted, give number of the step which you want to start with and directory of parent case. Appropriate files will be copied automatically.

Parameters
startNumber of first MC step to be run (default 0 for no restart).
startdName of directory with parent case.

◆ GetBurnup()

vector< double > & EvolutionWrapper::GetBurnup ( )
inline

◆ GetSumTallyValues()

vector< ValErr_t > & EvolutionWrapper::GetSumTallyValues ( int  SumTally)
inline

◆ GetTallyValues()

vector< vector< ValErr_t > > & EvolutionWrapper::GetTallyValues ( )
inline

◆ outB()

void EvolutionWrapper::outB ( int  start = 0)
private

Print out the boron content.

◆ outD()

void EvolutionWrapper::outD ( int  start = 0)
private

Print out the density.

◆ outH()

void EvolutionWrapper::outH ( int  start = 0)
private

Print out basic info (step no., fTime, fPower)

◆ outT()

void EvolutionWrapper::outT ( int  start = 0)
private

Print out the temperature.

◆ PrepareTemperatureEvolution()

void EvolutionWrapper::PrepareTemperatureEvolution ( )
private

Set flags for temperature evolution.

◆ PrintFinalComposition()

void EvolutionWrapper::PrintFinalComposition ( Material M,
string  Title 
)
inline

Dump final composition of M with title.

◆ PrintFinalCompositionNuclide()

void EvolutionWrapper::PrintFinalCompositionNuclide ( int  Z,
int  A 
)

Dump final composition of M with title.

◆ PrintMaterialBoron()

void EvolutionWrapper::PrintMaterialBoron ( Material M)
inline

< Require printing of boron content of M

◆ PrintMaterialDensity()

void EvolutionWrapper::PrintMaterialDensity ( Material M)
inline

< Require printing of density of M

◆ PrintMaterialTemperature()

void EvolutionWrapper::PrintMaterialTemperature ( Material M)
inline

< Require printing of temperature of M

◆ Reshuffle()

void EvolutionWrapper::Reshuffle ( LatticeCell CLatGen)

Reshuffle at beginning of this phase.

◆ ReshuffleAddChain()

void EvolutionWrapper::ReshuffleAddChain ( vector< Cell * >  Chain)

Add a new reshuffling chain (fresh->a->b->..->z, z goes out)

◆ ReshuffleAddToChain()

void EvolutionWrapper::ReshuffleAddToChain ( Cell C)

Add a cell to the last reshuffling chain.

◆ ReshuffleStartChain()

void EvolutionWrapper::ReshuffleStartChain ( )

Add a new empty reshuffling chain.

◆ SetMaterialBoron()

void EvolutionWrapper::SetMaterialBoron ( Material M,
float  X 
)

Set boron content in a material during this phase.

Parameters
MMaterial - use Cell->GetMaterial() instead of original Material pointer.
XBoron content in ppm.

◆ SetMaterialBoronLinear()

void EvolutionWrapper::SetMaterialBoronLinear ( Material M,
float  Content1,
float  Content2 
)

Set linearly changing boron content in a material during this phase.

The boron concentration is kept constant between each step of the current phase ; Content1 is used for the 1st step (Ti->Ti+1) and the last step is done at Content2.

Parameters
MMaterial - use Cell->GetMaterial() instead of original Material pointer.
Content1Boron content (ppm) in the begining of the phase.
Content2Boron content (ppm) in the end of the phase.

◆ SetMaterialDensity()

void EvolutionWrapper::SetMaterialDensity ( Material M,
float  X 
)

Set boron content in a material during this phase.

◆ SetMaterialNumberDensity()

void EvolutionWrapper::SetMaterialNumberDensity ( Material M,
int  X 
)

Set number density of isotopes in a material during this phase.

◆ SetMaterialTemperature()

void EvolutionWrapper::SetMaterialTemperature ( Material M,
float  X 
)

Set temperature of a material during this phase.

Parameters
MMaterial - use Cell->GetMaterial() instead of original Material pointer.
XTemperature in K

◆ SetOutFile()

void EvolutionWrapper::SetOutFile ( string  fn)
inline

< Setup printing to file fn

◆ SetPowerConstant()

void EvolutionWrapper::SetPowerConstant ( float  P)

This phase is burn phase, power is constant.

Parameters
PPower in watts.

◆ SetPowerCooling()

void EvolutionWrapper::SetPowerCooling ( )

This phase is cooling (no flux).

◆ SetPowerLinear()

void EvolutionWrapper::SetPowerLinear ( float  P1,
float  P2 
)

This phase is burn phase, power is linearly changing.

The power is kept constant between each step of the current phase ; P1 is be used for the 1st step (Ti->Ti+1) and the last step is done at P2.

Parameters
P1Power in the beginning of the phase.
P2Power in the end of the phase.

◆ SetSumTallyEnergies()

void EvolutionWrapper::SetSumTallyEnergies ( int  nE,
double *  E 
)

◆ UpdateMaterialComposition()

void EvolutionWrapper::UpdateMaterialComposition ( int  step)
private

Update material number densitites.

◆ UpdatePower()

void EvolutionWrapper::UpdatePower ( int  step)
private

Update fPower for a MC step.

◆ UpdateTallies()

void EvolutionWrapper::UpdateTallies ( )
private

◆ UpdateTempBoronDens()

void EvolutionWrapper::UpdateTempBoronDens ( int  step)
private

Update boron, temperatures &densities in this step.

Member Data Documentation

◆ fBurnup

vector< double > EvolutionWrapper::fBurnup
private

◆ fCool

vector< bool > EvolutionWrapper::fCool
private

vector of flags denoting the cooling periods

◆ fFinalCompositionA

vector< int > EvolutionWrapper::fFinalCompositionA
private

A of isotopes for final composition.

◆ fFinalCompositionMaterial

vector< Material *> EvolutionWrapper::fFinalCompositionMaterial
private

Materials for final composition.

◆ fFinalCompositionTitles

vector< string > EvolutionWrapper::fFinalCompositionTitles
private

Titles of materials for final composition.

◆ fFinalCompositionZ

vector< int > EvolutionWrapper::fFinalCompositionZ
private

Z of isotopes for final composition.

◆ fOutFile

ofstream EvolutionWrapper::fOutFile
private

Output file for evolution table.

◆ fOutFilename

string EvolutionWrapper::fOutFilename
private

output file name

◆ fPhaseCum

vector< int > EvolutionWrapper::fPhaseCum
private

Number of MC steps before this phase (cumulative)

◆ fPhaseEndTime

double EvolutionWrapper::fPhaseEndTime
private

Ending time of the last defined phase (use to start a new phase)

◆ fPhaseStep

vector< int > EvolutionWrapper::fPhaseStep
private

Number of MC steps in this phase.

◆ fPower

vector< double > EvolutionWrapper::fPower
protected

fPower vector (watts)

◆ fReshufflingScheme

vector< ReshufflingScheme *> EvolutionWrapper::fReshufflingScheme
private

Reshuffling schemes for lattice cores.

◆ fSumTallyCells

vector< Cell *> EvolutionWrapper::fSumTallyCells
private

◆ fSumTallyEnergies

vector<double> EvolutionWrapper::fSumTallyEnergies
private

◆ fSumTallyEnergiesN

int EvolutionWrapper::fSumTallyEnergiesN
private

◆ fSumTallyIndices

vector< int *> EvolutionWrapper::fSumTallyIndices
private

◆ fSumTallyReactions

vector< Reaction *> EvolutionWrapper::fSumTallyReactions
private

◆ fSumTallyValues

vector< vector < ValErr_t > > EvolutionWrapper::fSumTallyValues
private

◆ fTallies

vector< int *> EvolutionWrapper::fTallies
private

◆ fTallyValues

vector< vector < ValErr_t > > EvolutionWrapper::fTallyValues
private

◆ fTime

vector< double > EvolutionWrapper::fTime
private

fTime vector (begining of steps)

◆ MatBBs

vector< MatXX > EvolutionWrapper::MatBBs
private

Vector of (vector of materials) with changing boron.

◆ MatDDs

vector< MatXX > EvolutionWrapper::MatDDs
private

Vector of (vector of materials) with changing density.

◆ MatMMs

vector< MatYY > EvolutionWrapper::MatMMs
private

Vector of (vector of materials) with changing number densities>

◆ MatTTs

vector< MatXX > EvolutionWrapper::MatTTs
private

Vector of (vector of materials) with changing temperature.

◆ outBoron

vector< Material *> EvolutionWrapper::outBoron
private

Vector of materials where boron is to be plotted.

◆ outDens

vector< Material *> EvolutionWrapper::outDens
private

Vector of materials where density is to be plotted.

◆ outTemp

vector< Material *> EvolutionWrapper::outTemp
private

Vector of materials where temperature is to be plotted.


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

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024