CLASS  5.1
Fuel Cycle Simulator
EQM_MLP_Kinf Class Reference

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

#include <EQM_MLP_Kinf.hxx>

Inheritance diagram for EQM_MLP_Kinf:
EquivalenceModel CLASSObject

Public Member Functions

Constructor
 EQM_MLP_Kinf (string TMVAWeightPath, int NumOfBatch, string InformationFile="", double CriticalityThreshold=1.01)
 Neural network predictor. The kinf(t) is predicted with a MLP. More...
 
 EQM_MLP_Kinf (CLASSLogger *log, string TMVAWeightPath, int NumOfBatch, string InformationFile="", double CriticalityThreshold=1.01)
 Neural network predictor. The kinf(t) is predicted with a MLP. More...
 
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 GetEqMHigherLimitOnBU ()
 Get EqM higher limit on burn-up. More...
 
double CalculateTargetParameter (IsotopicVector FuelToTest)
 Get the a fuel parameter associated to the fuel —> here the parameter is the BU. More...
 
void GetModelInformation ()
 Read the fMLPInformationFile and fill containers and variables. More...
 
Time <-> Burnup conversion
double SecondToBurnup (double Second)
 
double BurnupToSecond (double BurnUp)
 
TMVA related methods
TTree * CreateTMVAInputTree (IsotopicVector FreshFuel, double ThisTime)
 Create input tmva tree to be read by ExecuteTMVA. More...
 
double ExecuteTMVA (TTree *theTree, string WeightPath, 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 ReadMaxBurnUp (const string &line)
 ReadMaxBurnUp : read a guessed (very overestimated) maximum burnup a fuel can reach (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_{\infty}$.

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 $k_{\infty}(t)$ of a PWR-MOX from a given fresh fuel composition With this MLP prediction and a given number of batch (for the loading plan) an average $\langle k_{\infty}\rangle (t)$ is calculated according :

$\langle k_{\infty}\rangle ^{batch}(t) = \frac{1}{N}\sum_{i}^{N}k_{\infty}(t+\frac{iT}{N})$ The maximal reachable burnup has to verify the following conditions : $\langle k_{\infty}\rangle ^{batch}(T/N) = \langle k_{\infty}\rangle ^{batch}(2T/N) = ... = k_{Threshold}$ Where $k_{Threshold}$ is the criticality threshold which take into account leakage and capture in non simulated devices such as control rods and mixing grid.

Author
BLG
Version
1.0

Constructor & Destructor Documentation

◆ EQM_MLP_Kinf() [1/2]

EQM_MLP_Kinf::EQM_MLP_Kinf ( string  TMVAWeightPath,
int  NumOfBatch,
string  InformationFile = "",
double  CriticalityThreshold = 1.01 
)

Neural network predictor. The kinf(t) is predicted with a MLP.

Create a EQM_MLP_Kinf

Parameters
TMVAWeightPath: PAth to the .xml file containing neural network informations : PATH/TMVAWeight.xml (total path to tmva weight)
NumOfBatch: Number of batch for the loading plan (often 3 or 4 for PWR)
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
CriticalityThreshold: Threshold for the $k_{\infty}$ (see detailed description)

The information file and tmva weight

◆ EQM_MLP_Kinf() [2/2]

EQM_MLP_Kinf::EQM_MLP_Kinf ( CLASSLogger log,
string  TMVAWeightPath,
int  NumOfBatch,
string  InformationFile = "",
double  CriticalityThreshold = 1.01 
)

Neural network predictor. The kinf(t) is predicted with a MLP.

Create a EQM_MLP_Kinf

Parameters
log: use for log
TMVAWeightPath: PAth to the .xml file containing neural network informations : PATH/TMVAWeight.xml (total path to tmva weight)
NumOfBatch: Number of batch for the loading plan (often 3 or 4 for PWR)
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
CriticalityThreshold: Threshold for the $k_{\infty}$ (see detailed description)

The information file and tmva weight

Member Function Documentation

◆ BurnupToSecond()

double EQM_MLP_Kinf::BurnupToSecond ( double  BurnUp)
inline

◆ CalculateTargetParameter()

double EQM_MLP_Kinf::CalculateTargetParameter ( IsotopicVector  FuelToTest)

Get the a fuel parameter associated to the fuel —> here the parameter is the BU.

◆ CreateTMVAInputTree()

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

Create input tmva tree to be read by ExecuteTMVA.

◆ ExecuteTMVA()

double EQM_MLP_Kinf::ExecuteTMVA ( TTree *  theTree,
string  WeightPath,
bool  IsTimeDependant 
)

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

◆ GetEqMHigherLimitOnBU()

double EQM_MLP_Kinf::GetEqMHigherLimitOnBU ( )
inline

Get EqM higher limit on burn-up.

◆ GetModelInformation()

void EQM_MLP_Kinf::GetModelInformation ( )

Read the fMLPInformationFile and fill containers and variables.

◆ GetPCMPrecision()

double EQM_MLP_Kinf::GetPCMPrecision ( )
inline

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

◆ LoadKeyword()

void EQM_MLP_Kinf::LoadKeyword ( )

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

◆ ReadLine()

void EQM_MLP_Kinf::ReadLine ( string  line)

ReadLine : read a line.

Parameters
line: line to read

◆ ReadMaxBurnUp()

void EQM_MLP_Kinf::ReadMaxBurnUp ( const string &  line)

ReadMaxBurnUp : read a guessed (very overestimated) maximum burnup a fuel can reach (purpose : algorithm initialization)

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

◆ ReadZAIName()

void EQM_MLP_Kinf::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

◆ SecondToBurnup()

double EQM_MLP_Kinf::SecondToBurnup ( double  Second)
inline

◆ SetPCMPrecision()

void EQM_MLP_Kinf::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: