CLASS
5.1
Fuel Cycle Simulator
|
Defines an EquivalenceModel based on neural network to predict .
More...
#include <EQM_MLP_Kinf.hxx>
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 ![]() | |
double | GetPCMPrecision () |
Get the precision on ![]() | |
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... | |
![]() | |
map< string, IsotopicVector > | GetAllStreamList () |
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... | |
![]() | |
CLASSObject () | |
Normal Constructor. More... | |
CLASSObject (CLASSLogger *log) | |
Log Constructor. More... | |
virtual CLASSObject * | Clone () |
Correct way to copy a CLASSObject in case of derivation. More... | |
void | SetLog (CLASSLogger *log) |
Set the CLASSLogger. More... | |
CLASSLogger * | GetLog () |
Return the Pointer to the Log. More... | |
Additional Inherited Members | |
![]() | |
void | SetLambdaToErrorCode (vector< double > &lambda) |
![]() | |
map< string, IsotopicVector > | fStreamList |
double | fSpecificPower |
The specific power in W/gHM (HM: heavy Metal) More... | |
map< string, EQM_MthPtr > | fKeyword |
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... | |
![]() | |
CLASSLogger * | fLog |
Pointer to the Log. More... | |
Defines an EquivalenceModel based on neural network to predict .
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 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
is calculated according :
The maximal reachable burnup has to verify the following conditions :
Where
is the criticality threshold which take into account leakage and capture in non simulated devices such as control rods and mixing grid.
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
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 ![]() |
The information file and tmva weight
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
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 ![]() |
The information file and tmva weight
|
inline |
double EQM_MLP_Kinf::CalculateTargetParameter | ( | IsotopicVector | FuelToTest | ) |
Get the a fuel parameter associated to the fuel —> here the parameter is the BU.
TTree * EQM_MLP_Kinf::CreateTMVAInputTree | ( | IsotopicVector | FreshFuel, |
double | ThisTime | ||
) |
Create input tmva tree to be read by ExecuteTMVA.
double EQM_MLP_Kinf::ExecuteTMVA | ( | TTree * | theTree, |
string | WeightPath, | ||
bool | IsTimeDependant | ||
) |
Execute the MLP according to the input tree created by CreateTMVAInputTree.
|
inline |
Get EqM higher limit on burn-up.
void EQM_MLP_Kinf::GetModelInformation | ( | ) |
Read the fMLPInformationFile and fill containers and variables.
|
inline |
Get the precision on prediction []. Neural network predictor constructors.
void EQM_MLP_Kinf::LoadKeyword | ( | ) |
LoadKeyword() : make the correspondance between keyword and reading method.
void EQM_MLP_Kinf::ReadLine | ( | string | line | ) |
ReadLine : read a line.
line | : line to read |
void EQM_MLP_Kinf::ReadMaxBurnUp | ( | const string & | line | ) |
ReadMaxBurnUp : read a guessed (very overestimated) maximum burnup a fuel can reach (purpose : algorithm initialization)
line | : line suppossed to contain the ZAI name starts with "k_maxburnup" keyword |
void EQM_MLP_Kinf::ReadZAIName | ( | const string & | line | ) |
ReadZAIName : read the zai name in the TMWA MLP model.
line | : line suppossed to contain the ZAI name starts with "k_zainame" keyword |
|
inline |
|
inline |
Set the precision on prediction [pcm]. Neural network predictor constructors.