Skip to content
Snippets Groups Projects
EQ_OneParameter.cxx 51.7 KiB
Newer Older
Nico's avatar
Nico committed
    if ( keyword != "k_zainame" )   // Check the keyword
    {
        ERROR << " Bad keyword : \"k_zainame\" not found !" << endl;
        exit(1);
    }
    int Z = atoi(StringLine::NextWord(line, pos, ' ').c_str());
    int A = atoi(StringLine::NextWord(line, pos, ' ').c_str());
    int I  = atoi(StringLine::NextWord(line, pos, ' ').c_str());
    string name = StringLine::NextWord(line, pos, ' ');

Nico's avatar
Nico committed
    fMapOfTMVAVariableNames.insert( pair<ZAI, string>( ZAI(Z, A, I), name ) );

    DBGL
}
//________________________________________________________________________
void EQ_OneParameter::ReadMaxBurnUp(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_maxburnup" ) // Check the keyword
    {
        ERROR << " Bad keyword : \"k_maxburnup\" not found !" << endl;
        exit(1);
    }
    fMaximalBU = atof(StringLine::NextWord(line, pos, ' ').c_str());

    DBGL
}

//________________________________________________________________________
void EQ_OneParameter::ReadTargetParameter(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_targetparameter" )   // Check the keyword
    {
        ERROR << " Bad keyword : \"k_targetparameter\" not found !" << endl;
        exit(1);
    }
    fTargetParameter = StringLine::NextWord(line, pos, ' ');

    DBGL
}

//________________________________________________________________________
void EQ_OneParameter::ReadPredictorType(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_predictortype" ) // Check the keyword
    {
        ERROR << " Bad keyword : \"k_predictortype\" not found !" << endl;
        exit(1);
    }
    fPredictorType = StringLine::NextWord(line, pos, ' ');
}
//________________________________________________________________________
void EQ_OneParameter::ReadOutput(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_output" ) // Check the keyword
    {
        ERROR << " Bad keyword : \"k_output\" not found !" << endl;
        exit(1);
    }
    fOutput = StringLine::NextWord(line, pos, ' ');
}
//________________________________________________________________________
void EQ_OneParameter::ReadBuffer(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_buffer" ) // Check the keyword
    {
        ERROR << " Bad keyword : \"k_buffer\" not found !" << endl;
        exit(1);
    }
    fBuffer = StringLine::NextWord(line, pos, ' ');
}
//________________________________________________________________________
void EQ_OneParameter::ReadModelParameter(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_modelparameter" ) // Check the keyword
    {
        ERROR << " Bad keyword : \"k_modelparameter\" not found !" << endl;
        exit(1);
    }
    keyword = StringLine::NextWord(line, pos, ' ');

    fModelParameter[keyword] = -1;
}

//________________________________________________________________________
void EQ_OneParameter::ReadTargetParameterStDev(const string &line)
{
    DBGL
    int pos = 0;
    string keyword = tlc(StringLine::NextWord(line, pos, ' '));
Nico's avatar
Nico committed
    if ( keyword != "k_targetparameterstdev" )  // Check the keyword
    {
        ERROR << " Bad keyword : \"k_targetparameterstdev\" not found !" << endl;
        exit(1);
    }
    fTargetParameterStDev = atof(StringLine::NextWord(line, pos, ' ').c_str());;
}

//________________________________________________________________________
void EQ_OneParameter::PrintInfo()
{
Nico's avatar
Nico committed
    INFO << "Reactor Type : " << fDBRType << endl;
    INFO << "Fuel Type : " << fDBFType << endl;
    INFO << "Specific Power [W/g]: " << fSpecificPower << endl;

    map < string , IsotopicVector >::iterator it_s_IV;
    map < string , double >::iterator it_s_D;

Nico's avatar
Nico committed
    for (  it_s_IV = fStreamList.begin();   it_s_IV != fStreamList.end();  it_s_IV++)
    {
        INFO << (* it_s_IV).first << "  (Z A I) :" << endl;
        map<ZAI , double >::iterator it1;
        map<ZAI , double > fMap1 = fStreamList[(* it_s_IV).first].GetIsotopicQuantity();
        for (it1 = fMap1.begin()  ; it1 != fMap1.end() ; it1++)
            INFO << (*it1).first.Z() << " " << (*it1).first.A() << " " << (*it1).first.I() << endl;
Nico's avatar
Nico committed
    INFO << "Minimum fraction in the fuel for each material : " << endl;
    for (  it_s_D = fStreamListEqMMassFractionMin.begin();   it_s_D != fStreamListEqMMassFractionMin.end();  it_s_D++)
Nico's avatar
Nico committed
        INFO << (* it_s_D).first << " " << fStreamListEqMMassFractionMin[(* it_s_D).first] << endl;
    }
Nico's avatar
Nico committed
    INFO << "Maximum fraction in the fuel for each material : " << endl;
    for (  it_s_D = fStreamListEqMMassFractionMax.begin();   it_s_D != fStreamListEqMMassFractionMax.end();  it_s_D++)
Nico's avatar
Nico committed
        INFO << (* it_s_D).first << " " << fStreamListEqMMassFractionMax[(* it_s_D).first] << endl;
    }
Nico's avatar
Nico committed
    INFO << "ZAI limits (validity domain)[prop in fresh fuel] (Z A I min max) :" << endl;
    for (map< ZAI, pair<double, double> >::iterator Domain_it = fZAILimits.begin(); Domain_it != fZAILimits.end(); Domain_it++)
    {
        double ThatZAIMin  = Domain_it->second.first;
        double ThatZAIMax  = Domain_it->second.second;
        int Z = Domain_it->first.Z();
        int A = Domain_it->first.A();
        int I = Domain_it->first.I();

Nico's avatar
Nico committed
        INFO << ThatZAIMin << " < ZAI (" << Z << " " << A << " " << I << ")" << " < " << ThatZAIMax << endl;