Skip to content
Snippets Groups Projects
Commit 73843654 authored by Baptiste LENIAU's avatar Baptiste LENIAU
Browse files

Add SetBuildFirstGuess function. This function change the initialization value...

Add SetBuildFirstGuess function. This function change the initialization value of the BuildFuel algorithm (in Equivalence.cxx) . Its aim is to accelerate the algorithm convergence

git-svn-id: svn+ssh://svn.in2p3.fr/class@488 0e7d625b-0364-4367-a6be-d5be4a48d228
parent ae0c2a62
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,8 @@ EQM_MLP_MOX::EQM_MLP_MOX(string TMVAWeightPath):EquivalenceModel(new CLASSLogger
fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
fFertileList = U5*U5_enrich + U8*(1-U5_enrich);
SetBuildFuelFirstGuess(0.04);
INFO<<"__An equivalence model of PWR MOX has been define__"<<endl;
INFO<<"\tThis model is based on a multi layer perceptron"<<endl;
INFO<<"\t\tThe TMVA weight file is :"<<endl;
......@@ -67,6 +69,8 @@ EQM_MLP_MOX::EQM_MLP_MOX(CLASSLogger* log, string TMVAWeightPath):EquivalenceMod
fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
fFertileList = U5*U5_enrich + U8*(1-U5_enrich);
SetBuildFuelFirstGuess(0.04);
INFO<<"__An equivalence model of PWR MOX has been define__"<<endl;
INFO<<"\tThis model is based on a multi layer perceptron"<<endl;
INFO<<"\t\tThe TMVA weight file is :"<<endl;
......
......@@ -44,6 +44,8 @@ EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(string WeightPath):EquivalenceModel(new CLASS
ZAI Pu2(94,242,0);
fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
SetBuildFuelFirstGuess(0.04);
}
......@@ -83,6 +85,7 @@ EQM_QUAD_PWR_MOX::EQM_QUAD_PWR_MOX(CLASSLogger* log, string WeightPath):Equivale
ZAI Pu2(94,242,0);
fFissileList = Pu8*1+Pu9*1+Pu0*1+Pu1*1+Pu2*1;
SetBuildFuelFirstGuess(0.04);
}
......
......@@ -59,7 +59,9 @@ class EquivalenceModel : public CLASSObject
//}
virtual void GuessLambda(vector<double>& lambda,int FirstStockID, int LastStockID, double DeltaM, vector<IsotopicVector> Stocks, double HMMass);
virtual double GetFissileMolarFraction(IsotopicVector Fissil,IsotopicVector Fertil,double BurnUp) = 0; /*{return 0;}*/ //!< Return the molar fraction of fissile element in the fuel accodring to the Burnup, and a given fuel composition (this is the heart of the equivalence model)
void SetBuildFuelFirstGuess(double FirstGuess){fFirstGuessFissilContent = FirstGuess;}//!<set the initialization value for BuildFuel algorithm
double GetBuildFuelFirstGuess(){return fFirstGuessFissilContent;}
IsotopicVector GetFertileList() {return fFertileList;} //!<return the fertile list
......@@ -67,13 +69,7 @@ class EquivalenceModel : public CLASSObject
void SetFertileList(IsotopicVector IV) {fFertileList = IV;}//!<set the fertile list
void SetFissileList(IsotopicVector IV) {fFissileList = IV;}//!<set the fissile list
/// Check either the IsotopicVector IV is in the validity domain of the models.
/*!
return true if IV is in ValidityDomain
return false + a warning if IV is not in ValidityDomain
\param vector<IsotopicVector> IV, Fresh fuel composition
*/
//virtual bool isIVInDomain(IsotopicVector IVFiss, double BU = 0 ) =0;
protected :
......@@ -83,6 +79,7 @@ class EquivalenceModel : public CLASSObject
IsotopicVector fFissileList; //!< contain the list of zai, needed as fissile, taken in a stock before fabrication
//!< if no stock are provided the fuel will not be made
double fFirstGuessFissilContent;//!< fissile content for BuildFuel initialization (in weight proportion)
private :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment