CLASS  5.1
Fuel Cycle Simulator
Scenario Class Reference

Defines a Scenario (the whole electro-nuclear system) More...

#include <Scenario.hxx>

Inheritance diagram for Scenario:
CLASSObject

Public Member Functions

void SetLogTimeStep (bool val=true)
 
void SetZAIThreshold (int z=90)
 
Constructor/Desctructor
 Scenario (CLASSLogger *Log, cSecond abstime=0)
 Log Constructor. More...
 
 Scenario (cSecond abstime)
 
 Scenario (cSecond abstime, CLASSLogger *log)
 
 ~Scenario ()
 Normal Destructor. More...
 
Get Function
cSecond GetAbsoluteTime ()
 
map< cSecond, int > GetTimeStep ()
 
vector< Reactor * > GetReactor ()
 
vector< Storage * > GetStorage ()
 
vector< Pool * > GetPool ()
 
vector< FabricationPlant * > GetFabricationPlant ()
 
DecayDataBankGetDecayDataBase ()
 
cSecond GetPrintSet ()
 
bool GetStockManagement ()
 
string GetOutputFileName ()
 
string GetOutputTreeName ()
 
IsotopicVector GetWaste ()
 
Set Function
void SetTimeStep (cSecond timestep)
 Set the printing step periodicity. More...
 
void SetStockManagement (bool val)
 Set the StockManagement method. More...
 
void SetDecayDataBase (DecayDataBank *decaydatabase)
 Set the DecayDataBank. More...
 
void SetOutputFileName (string name)
 Set the Output File Name. More...
 
void SetOutputTreeName (string name)
 Set the Output TTree Name. More...
 
Adding Facilities
void AddPool (Pool *Pool)
 Add a Pool to the Park. More...
 
void AddReactor (Reactor *reactor)
 Add a Reactor to the Park. More...
 
void AddStorage (Storage *storage)
 Add a Storage to the Park. More...
 
void AddFabricationPlant (FabricationPlant *fabricationplant)
 Add a Storage to the Park. More...
 
void AddSeparationPlant (SeparationPlant *separationplant)
 
void Add (Pool *Pool)
 
void Add (Reactor *reactor)
 
void Add (Storage *storage)
 
void Add (FabricationPlant *fabricationplant)
 
void Add (SeparationPlant *separationplant)
 
Evolution Method
void BuildTimeVector (cSecond t)
 
void Evolution (cSecond t)
 Perform the Evolution. More...
 
void BackEndEvolution ()
 Perform BackEnd Evolution. More...
 
void PoolEvolution ()
 Perform Pool Evolution. More...
 
void PoolDump ()
 
void ReactorEvolution ()
 Perform the Reactor Evolution. More...
 
void FabricationPlantEvolution ()
 Perform the FabricationPlant Evolution. More...
 
void StorageEvolution ()
 Perform the Storage Evolution. More...
 
IsotopicVector Sum
IsotopicVector GetOutIncome () const
 
void AddOutIncome (ZAI zai, double quantity)
 
void AddOutIncome (IsotopicVector isotopicvector)
 
void AddWaste (ZAI zai, double quantity)
 
void AddWaste (IsotopicVector isotopicvector)
 
void AddToPower (double power, double elpower)
 Add power to the installed power in the Parc. More...
 
void ApplyZAIThreshold ()
 
In/Out Method
void PrintCLASSPresentation ()
 CLASS informations when first running the code. More...
 
void ProgressPrintout (cSecond t)
 Update the prompt output to the time t. More...
 
void Print ()
 Print some information about the Parc. More...
 
void Write ()
 Write information in a file. More...
 
void OpenOutputTree ()
 Open and define the Ouput ROOT TTree. More...
 
void CloseOutputTree ()
 Close and delete the Ouput ROOT TTree. More...
 
void OutAttach ()
 Attach the Branch to the Ouput ROOT TTree. More...
 
void ResetQuantity ()
 Reset the values of the GLobal IsotopicVector. More...
 
void UpdateParc ()
 Update the Global IsotopicVector. More...
 
- Public Member Functions inherited from CLASSObject
 CLASSObject ()
 Normal Constructor. More...
 
 CLASSObject (CLASSLogger *log)
 Log Constructor. More...
 
virtual CLASSObjectClone ()
 Correct way to copy a CLASSObject in case of derivation. More...
 
void SetLog (CLASSLogger *log)
 Set the CLASSLogger. More...
 
CLASSLoggerGetLog ()
 Return the Pointer to the Log. More...
 

Protected Attributes

bool fNewTtree
 True if we want to define a new TTree in the output File. More...
 
bool fStockManagement
 True if real StockManagement false unstead (Default = true) More...
 
bool fLogTimeStep
 
cSecond fPrintStep
 Time interval between two output update in [s]. More...
 
cSecond fAbsoluteTime
 Absolute Clock in [s]. More...
 
cSecond fStartingTime
 Starting Time in [s]. More...
 
map< cSecond, int > fTimeStep
 
int fZAIThreshold
 
int fCloverCount
 
vector< Storage * > fStorage
 Vector of Storages. More...
 
vector< Pool * > fPool
 Vector of Pool. More...
 
vector< Reactor * > fReactor
 Vector of Reactor. More...
 
vector< FabricationPlant * > fFabricationPlant
 Vector of FabricationPlant. More...
 
vector< SeparationPlant * > fSeparationPlant
 Vector of FabricationPlant. More...
 
DecayDataBankfDecayDataBase
 Pointer to the Decay DataBase. More...
 
TFile * fOutFile
 Pointer to the Root Output File. More...
 
string fOutputFileName
 
TTree * fOutT
 Name of the Output File. More...
 
string fOutputTreeName
 
string fOutputLogName
 Name of the Output TTree. More...
 
IsotopicVector fWaste
 Waste IV. More...
 
IsotopicVector fTotalStorage
 Sum of all IV in Storage IV. More...
 
IsotopicVector fOutIncome
 OutIncomeIncome IV. More...
 
IsotopicVector fTotalCooling
 Sum of all IV in Cooling IV. More...
 
IsotopicVector fFuelFabrication
 Sum of all IV in Fabrication IV. More...
 
IsotopicVector fTotalInReactor
 Sum of all IV in Reactor IV. More...
 
IsotopicVector fIVInCycleTotal
 Sum of all IV in the cycle (without Waste) IV. More...
 
IsotopicVector fIVTotal
 Sum of all IV in the parc (including Waste) IV. More...
 
double fParcPower
 Sum of the Power of all reactor in the parc. More...
 
double fParcElectricPower
 Sum of the Power of all reactor in the parc. More...
 
- Protected Attributes inherited from CLASSObject
CLASSLoggerfLog
 Pointer to the Log. More...
 

Detailed Description

Defines a Scenario (the whole electro-nuclear system)

The aim of these Scenario is to manage the park and its evolution and to lead all Storage, FabricationPlant, Reactor, Pool,...

Author
BaM
BLG
Version
2.0

Constructor & Destructor Documentation

◆ Scenario() [1/3]

Scenario::Scenario ( CLASSLogger Log,
cSecond  abstime = 0 
)

Log Constructor.

Use to load a CLASSLogger

Parameters
log: used for the log.
abstimeStarting time of the Parc in second

◆ Scenario() [2/3]

Scenario::Scenario ( cSecond  abstime)

Use to set the starting time of the Parc

Parameters
abstimeStarting time of the Parc in second

◆ Scenario() [3/3]

Scenario::Scenario ( cSecond  abstime,
CLASSLogger log 
)

Use to set the starting time of the Parc

Parameters
abstimeStarting time of the Parc in second
log: used for the log.

◆ ~Scenario()

Scenario::~Scenario ( )

Normal Destructor.

Member Function Documentation

◆ Add() [1/5]

void Scenario::Add ( Pool Pool)
inline

< Add a Pool to the Park

◆ Add() [2/5]

void Scenario::Add ( Reactor reactor)
inline

< Add a Reactor to the Park

◆ Add() [3/5]

void Scenario::Add ( Storage storage)
inline

< Add a Storage to the Park

◆ Add() [4/5]

void Scenario::Add ( FabricationPlant fabricationplant)
inline

< Add a Storage to the Park

◆ Add() [5/5]

void Scenario::Add ( SeparationPlant separationplant)
inline

< Add a Storage to the Park

◆ AddFabricationPlant()

void Scenario::AddFabricationPlant ( FabricationPlant fabricationplant)

Add a Storage to the Park.

◆ AddOutIncome() [1/2]

void Scenario::AddOutIncome ( ZAI  zai,
double  quantity 
)
inline

< Add a ZAI*quantity to OutIncomeIncome

◆ AddOutIncome() [2/2]

void Scenario::AddOutIncome ( IsotopicVector  isotopicvector)
inline

< Add a isotopicVector to OutIncomeIncome

◆ AddPool()

void Scenario::AddPool ( Pool Pool)

Add a Pool to the Park.

◆ AddReactor()

void Scenario::AddReactor ( Reactor reactor)

Add a Reactor to the Park.

◆ AddSeparationPlant()

void Scenario::AddSeparationPlant ( SeparationPlant separationplant)

◆ AddStorage()

void Scenario::AddStorage ( Storage storage)

Add a Storage to the Park.

◆ AddToPower()

void Scenario::AddToPower ( double  power,
double  elpower 
)
inline

Add power to the installed power in the Parc.

◆ AddWaste() [1/2]

void Scenario::AddWaste ( ZAI  zai,
double  quantity 
)
inline

< Add a ZAI*quantity to Waste

◆ AddWaste() [2/2]

void Scenario::AddWaste ( IsotopicVector  isotopicvector)
inline

< Add a isotopicVector to Waste

◆ ApplyZAIThreshold()

void Scenario::ApplyZAIThreshold ( )

◆ BackEndEvolution()

void Scenario::BackEndEvolution ( )

Perform BackEnd Evolution.

◆ BuildTimeVector()

void Scenario::BuildTimeVector ( cSecond  t)

Build the Time Evolution Vector where :

◆ CloseOutputTree()

void Scenario::CloseOutputTree ( )

Close and delete the Ouput ROOT TTree.

◆ Evolution()

void Scenario::Evolution ( cSecond  t)

Perform the Evolution.

  • 1 printing,
  • 2 reactor Studown
  • 4 start/End of reactor cycle,
  • 8 end of Cooling,
  • 16 fuel Fabrication

◆ FabricationPlantEvolution()

void Scenario::FabricationPlantEvolution ( )

Perform the FabricationPlant Evolution.

◆ GetAbsoluteTime()

cSecond Scenario::GetAbsoluteTime ( )
inline

< Return the Absolute Clock

◆ GetDecayDataBase()

DecayDataBank* Scenario::GetDecayDataBase ( )
inline

< Return the Pointer to the DecayDataBank

◆ GetFabricationPlant()

vector<FabricationPlant*> Scenario::GetFabricationPlant ( )
inline

< Return the FabricationPlant vector

◆ GetOutIncome()

IsotopicVector Scenario::GetOutIncome ( ) const
inline

< Return the OutIncome Providings IsotopicVector

◆ GetOutputFileName()

string Scenario::GetOutputFileName ( )
inline

< Return the Output File name

◆ GetOutputTreeName()

string Scenario::GetOutputTreeName ( )
inline

< Return the Output ROOT TTree name

◆ GetPool()

vector<Pool*> Scenario::GetPool ( )
inline

< Return the Pool Vector

◆ GetPrintSet()

cSecond Scenario::GetPrintSet ( )
inline

< Return the print step periodicity

◆ GetReactor()

vector<Reactor*> Scenario::GetReactor ( )
inline

< Return the Reactor vector

◆ GetStockManagement()

bool Scenario::GetStockManagement ( )
inline

< Return the StockManagement method (True or False)

◆ GetStorage()

vector<Storage*> Scenario::GetStorage ( )
inline

< Return the Storage vector

◆ GetTimeStep()

map<cSecond, int> Scenario::GetTimeStep ( )
inline

< Return the Time Step vector

◆ GetWaste()

IsotopicVector Scenario::GetWaste ( )
inline

< Return the waste IsotopicVcetor

◆ OpenOutputTree()

void Scenario::OpenOutputTree ( )

Open and define the Ouput ROOT TTree.

◆ OutAttach()

void Scenario::OutAttach ( )

Attach the Branch to the Ouput ROOT TTree.

◆ PoolDump()

void Scenario::PoolDump ( )

◆ PoolEvolution()

void Scenario::PoolEvolution ( )

Perform Pool Evolution.

◆ Print()

void Scenario::Print ( )

Print some information about the Parc.

◆ PrintCLASSPresentation()

void Scenario::PrintCLASSPresentation ( )

CLASS informations when first running the code.

◆ ProgressPrintout()

void Scenario::ProgressPrintout ( cSecond  t)

Update the prompt output to the time t.

◆ ReactorEvolution()

void Scenario::ReactorEvolution ( )

Perform the Reactor Evolution.

◆ ResetQuantity()

void Scenario::ResetQuantity ( )

Reset the values of the GLobal IsotopicVector.

◆ SetDecayDataBase()

void Scenario::SetDecayDataBase ( DecayDataBank decaydatabase)
inline

Set the DecayDataBank.

Use to define Decay DataBank to be used

Parameters
decaydatabasea DecayDataBank which should contain the evolution of each nuclei of the chart

◆ SetLogTimeStep()

void Scenario::SetLogTimeStep ( bool  val = true)
inline

◆ SetOutputFileName()

void Scenario::SetOutputFileName ( string  name)
inline

Set the Output File Name.

Use to define name of the output file

Parameters
namea string which correspond to the output file name

◆ SetOutputTreeName()

void Scenario::SetOutputTreeName ( string  name)
inline

Set the Output TTree Name.

Use to define name of the output ROOT TTree

Parameters
namea string which correspond to the output ROOT TTree name

◆ SetStockManagement()

void Scenario::SetStockManagement ( bool  val)
inline

Set the StockManagement method.

Use to define the stock managment method : true all fuel are stored individualy and false all fuel are mixed in a stock, and one can separate each isotope as needed

Parameters
valtrue or false depending on the stock management method used

◆ SetTimeStep()

void Scenario::SetTimeStep ( cSecond  timestep)
inline

Set the printing step periodicity.

Use to set the periodicity of the output

Parameters
timestepperiodicity of outpout in second

◆ SetZAIThreshold()

void Scenario::SetZAIThreshold ( int  z = 90)
inline

◆ StorageEvolution()

void Scenario::StorageEvolution ( )

Perform the Storage Evolution.

◆ UpdateParc()

void Scenario::UpdateParc ( )

Update the Global IsotopicVector.

◆ Write()

void Scenario::Write ( )

Write information in a file.

Member Data Documentation

◆ fAbsoluteTime

cSecond Scenario::fAbsoluteTime
protected

Absolute Clock in [s].

◆ fCloverCount

int Scenario::fCloverCount
protected

◆ fDecayDataBase

DecayDataBank* Scenario::fDecayDataBase
protected

Pointer to the Decay DataBase.

◆ fFabricationPlant

vector<FabricationPlant*> Scenario::fFabricationPlant
protected

Vector of FabricationPlant.

◆ fFuelFabrication

IsotopicVector Scenario::fFuelFabrication
protected

Sum of all IV in Fabrication IV.

◆ fIVInCycleTotal

IsotopicVector Scenario::fIVInCycleTotal
protected

Sum of all IV in the cycle (without Waste) IV.

◆ fIVTotal

IsotopicVector Scenario::fIVTotal
protected

Sum of all IV in the parc (including Waste) IV.

◆ fLogTimeStep

bool Scenario::fLogTimeStep
protected

◆ fNewTtree

bool Scenario::fNewTtree
protected

True if we want to define a new TTree in the output File.

◆ fOutFile

TFile* Scenario::fOutFile
protected

Pointer to the Root Output File.

◆ fOutIncome

IsotopicVector Scenario::fOutIncome
protected

OutIncomeIncome IV.

◆ fOutputFileName

string Scenario::fOutputFileName
protected

◆ fOutputLogName

string Scenario::fOutputLogName
protected

Name of the Output TTree.

Name of the Ouput log File

◆ fOutputTreeName

string Scenario::fOutputTreeName
protected

◆ fOutT

TTree* Scenario::fOutT
protected

Name of the Output File.

Pointer to the Root Output TTr3ee

◆ fParcElectricPower

double Scenario::fParcElectricPower
protected

Sum of the Power of all reactor in the parc.

◆ fParcPower

double Scenario::fParcPower
protected

Sum of the Power of all reactor in the parc.

◆ fPool

vector<Pool*> Scenario::fPool
protected

Vector of Pool.

◆ fPrintStep

cSecond Scenario::fPrintStep
protected

Time interval between two output update in [s].

◆ fReactor

vector<Reactor*> Scenario::fReactor
protected

Vector of Reactor.

◆ fSeparationPlant

vector<SeparationPlant*> Scenario::fSeparationPlant
protected

Vector of FabricationPlant.

◆ fStartingTime

cSecond Scenario::fStartingTime
protected

Starting Time in [s].

◆ fStockManagement

bool Scenario::fStockManagement
protected

True if real StockManagement false unstead (Default = true)

◆ fStorage

vector<Storage*> Scenario::fStorage
protected

Vector of Storages.

◆ fTimeStep

map<cSecond, int> Scenario::fTimeStep
protected

Time Step Vector in [s] for the evolution :

◆ fTotalCooling

IsotopicVector Scenario::fTotalCooling
protected

Sum of all IV in Cooling IV.

◆ fTotalInReactor

IsotopicVector Scenario::fTotalInReactor
protected

Sum of all IV in Reactor IV.

◆ fTotalStorage

IsotopicVector Scenario::fTotalStorage
protected

Sum of all IV in Storage IV.

◆ fWaste

IsotopicVector Scenario::fWaste
protected

Waste IV.

◆ fZAIThreshold

int Scenario::fZAIThreshold
protected
  • 1 printing,
  • 2 reactor Studown
  • 4 start/End of reactor cycle,
  • 8 end of Cooling,
  • 16 fuel Fabrication

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