CLASS  5.1
Fuel Cycle Simulator
EvolutionData Class Reference

Stores fuel inventory evolution , mean cross sections evolution, flux evolution, power , ... More...

#include <EvolutionData.hxx>

Inheritance diagram for EvolutionData:
CLASSObject

Public Member Functions

Constructor/Desctructor
 EvolutionData ()
 Normal DB Constructor. More...
 
 EvolutionData (CLASSLogger *log)
 CLASSLogger Constructor. More...
 
 EvolutionData (CLASSLogger *log, string DB_file, bool isDecay=false, ZAI zai=ZAI(0, 0, 0))
 Special Constructor. More...
 
 EvolutionData (bool oldread, CLASSLogger *log, string DB_file, bool isDecay=false, ZAI zai=ZAI(0, 0, 0))
 Special Constructor. More...
 
 ~EvolutionData ()
 Normal Destructor. More...
 
void DeleteEvolutionData ()
 Delete the EvolutionData. More...
 
void DeleteEvolutionDataCopy ()
 
Set Method
void SetHeavyMetalMass (double Mass)
 Set the heavy metal Mass [t]. More...
 
void SetReactorType (string reactortype)
 Set the reactor type (e.g PWR, FBR-Na,...) More...
 
void SetFuelType (string fueltype)
 Set the fuel type (e.g MOX,UOX,...) More...
 
void SetPower (double power)
 Set the power of the EvolutionData [W]. More...
 
void SetFlux (TGraph *flux)
 Set the neutron flux of the EvolutionData [cm^{-2}.s^{-1}]. More...
 
void SetKeff (TGraph *keff)
 Set the keff evolution for the EvolutionData. More...
 
void SetCycleTime (cSecond cycletime)
 Set cycletime of the EvolutionData [s]. More...
 
void SetInventoryEvolution (map< ZAI, TGraph *> maptoinsert)
 Set EvolutionData map. More...
 
void SetFissionXS (map< ZAI, TGraph *> maptoinsert)
 Set fission cross section map. More...
 
void SetCaptureXS (map< ZAI, TGraph *> maptoinsert)
 Set capture cross section map. More...
 
void Setn2nXS (map< ZAI, TGraph *> maptoinsert)
 Set (n,2n) cross section map. More...
 
void Print (string filename)
 Print EvolutionData in a .dat format in a file of Name filename. More...
 
Get Method
map< ZAI,TGraph *> GetInventoryEvolution () const
 return the EvolutionData map More...
 
map< ZAI,TGraph *> GetFissionXS () const
 return the fission cross section map More...
 
map< ZAI,TGraph *> GetCaptureXS () const
 return the capture cross section map More...
 
map< ZAI,TGraph *> Getn2nXS () const
 return the (n,2n) cross section map More...
 
TGraph * GetKeff () const
 return the evolution of the keff (TGraph*) More...
 
TGraph * GetFlux () const
 return the evolution of the neutron flux (TGraph*) More...
 
double GetFinalTime () const
 return the final time - last point (double) More...
 
double GetCycleTime () const
 return the cycletime (double) More...
 
double GetPower () const
 return the power (double) More...
 
string GetDB_file () const
 return the name of the Database file (string) More...
 
string GetReactorType () const
 return the type of reactor (string) More...
 
TGraph * GetEvolutionTGraph (const ZAI &zai)
 return the evolution of the ZAI quantity (TGraph*) More...
 
IsotopicVector GetIsotopicVectorAt (double t)
 Return the Product IsotopicVector at time t. More...
 
double GetHeavyMetalMass () const
 Return the heavy metal mass in the core at the begining of the cycle [t]. More...
 
double GetXSForAt (double t, ZAI zai, int ReactionId)
 Return the XS for a reactionId on zai at t time. More...
 
Insertion Method
bool NucleiInsert (pair< ZAI, TGraph *> zaitoinsert)
 Add a nuclei evolution to the evolution map. More...
 
bool FissionXSInsert (pair< ZAI, TGraph *> zaitoinsert)
 Add a nuclei to the fission cross section map. More...
 
bool CaptureXSInsert (pair< ZAI, TGraph *> zaitoinsert)
 Add a nuclei to the capture cross section map. More...
 
bool n2nXSInsert (pair< ZAI, TGraph *> zaitoinsert)
 Add a nuclei to the (n,2n) cross section map. 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 Member Functions

void OldReadDB (string DBfile)
 Read old format database. More...
 
void ReadDB (string DBfile, bool oldread=false)
 Main function to read database. More...
 
void ReadKeff (string line, double *time, int NTimeStep)
 Read the Keff in the database. More...
 
void ReadFlux (string line, double *time, int NTimeStep)
 Read the Flux in the database. More...
 
void ReadInv (string line, double *time, int NTimeStep)
 Read the Inventory evolution in the database. More...
 
void ReadXSFis (string line, double *time, int NTimeStep)
 Read the fission cross section evolution in the database. More...
 
void ReadXSCap (string line, double *time, int NTimeStep)
 Read the capture cross evolution in the database. More...
 
void ReadXSn2n (string line, double *time, int NTimeStep)
 Read the (n,2n) cross evolution in the database. More...
 
void ReadInfo ()
 Read the info file of the database. More...
 
double Interpolate (double t, TGraph &EvolutionGraph)
 Interpolating the value of EvolutionGraph at the t time. More...
 
void AddAsStable (ZAI zai)
 Use when adding an EvolutionData of a stable nuclei (for "non" decay) More...
 
 ClassDef (EvolutionData, 0)
 

Protected Attributes

string fDB_file
 
map< ZAI,TGraph *> fInventoryEvolution
 !< path to the DataBase file More...
 
map< ZAI,TGraph *> fFissionXS
 fission cross section map More...
 
map< ZAI,TGraph *> fCaptureXS
 capture cross section map More...
 
map< ZAI,TGraph *> fn2nXS
 (n,2n) cross section map More...
 
TGraph * fKeff
 Keff evolution. More...
 
TGraph * fFlux
 Flux evolution. More...
 
cSecond fFinalTime
 time of the last point More...
 
bool fIsCrossSection
 true if some cross section are present in the database More...
 
bool fisDecay
 
string fReactorType
 Type of reactor. More...
 
string fFuelType
 Type of fuel. More...
 
double fPower
 Power in W. More...
 
double fCycleTime
 Cycle time of the DataBase. More...
 
double fHeavyMetalMass
 Cycle time of the DataBase. More...
 
- Protected Attributes inherited from CLASSObject
CLASSLoggerfLog
 Pointer to the Log. More...
 

Detailed Description

Stores fuel inventory evolution , mean cross sections evolution, flux evolution, power , ...

Define an EvolutionData. The aim of these class is to describe the evolution of a single evoluting system in CLASS. The system can either be a fuel evolution trough irradiation or a nuclei which produce, trough its decay, a large nuclei tree.

The nuclei tree resulting of the evolution are stored in a map of ZAI and TGraph, each TGraph correspond to the evolution of the quantity of the associeted ZAI.

Author
BaM
Version
2.0

Constructor & Destructor Documentation

◆ EvolutionData() [1/4]

EvolutionData::EvolutionData ( )

Normal DB Constructor.

◆ EvolutionData() [2/4]

EvolutionData::EvolutionData ( CLASSLogger log)

CLASSLogger Constructor.

Use create an empty EvolutionData loading a CLASSLogger

Parameters
log: used for the log.Make a new Evolutive Product evolution

◆ EvolutionData() [3/4]

EvolutionData::EvolutionData ( CLASSLogger log,
string  DB_file,
bool  isDecay = false,
ZAI  zai = ZAI(0,0,0) 
)

Special Constructor.

Make a new EvolutionData

Parameters
log: used for the log.
DB_filepath to the DataBase file
oldreadtrue if the oldmethod should be use to read the DatBase File (deprecated)
zaiset the ZAI if you want to add a stable nuclei.

◆ EvolutionData() [4/4]

EvolutionData::EvolutionData ( bool  oldread,
CLASSLogger log,
string  DB_file,
bool  isDecay = false,
ZAI  zai = ZAI(0,0,0) 
)

Special Constructor.

Make a new EvolutionData

Parameters
log: used for the log.
DB_filepath to the DataBase file
oldreadtrue if the oldmethod should be use to read the DatBase File (deprecated)
zaiset the ZAI if you want to add a stable nuclei.

◆ ~EvolutionData()

EvolutionData::~EvolutionData ( )

Normal Destructor.

Only remove the map without deleting the pointer to TGraph... One need to call the DeleteEvolutionData() method to fully delete the EvolutionData, and then avoiding memory leak...

Member Function Documentation

◆ AddAsStable()

void EvolutionData::AddAsStable ( ZAI  zai)
protected

Use when adding an EvolutionData of a stable nuclei (for "non" decay)

◆ CaptureXSInsert()

bool EvolutionData::CaptureXSInsert ( pair< ZAI, TGraph *>  zaitoinsert)

Add a nuclei to the capture cross section map.

◆ ClassDef()

EvolutionData::ClassDef ( EvolutionData  ,
 
)
protected

◆ DeleteEvolutionData()

void EvolutionData::DeleteEvolutionData ( )

Delete the EvolutionData.

Use to fully delete the EvolutionData and all associeted TGraph. In some case needed to be called to avoid memory leaks.

◆ DeleteEvolutionDataCopy()

void EvolutionData::DeleteEvolutionDataCopy ( )

◆ FissionXSInsert()

bool EvolutionData::FissionXSInsert ( pair< ZAI, TGraph *>  zaitoinsert)

Add a nuclei to the fission cross section map.

◆ GetCaptureXS()

map<ZAI ,TGraph* > EvolutionData::GetCaptureXS ( ) const
inline

return the capture cross section map

◆ GetCycleTime()

double EvolutionData::GetCycleTime ( ) const
inline

return the cycletime (double)

◆ GetDB_file()

string EvolutionData::GetDB_file ( ) const
inline

return the name of the Database file (string)

◆ GetEvolutionTGraph()

TGraph * EvolutionData::GetEvolutionTGraph ( const ZAI zai)

return the evolution of the ZAI quantity (TGraph*)

◆ GetFinalTime()

double EvolutionData::GetFinalTime ( ) const
inline

return the final time - last point (double)

◆ GetFissionXS()

map<ZAI ,TGraph* > EvolutionData::GetFissionXS ( ) const
inline

return the fission cross section map

◆ GetFlux()

TGraph* EvolutionData::GetFlux ( ) const
inline

return the evolution of the neutron flux (TGraph*)

◆ GetHeavyMetalMass()

double EvolutionData::GetHeavyMetalMass ( ) const
inline

Return the heavy metal mass in the core at the begining of the cycle [t].

◆ GetInventoryEvolution()

map<ZAI ,TGraph* > EvolutionData::GetInventoryEvolution ( ) const
inline

return the EvolutionData map

◆ GetIsotopicVectorAt()

IsotopicVector EvolutionData::GetIsotopicVectorAt ( double  t)

Return the Product IsotopicVector at time t.

◆ GetKeff()

TGraph* EvolutionData::GetKeff ( ) const
inline

return the evolution of the keff (TGraph*)

◆ Getn2nXS()

map<ZAI ,TGraph* > EvolutionData::Getn2nXS ( ) const
inline

return the (n,2n) cross section map

◆ GetPower()

double EvolutionData::GetPower ( ) const
inline

return the power (double)

◆ GetReactorType()

string EvolutionData::GetReactorType ( ) const
inline

return the type of reactor (string)

◆ GetXSForAt()

double EvolutionData::GetXSForAt ( double  t,
ZAI  zai,
int  ReactionId 
)

Return the XS for a reactionId on zai at t time.

This method cross section of a reaction for a ZAI at a time

Parameters
ttime
ZAIZAI for which the cross section if asked
ReactionIdID of the reaction asked

The different reaction ID are :

  • 1 fission,
  • 2 capture,
  • 3 (n,2n).

◆ Interpolate()

Double_t EvolutionData::Interpolate ( double  t,
TGraph &  EvolutionGraph 
)
protected

Interpolating the value of EvolutionGraph at the t time.

◆ n2nXSInsert()

bool EvolutionData::n2nXSInsert ( pair< ZAI, TGraph *>  zaitoinsert)

Add a nuclei to the (n,2n) cross section map.

◆ NucleiInsert()

bool EvolutionData::NucleiInsert ( pair< ZAI, TGraph *>  zaitoinsert)

Add a nuclei evolution to the evolution map.

◆ OldReadDB()

void EvolutionData::OldReadDB ( string  DBfile)
protected

Read old format database.

◆ Print()

void EvolutionData::Print ( string  filename)

Print EvolutionData in a .dat format in a file of Name filename.

◆ ReadDB()

void EvolutionData::ReadDB ( string  DBfile,
bool  oldread = false 
)
protected

Main function to read database.

◆ ReadFlux()

void EvolutionData::ReadFlux ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the Flux in the database.

◆ ReadInfo()

void EvolutionData::ReadInfo ( )
protected

Read the info file of the database.

◆ ReadInv()

void EvolutionData::ReadInv ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the Inventory evolution in the database.

◆ ReadKeff()

void EvolutionData::ReadKeff ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the Keff in the database.

◆ ReadXSCap()

void EvolutionData::ReadXSCap ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the capture cross evolution in the database.

◆ ReadXSFis()

void EvolutionData::ReadXSFis ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the fission cross section evolution in the database.

◆ ReadXSn2n()

void EvolutionData::ReadXSn2n ( string  line,
double *  time,
int  NTimeStep 
)
protected

Read the (n,2n) cross evolution in the database.

◆ SetCaptureXS()

void EvolutionData::SetCaptureXS ( map< ZAI, TGraph *>  maptoinsert)
inline

Set capture cross section map.

◆ SetCycleTime()

void EvolutionData::SetCycleTime ( cSecond  cycletime)
inline

Set cycletime of the EvolutionData [s].

◆ SetFissionXS()

void EvolutionData::SetFissionXS ( map< ZAI, TGraph *>  maptoinsert)
inline

Set fission cross section map.

◆ SetFlux()

void EvolutionData::SetFlux ( TGraph *  flux)
inline

Set the neutron flux of the EvolutionData [cm^{-2}.s^{-1}].

◆ SetFuelType()

void EvolutionData::SetFuelType ( string  fueltype)
inline

Set the fuel type (e.g MOX,UOX,...)

◆ SetHeavyMetalMass()

void EvolutionData::SetHeavyMetalMass ( double  Mass)
inline

Set the heavy metal Mass [t].

◆ SetInventoryEvolution()

void EvolutionData::SetInventoryEvolution ( map< ZAI, TGraph *>  maptoinsert)
inline

Set EvolutionData map.

◆ SetKeff()

void EvolutionData::SetKeff ( TGraph *  keff)
inline

Set the keff evolution for the EvolutionData.

◆ Setn2nXS()

void EvolutionData::Setn2nXS ( map< ZAI, TGraph *>  maptoinsert)
inline

Set (n,2n) cross section map.

◆ SetPower()

void EvolutionData::SetPower ( double  power)
inline

Set the power of the EvolutionData [W].

◆ SetReactorType()

void EvolutionData::SetReactorType ( string  reactortype)
inline

Set the reactor type (e.g PWR, FBR-Na,...)

Member Data Documentation

◆ fCaptureXS

map<ZAI ,TGraph* > EvolutionData::fCaptureXS
protected

capture cross section map

◆ fCycleTime

double EvolutionData::fCycleTime
protected

Cycle time of the DataBase.

◆ fDB_file

string EvolutionData::fDB_file
protected

◆ fFinalTime

cSecond EvolutionData::fFinalTime
protected

time of the last point

◆ fFissionXS

map<ZAI ,TGraph* > EvolutionData::fFissionXS
protected

fission cross section map

◆ fFlux

TGraph* EvolutionData::fFlux
protected

Flux evolution.

◆ fFuelType

string EvolutionData::fFuelType
protected

Type of fuel.

◆ fHeavyMetalMass

double EvolutionData::fHeavyMetalMass
protected

Cycle time of the DataBase.

◆ fInventoryEvolution

map<ZAI ,TGraph* > EvolutionData::fInventoryEvolution
protected

!< path to the DataBase file

evolution map

◆ fIsCrossSection

bool EvolutionData::fIsCrossSection
protected

true if some cross section are present in the database

◆ fisDecay

bool EvolutionData::fisDecay
protected

◆ fKeff

TGraph* EvolutionData::fKeff
protected

Keff evolution.

◆ fn2nXS

map<ZAI ,TGraph* > EvolutionData::fn2nXS
protected

(n,2n) cross section map

◆ fPower

double EvolutionData::fPower
protected

Power in W.

◆ fReactorType

string EvolutionData::fReactorType
protected

Type of reactor.


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