CLASS  5.1
Fuel Cycle Simulator
EQM_FBR_MLP_Keff Class Reference

Defines an EquivalenceModel based on neural network to predict $k_{eff}$. More...

#include <EQM_FBR_MLP_Keff.hxx>

Inheritance diagram for EQM_FBR_MLP_Keff:
EquivalenceModel CLASSObject

Public Member Functions

map< string, double > GetMolarFraction (map< string, IsotopicVector > IVStream, double BurnUp=0)
 Return the molar fissile fraction according fissile & ferile content using $<k_{\infty}>(t)$ prediction. More...
 
Constructor
 EQM_FBR_MLP_Keff (string TMVAWeightPath, double keff_target=1.00, string InformationFile="")
 
 EQM_FBR_MLP_Keff (CLASSLogger *log, string TMVAWeightPath, double keff_target=1.00, string InformationFile="")
 
Get/Set methods
void SetPCMprecision (double pcm)
 Set the precision on $\langle k \rangle$ prediction [pcm]. Neural network predictor constructors. More...
 
double GetPCMprecision ()
 Get the precision on $\langle k \rangle$ prediction []. Neural network predictor constructors. More...
 
double GetActualFissileContent ()
 return Fissile content at iteration i More...
 
TMVA related methods
TTree * CreateTMVAInputTree (IsotopicVector FreshFuel, double ThisTime)
 Create input tmva tree to be read by ExecuteTMVA. More...
 
double ExecuteTMVA (TTree *theTree, bool IsTimeDependant)
 Execute the MLP according to the input tree created by CreateTMVAInputTree. More...
 
Reading NFO related Method
void LoadKeyword ()
 LoadKeyword() : make the correspondance between keyword and reading method. More...
 
void ReadZAIName (const string &line)
 ReadZAIName : read the zai name in the TMWA MLP model. More...
 
void ReadMaxFisContent (const string &line)
 ReadMaxFisContent : read a guessed (very overestimated) maximum fissile content (purpose : algorithm initialization) More...
 
void ReadLine (string line)
 ReadLine : read a line. More...
 
- Public Member Functions inherited from EquivalenceModel
map< string, IsotopicVectorGetAllStreamList ()
 
virtual map< string, vector< double > > BuildFuel (double BurnUp, double HMMass, map< string, vector< IsotopicVector > > StreamArray, map< string, double > StreamListMassFractionMin, map< string, double > StreamListMassFractionMax, map< int, string > StreamListPriority, map< string, bool > StreamListIsBuffer)
 
double SecondToBurnup (double Second)
 
double BurnupToSecond (double BurnUp)
 
bool isIVInDomain (IsotopicVector IV)
 
void StocksTotalMassCalculation (map< string, vector< IsotopicVector > > const &Stocks)
 
void ConvertMassToLambdaVector (string MaterialDenomination, vector< double > &lambda, double MaterialMassNeeded, vector< IsotopicVector > Stocks)
 
 EquivalenceModel ()
 Default constructor with path. More...
 
 EquivalenceModel (CLASSLogger *log)
 Logger constructor with path. More...
 
virtual ~EquivalenceModel ()
 Destructor. 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...
 

Additional Inherited Members

- Protected Member Functions inherited from EquivalenceModel
void SetLambdaToErrorCode (vector< double > &lambda)
 
- Protected Attributes inherited from EquivalenceModel
map< string, IsotopicVectorfStreamList
 
double fSpecificPower
 The specific power in W/gHM (HM: heavy Metal) More...
 
map< string, EQM_MthPtrfKeyword
 
bool freaded
 
map< ZAI, pair< double, double > > fZAILimits
 Fresh fuel range : map<ZAI<min edge ,max edge >> More...
 
map< string, double > fTotalMassInStocks
 Total mass in each vector of stock. More...
 
map< string, double > fLambdaMax
 Total lambda of available stocks. More...
 
- Protected Attributes inherited from CLASSObject
CLASSLoggerfLog
 Pointer to the Log. More...
 

Detailed Description

Defines an EquivalenceModel based on neural network to predict $k_{eff}$.

The aim of these class is to constuct a fuel from an equivalence model based on a Multi layer perceptron (MLP). This MLP aims to predict the Pu content such as it has to verify $ k(WantedTime) = k_{target}$ with $k_{target}$ is often close to 1.0 but can be set by user. The wanted time is often either the begining of cycle or end of cycle. WantedTime can't be set by user since it is contain in the .xml file. Indeed this method suppose you have trained your MLP to predict the $k_{eff}$ either at BOC or EOC (or any other time)

Author
BLG
BaM
Version
1.0

Constructor & Destructor Documentation

◆ EQM_FBR_MLP_Keff() [1/2]

EQM_FBR_MLP_Keff::EQM_FBR_MLP_Keff ( string  TMVAWeightPath,
double  keff_target = 1.00,
string  InformationFile = "" 
)

Create a EQM_FBR_MLP_Keff using Keffective at a given time (see class desctiption)


Create a EQM_FBR_MLP_Keff

Parameters
TMVAWeightPath: Path to the .xml file containing neural network informations for prediction of keff(t = tfixed)
keff_target: Wanted $k_{eff}$ (see detailed description)
InformationFile: Total path to the file containing time steps, fissile and ferile list (ante and post fabrication time cooling). Default is the same total path as TMVAWeightPath but extension is replaced by .nfo (see manual for format)

The tmva weight

◆ EQM_FBR_MLP_Keff() [2/2]

EQM_FBR_MLP_Keff::EQM_FBR_MLP_Keff ( CLASSLogger log,
string  TMVAWeightPath,
double  keff_target = 1.00,
string  InformationFile = "" 
)

Create a EQM_FBR_MLP_Keff using Keffective at a given time (see class desctiption)


Create a EQM_FBR_MLP_Keff

Parameters
logCLASSLogger object to handle log messages
TMVAWeightPath: Path to the .xml file containing neural network informations for prediction of keff(t = tfixed)
keff_target: Wanted $k_{eff}$ (see detailed description)
InformationFile: Total path to the file containing time steps, fissile and ferile list (ante and post fabrication time cooling). Default is the same total path as TMVAWeightPath but extension is replaced by .nfo (see manual for format)

The tmva weight

Member Function Documentation

◆ CreateTMVAInputTree()

TTree * EQM_FBR_MLP_Keff::CreateTMVAInputTree ( IsotopicVector  FreshFuel,
double  ThisTime 
)

Create input tmva tree to be read by ExecuteTMVA.

◆ ExecuteTMVA()

double EQM_FBR_MLP_Keff::ExecuteTMVA ( TTree *  theTree,
bool  IsTimeDependant 
)

Execute the MLP according to the input tree created by CreateTMVAInputTree.

◆ GetActualFissileContent()

double EQM_FBR_MLP_Keff::GetActualFissileContent ( )
inline

return Fissile content at iteration i

◆ GetMolarFraction()

map< string, double > EQM_FBR_MLP_Keff::GetMolarFraction ( map< string, IsotopicVector IVStream,
double  BurnUp = 0 
)

Return the molar fissile fraction according fissile & ferile content using $<k_{\infty}>(t)$ prediction.

Parameters
Fissil: The composition of the fissile matter
Fertil: The composition of the Fertil matter
BurnUp: Maximum achievable burn up envisaged

◆ GetPCMprecision()

double EQM_FBR_MLP_Keff::GetPCMprecision ( )
inline

Get the precision on $\langle k \rangle$ prediction []. Neural network predictor constructors.

◆ LoadKeyword()

void EQM_FBR_MLP_Keff::LoadKeyword ( )

LoadKeyword() : make the correspondance between keyword and reading method.

◆ ReadLine()

void EQM_FBR_MLP_Keff::ReadLine ( string  line)

ReadLine : read a line.

Parameters
line: line to read

◆ ReadMaxFisContent()

void EQM_FBR_MLP_Keff::ReadMaxFisContent ( const string &  line)

ReadMaxFisContent : read a guessed (very overestimated) maximum fissile content (purpose : algorithm initialization)

Parameters
line: line suppossed to contain the ZAI name starts with "k_zainame" keyword

◆ ReadZAIName()

void EQM_FBR_MLP_Keff::ReadZAIName ( const string &  line)

ReadZAIName : read the zai name in the TMWA MLP model.

Parameters
line: line suppossed to contain the ZAI name starts with "k_zainame" keyword

◆ SetPCMprecision()

void EQM_FBR_MLP_Keff::SetPCMprecision ( double  pcm)
inline

Set the precision on $\langle k \rangle$ prediction [pcm]. Neural network predictor constructors.


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