MURE
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Nucleus Class Reference

A real Nucleus with a Temperature. More...

#include <Nucleus.hxx>

Inheritance diagram for Nucleus:
TReference

Public Member Functions

 Nucleus (int aZ, int aA, int aI=0, bool Moderator=0, bool Evolution=false)
 Normal Constructor for Nucleus.
 
 Nucleus (int aZ, int aA, int aI, double T, bool Moderator=0, bool Evolution=false)
 Constructor for Nucleus at T.
 
 Nucleus (ZAI *zai, double T, bool Moderator=0, bool Evolution=false)
 Constructor for Nucleus at T.
 
 Nucleus (const Nucleus &n, bool clone=false)
 Copy constructor.
 
 ~Nucleus () override
 Normal destructor.
 
ZAI main attributes
int Z ()
 
int A ()
 
int I ()
 
ZAIGetZAI ()
 
void SetZAI (int aZ, int aA, int aI)
 set the ZAI *of the Nucleus
 
double GetMass ()
 
void SetMass (double m)
 
double GetTemperature ()
 
void SetTemperature (double T)
 
bool IsModerator ()
 
string GetModeratorLine ()
 
void SetModeratorName (string name)
 
void SetModeratorLine (string line)
 
void SetModeratorCategory (string ModeratorCategory)
 Set the moderator category.
 
string GetModeratorCategory ()
 
Find Nucleus in data base methods
string FindMCCode ()
 Find the closest MC code of the nucleus.
 
void FindMCCode2 ()
 Find the secondary MC code of the nucleus.
 
void SetXSExtension (string code)
 allows user to override the XS id code for MC
 
void SetXSDIRLine (string Line)
 
string GetIdCode ()
 
string GetIdCode2 ()
 Returns the alternative Extension of this nucleus.
 
void SetIdCode (string code="")
 
string GetBestLine ()
 
string GetBestLine2 ()
 Gives the second best BaseSummary line for this nucleus.
 
void SetBestLine (string BestLine)
 
void SetGlobalNucleiIndex (int Index)
 
string FindMCModeratorName ()
 find MC moderator name (e.g. grph.01t)
 
double FindCode (double Temperature, string Type, bool AllWarning=false)
 Find either Nucleus MC code, or Moderator MC code.
 
void SetXSCode (vector< int > XSC)
 
vector< int > GetXSCode ()
 
bool IsUserCode ()
 
Cross-section &reaction rate methods
double GetSigmaPhi (Cell *cell, int ReactionCode)
 returns the disparition rate of the nucleus according to the reaction code.
 
ValErr_t GetMCSigmaPhi (Cell *cell, int ReactionCode)
 returns the disparition rate of the nucleus according to the reaction code.
 
ValErr_t GetMCSigma (Cell *cell, int ReactionCode)
 returns the cross-section of the nucleus according to the reaction code.
 
ValErr_t GetMCSigmaPhi2 (Cell *cell, int ReactionCode)
 returns the disparition rate of the nucleus according to the reaction code.
 
double GetSigmaPhi2 (Cell *cell, int ReactionCode)
 returns the disparition rate of the nucleus according to the reaction code.
 
ValErr_t GetMCSigmaFM (int BinNum, int FMBinNum)
 returns the cross-section of the nucleus according to FM bin number.
 
ValErr_t GetMCSigma2 (Cell *cell, int ReactionCode)
 returns the cross-section of the nucleus according to the reaction code.
 
ValErr_t GetMCSigmaPhiFM (int BinNum, int FMBinNum)
 returns the disparition rate from the nucleus for a given FM bin number.
 
void SetMCSigmaPhi (int BinNum, int FMBinNum, ValErr_t r)
 Set the disparition rate from the nucleus to its daughter.
 
void SetMCSigmaPhi2 (int BinNum, int FMBinNum, ValErr_t r)
 Set the disparition rate from the nucleus to its daughter.
 
void SetMCSigma2 (int BinNum, int FMBinNum, ValErr_t xs)
 Set the cross section from the nucleus to its daughter.
 
void SetMCSigma (int BinNum, int FMBinNum, ValErr_t xs)
 Set the cross section from the nucleus to its daughter.
 
void SetTotalSigma (double xs)
 
double GetTotalSigma ()
 
double GetTotalSigmaPhi (Cell *cell)
 returns total sigma*phi of cell
 
void SetTotalSigmaPhi (int BinNum, double xs)
 set the total reaction rate
 
int GetNumberOfReactions ()
 
int GetNumberOfCells ()
 
bool IsInThatCell (int CellNum)
 
int GetCellBinNumber (int CellNum)
 
int GetNumberOfMultiplicatorBinInCell (int CellNum)
 
vector< NucleusMCRecord * > & GetNucleusMCRecord ()
 
void AddNucleusMCRecord (int TallyNum, int CellNumber, int TallyBinIdx)
 
void ClearNucleusMCRecord ()
 
int FindFMBin (int ReactionCode)
 Find the FM bin number of the reaction code.
 
void FindSlope (int BinNum, int FMBinNum)
 Find the reaction rate slope for a bin.
 
void FindSmooth (int BinNum, int FMBinNum)
 Find the smooth reaction rate for a bin.
 
- Public Member Functions inherited from TReference
 TReference ()
 
virtual ~TReference ()=default
 Destructor.
 
void AddReference (unsigned n=1)
 
unsigned DelReference (unsigned n=1)
 
unsigned Reference ()
 

Miscellaneous methods

ZAIfZAI
 Pointer on the ZAI.
 
bool fEvolution
 whether or not it is an evolutive nucleus
 
bool fPseudoNucleus
 whether or not nucleus is a pseudo nucleus
 
bool fDuplicate
 True for duplicate nucleus in composition.
 
bool fAlreadyWarn
 true when a 1st warning occur in Material::print()
 
bool fModerator
 whether or not apply a S(alpha, Beta) thermal treatment
 
string fModeratorName
 MC moderator name (e.g. grph.01t)
 
string fModeratorLine
 XSDIR moderator line.
 
string fModeratorCategory
 Moderator category for automatic moderator name.
 
bool fUserCode
 whether or not the user has given the extension, by a SetXSExtension()
 
string fIdCode
 MC id code for the closest cross-section (.60c)
 
string fIdCode2
 MC id code for the second closest cross-section (.60c)
 
int fGlobalNucleiIndex
 Index of this nucleus in the Global nuclei vector.
 
string fBestLine
 Best line of the BaseSummary.dat for this Nucleus.
 
string fBestLine2
 Second best line of the BaseSummary.dat for this Nucleus.
 
double fTemperature
 The temperature of the nucleus.
 
double fBaseTemperature1
 Closest Base temperature to fTemperature.
 
double fBaseTemperature2
 Second closest Base temperature to fTemperature.
 
bool fTemperatureEvolution
 whether or not temperature will evolve
 
vector< NucleusMCRecord * > fNucleusMCRecord
 
int fNReaction
 Number of different reactions.
 
int fNBinCell
 Number of different reactions.
 
vector< vector< vector< ValErr_t > > > fSigmaPhi
 Reaction rates.
 
vector< vector< vector< ValErr_t > > > fSigmaPhi2
 Reaction rates.
 
vector< vector< ValErr_t > > fMCSigmaPhi
 MC Reaction rates.
 
vector< vector< ValErr_t > > fMCSigmaPhi2
 MC Reaction rates.
 
vector< vector< ValErr_t > > fMCSigmaPhi3
 MC Reaction rates for PCE fit in corrector step.
 
vector< vector< ValErr_t > > fMCSigma
 Cross-sections.
 
vector< vector< ValErr_t > > fMCSigma2
 Cross-sections.
 
vector< double > fTotalSigmaPhi
 Total sigma phi in each Tally bin.
 
vector< int > fXSCode
 array of reaction codes in tally multiplier bins
 
vector< double > fNuSigmaFisPhi
 Nu tot sigma micro phi.
 
double fTotalSigma
 Total cross section.
 
vector< double > fMCTime
 vector of last MC run time
 
vector< vector< double > > fFitSlope
 slope to find the sigma*phi extrapolation
 
vector< vector< double > > fIntersept
 intersept to find the sigma*phi extrapolation or the Smooth value if used
 
vector< vector< double > > fFitSlope2
 slope to find the sigma*phi extrapolation
 
vector< vector< double > > fIntersept2
 intersept to find the sigma*phi extrapolation
 
map< int, bool > fFirstTimeReactionAsk
 a map of Reaction code to bool
 
bool ** fASK
 temporary flag....
 
string Print ()
 Print MC code and Proportion of the nucleus.
 
string PrintPseudoNucleus (double proportion)
 Print the nucleus as a pseudo material nucleus (e.g 1001.60c 0.5 1001.70c 0.5)
 
void SetEvolution (bool Evolution)
 
bool IsEvolutive ()
 
int GetGlobalNucleiIndex ()
 
void ResetFirstReaction ()
 Set all fFirstTimeReactionAsk to true.
 
bool IsFirstTimeReactionAsk (int ReactionCode)
 returns the fFirstTimeReactionAsk[ReactionCode]
 
void SetFirstTimeReactionAsk2False (int ReactionCode)
 Set the fFirstTimeReactionAsk[ReactionCode] to false.
 
void Duplicate (bool flag)
 Say that a nucleus is duplicate in a material.
 
bool IsDuplicate ()
 
void SetAlreadyWarn (bool flag=true)
 
bool IsAlreadyWarn ()
 
bool IsTemperatureEvolution ()
 say if the nucleus temperature is going to evolved.
 
bool IsPseudoNucleus ()
 
void SetPseudoNucleus (bool flag=true)
 
void SetTemperatureEvolution (bool flag=true)
 
void SetNuSigmaFisPhi (int BinNum, double Value)
 Set Nu tot sigma phi (E)
 
vector< double > GetNuSigmaFisPhi ()
 
double GetNuSigmaFisPhi (int BinNum)
 Get Nu tot sigma phi function of energy.
 
double GetNuSigmaFisPhi (Cell *cell)
 Get Nu tot sigma phi function of a cell.
 
double GetSigmaPhi (int BinNum, int ReactionCode)
 returns the disparition rate from the nucleus to its daughter.
 
double GetSigmaPhi2 (int BinNum, int ReactionCode)
 returns the disparition rate from the nucleus to its daughter.
 
ValErr_t GetMCSigmaPhi (int BinNum, int ReactionCode)
 returns the disparition rate from the nucleus to its daughter.
 
ValErr_t GetMCSigmaPhi2 (int BinNum, int ReactionCode)
 returns the disparition rate from the nucleus to its daughter.
 
double GetSigmaPhi (Cell *cell, ZAI *daughter)
 returns the disparition rate from the nucleus to its daughter.
 
ValErr_t GetMCSigmaPhi (Cell *cell, ZAI *daughter)
 returns the disparition rate from the nucleus to its daughter.
 
ValErr_t GetMCSigma (int BinNum, int ReactionCode)
 returns the cross-section of the nucleus according to the reaction code.
 
ValErr_t GetMCSigma2 (int BinNum, int ReactionCode)
 returns the cross-section of the nucleus according to the reaction code.
 
ValErr_t GetMCSigma (Cell *cell, ZAI *daughter)
 returns the cross-section of the nucleus to its daughter.
 
void InitSigmaPhi ()
 init reaction rate array
 
int FindReactionCode (ZAI *daughter)
 Find the Reaction code that leeds to daughter.
 
int FindCellBin (Cell *cell)
 Find the tally bin number of cell.
 
int NumberOfReactions ()
 returns the number of different reactions
 
bool IsModeratorCategoryOk (string Code)
 returns true is Code and fModeratorCategory are compatible
 

Detailed Description

A real Nucleus with a Temperature.

A Nucleus is defined by its ZAI and its temperature. It could evolve and thus has a vector of Sigma*Phi calculated by MC in the cell where the nucleus has been put.

A Nucleus could be a "Moderator" to use S(alpha, Beta) treatment in MC for En<4 eV.

A Nucleus could be in one or more Cell ; if that cells evolved, then a "group" evolution is carried out.

Automatic MC name is search in the BaseSummary.dat file. If a user do not have such file and don't want to build it (see XSDIR class) he can use the Nucleus::SetXSExtension(), Material::SetDefaultXSExtension() and Material::SetModeratorName().

NOTE: Natural isotopes have A=0 (then they can't evolve!!!).

Author
PTO
Version
1.0

Constructor & Destructor Documentation

◆ Nucleus() [1/4]

Nucleus::Nucleus ( int  aZ,
int  aA,
int  aI = 0,
bool  Moderator = 0,
bool  Evolution = false 
)

Normal Constructor for Nucleus.

Default: it is ground state (Z, A) and not a moderator.

Parameters
aZ: number of protons of nucleus
aA: number of nucleons (A=0 means natural isotopes)
aI: Isomeric state (0=ground state, 1 =first excited, ...)
Moderator: whether or not apply a S(alpha, Beta) thermal treatment
Evolution: whether or not the nucleus evolved

◆ Nucleus() [2/4]

Nucleus::Nucleus ( int  aZ,
int  aA,
int  aI,
double  T,
bool  Moderator = 0,
bool  Evolution = false 
)

Constructor for Nucleus at T.

Use by Material.

Parameters
aZ: number of protons of nucleus
aA: number of nucleons (A=0 means natural isotopes)
aI: Isomeric state (0=ground state, 1 =first excited, ...)
T: Nucleus Temperature (taken from the material)
Moderator: whether or not apply a S(alpha, Beta) thermal treatment
Evolution: whether or not the nucleus evolved

◆ Nucleus() [3/4]

Nucleus::Nucleus ( ZAI zai,
double  T,
bool  Moderator = 0,
bool  Evolution = false 
)

Constructor for Nucleus at T.

Use by Material.

Parameters
zai: the nucleus ZAI
T: Nucleus Temperature (taken from the material)
Moderator: whether or not apply a S(alpha, Beta) thermal treatment
Evolution: whether or not the nucleus evolved

◆ Nucleus() [4/4]

Nucleus::Nucleus ( const Nucleus n,
bool  clone = false 
)

Copy constructor.

◆ ~Nucleus()

Nucleus::~Nucleus ( )
override

Normal destructor.

Member Function Documentation

◆ A()

int Nucleus::A ( )
inline

< returns the number of nucleons

◆ AddNucleusMCRecord()

void Nucleus::AddNucleusMCRecord ( int  TallyNum,
int  CellNumber,
int  TallyBinIdx 
)

◆ ClearNucleusMCRecord()

void Nucleus::ClearNucleusMCRecord ( )

◆ Duplicate()

void Nucleus::Duplicate ( bool  flag)
inline

Say that a nucleus is duplicate in a material.

This appends when 2 nucleus of a given material have the same MC code. This is the case when 1 isomeric state of a nucleus is not in the Database but a other exist: then the missing state is replaced by a existing one (the closest). This is to avoid MC warning.

Parameters
flag: true for duplicate nucleus

◆ FindCellBin()

int Nucleus::FindCellBin ( Cell cell)
private

Find the tally bin number of cell.

◆ FindCode()

double Nucleus::FindCode ( double  Temperature,
string  Type,
bool  AllWarning = false 
)

Find either Nucleus MC code, or Moderator MC code.

Find the code for desired Temperature and returns the base Temperature

Parameters
Temperature: the wanted temperature
Type: either "nucleus", "moderator" or "mass" depending on what is searched
AllWarning: print all warnings if true, else only some of them

◆ FindFMBin()

int Nucleus::FindFMBin ( int  ReactionCode)

Find the FM bin number of the reaction code.

◆ FindMCCode()

string Nucleus::FindMCCode ( )

Find the closest MC code of the nucleus.

This is the code for xsdir correponding to the closest temperature

◆ FindMCCode2()

void Nucleus::FindMCCode2 ( )

Find the secondary MC code of the nucleus.

The code corresponds to the next closest base temperature. This is used for pseudo-Material.

◆ FindMCModeratorName()

string Nucleus::FindMCModeratorName ( )

find MC moderator name (e.g. grph.01t)

◆ FindReactionCode()

int Nucleus::FindReactionCode ( ZAI daughter)
private

Find the Reaction code that leeds to daughter.

◆ FindSlope()

void Nucleus::FindSlope ( int  BinNum,
int  FMBinNum 
)

Find the reaction rate slope for a bin.

◆ FindSmooth()

void Nucleus::FindSmooth ( int  BinNum,
int  FMBinNum 
)

Find the smooth reaction rate for a bin.

◆ GetBestLine()

string Nucleus::GetBestLine ( )
inline

< Gives the best BaseSummary line for this nucleus.

◆ GetBestLine2()

string Nucleus::GetBestLine2 ( )

Gives the second best BaseSummary line for this nucleus.

◆ GetCellBinNumber()

int Nucleus::GetCellBinNumber ( int  CellNum)

◆ GetGlobalNucleiIndex()

int Nucleus::GetGlobalNucleiIndex ( )
inline

< get index of this nucleus in the Global Nuclei vector of MURE.

◆ GetIdCode()

string Nucleus::GetIdCode ( )
inline

< Returns the Extension of this nucleus.

◆ GetIdCode2()

string Nucleus::GetIdCode2 ( )

Returns the alternative Extension of this nucleus.

◆ GetMass()

double Nucleus::GetMass ( )
inline

< Returns the mass of this nucleus.

◆ GetMCSigma() [1/3]

ValErr_t Nucleus::GetMCSigma ( Cell cell,
int  ReactionCode 
)

returns the cross-section of the nucleus according to the reaction code.

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigma() [2/3]

ValErr_t Nucleus::GetMCSigma ( Cell cell,
ZAI daughter 
)
private

returns the cross-section of the nucleus to its daughter.

Parameters
cell: the Cell where reaction rates are calculated
daughter: the zai identifying the daughter

◆ GetMCSigma() [3/3]

ValErr_t Nucleus::GetMCSigma ( int  BinNum,
int  ReactionCode 
)
private

returns the cross-section of the nucleus according to the reaction code.

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigma2() [1/2]

ValErr_t Nucleus::GetMCSigma2 ( Cell cell,
int  ReactionCode 
)

returns the cross-section of the nucleus according to the reaction code.

Same as previous except it is for Partial MC run

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigma2() [2/2]

ValErr_t Nucleus::GetMCSigma2 ( int  BinNum,
int  ReactionCode 
)
private

returns the cross-section of the nucleus according to the reaction code.

Same as previous except it is for Partial MC run

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigmaFM()

ValErr_t Nucleus::GetMCSigmaFM ( int  BinNum,
int  FMBinNum 
)

returns the cross-section of the nucleus according to FM bin number.

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number

◆ GetMCSigmaPhi() [1/3]

ValErr_t Nucleus::GetMCSigmaPhi ( Cell cell,
int  ReactionCode 
)

returns the disparition rate of the nucleus according to the reaction code.

This value is not normalized : it is the MC value

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigmaPhi() [2/3]

ValErr_t Nucleus::GetMCSigmaPhi ( Cell cell,
ZAI daughter 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value

Parameters
cell: the Cell where reaction rates are calculated
daughter: the zai identifying the daughter

◆ GetMCSigmaPhi() [3/3]

ValErr_t Nucleus::GetMCSigmaPhi ( int  BinNum,
int  ReactionCode 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigmaPhi2() [1/2]

ValErr_t Nucleus::GetMCSigmaPhi2 ( Cell cell,
int  ReactionCode 
)

returns the disparition rate of the nucleus according to the reaction code.

This value is not normalized : it is the MC value Same as previous except it is for Partial MC run

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigmaPhi2() [2/2]

ValErr_t Nucleus::GetMCSigmaPhi2 ( int  BinNum,
int  ReactionCode 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value Same as previous except it is for Partial MC run

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetMCSigmaPhiFM()

ValErr_t Nucleus::GetMCSigmaPhiFM ( int  BinNum,
int  FMBinNum 
)

returns the disparition rate from the nucleus for a given FM bin number.

This value is not normalized : it is the MC value

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number

◆ GetModeratorCategory()

string Nucleus::GetModeratorCategory ( )
inline

◆ GetModeratorLine()

string Nucleus::GetModeratorLine ( )
inline

< returns whether or not the nucleus is a Moderator

◆ GetNucleusMCRecord()

vector< NucleusMCRecord * > & Nucleus::GetNucleusMCRecord ( )
inline

◆ GetNumberOfCells()

int Nucleus::GetNumberOfCells ( )

◆ GetNumberOfMultiplicatorBinInCell()

int Nucleus::GetNumberOfMultiplicatorBinInCell ( int  CellNum)

◆ GetNumberOfReactions()

int Nucleus::GetNumberOfReactions ( )

◆ GetNuSigmaFisPhi() [1/3]

vector< double > Nucleus::GetNuSigmaFisPhi ( )
inline

< Get Nu tot sigma phi vector

◆ GetNuSigmaFisPhi() [2/3]

double Nucleus::GetNuSigmaFisPhi ( Cell cell)

Get Nu tot sigma phi function of a cell.

◆ GetNuSigmaFisPhi() [3/3]

double Nucleus::GetNuSigmaFisPhi ( int  BinNum)

Get Nu tot sigma phi function of energy.

◆ GetSigmaPhi() [1/3]

double Nucleus::GetSigmaPhi ( Cell cell,
int  ReactionCode 
)

returns the disparition rate of the nucleus according to the reaction code.

This value is not normalized : it is the MC value

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetSigmaPhi() [2/3]

double Nucleus::GetSigmaPhi ( Cell cell,
ZAI daughter 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value

Parameters
cell: the Cell where reaction rates are calculated
daughter: the zai identifying the daughter

◆ GetSigmaPhi() [3/3]

double Nucleus::GetSigmaPhi ( int  BinNum,
int  ReactionCode 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value

Parameters
BinNum: the cell/Surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetSigmaPhi2() [1/2]

double Nucleus::GetSigmaPhi2 ( Cell cell,
int  ReactionCode 
)

returns the disparition rate of the nucleus according to the reaction code.

This value is not normalized : it is the MC value Same as previous except it is for Partial MC run

Parameters
cell: the Cell where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetSigmaPhi2() [2/2]

double Nucleus::GetSigmaPhi2 ( int  BinNum,
int  ReactionCode 
)
private

returns the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value Same as previous except it is for Partial MC run

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
ReactionCode: the reaction code (ENDF Type)

◆ GetTemperature()

double Nucleus::GetTemperature ( )
inline

< returns the nucleus temperature (K)

◆ GetTotalSigma()

double Nucleus::GetTotalSigma ( )
inline

< returns total cross section

◆ GetTotalSigmaPhi()

double Nucleus::GetTotalSigmaPhi ( Cell cell)

returns total sigma*phi of cell

◆ GetXSCode()

vector< int > Nucleus::GetXSCode ( )
inline

< return the array of reaction codes in tally multiplier bins

◆ GetZAI()

ZAI * Nucleus::GetZAI ( )
inline

< returns the ZAI *of the Nucleus

◆ I()

int Nucleus::I ( )
inline

< returns the Isomeric state (Ground State, ith excited)

◆ InitSigmaPhi()

void Nucleus::InitSigmaPhi ( )
private

init reaction rate array

◆ IsAlreadyWarn()

bool Nucleus::IsAlreadyWarn ( )
inline

< return true when a 1st warning occur in Material::print()

◆ IsDuplicate()

bool Nucleus::IsDuplicate ( )
inline

< whether or not a nucleus is duplicate

◆ IsEvolutive()

bool Nucleus::IsEvolutive ( )
inline

< Returns the Evolution state (Evolutive or not)

◆ IsFirstTimeReactionAsk()

bool Nucleus::IsFirstTimeReactionAsk ( int  ReactionCode)

returns the fFirstTimeReactionAsk[ReactionCode]

◆ IsInThatCell()

bool Nucleus::IsInThatCell ( int  CellNum)

◆ IsModerator()

bool Nucleus::IsModerator ( )
inline

< returns whether or not the nucleus is a Moderator

◆ IsModeratorCategoryOk()

bool Nucleus::IsModeratorCategoryOk ( string  Code)
private

returns true is Code and fModeratorCategory are compatible

◆ IsPseudoNucleus()

bool Nucleus::IsPseudoNucleus ( )
inline

◆ IsTemperatureEvolution()

bool Nucleus::IsTemperatureEvolution ( )
inline

say if the nucleus temperature is going to evolved.

When this is true, this means that the nucleus will be duplicated in the MURE::fGlobalNucleiVector. The default is false.

◆ IsUserCode()

bool Nucleus::IsUserCode ( )
inline

< Points out if the extension has been given by the user.

◆ NumberOfReactions()

int Nucleus::NumberOfReactions ( )
private

returns the number of different reactions

◆ Print()

string Nucleus::Print ( )

Print MC code and Proportion of the nucleus.

◆ PrintPseudoNucleus()

string Nucleus::PrintPseudoNucleus ( double  proportion)

Print the nucleus as a pseudo material nucleus (e.g 1001.60c 0.5 1001.70c 0.5)

◆ ResetFirstReaction()

void Nucleus::ResetFirstReaction ( )

Set all fFirstTimeReactionAsk to true.

◆ SetAlreadyWarn()

void Nucleus::SetAlreadyWarn ( bool  flag = true)
inline

< true when a 1st warning occur in Material::print()

◆ SetBestLine()

void Nucleus::SetBestLine ( string  BestLine)
inline

< Changes the best BaseSummary line for this nucleus.

◆ SetEvolution()

void Nucleus::SetEvolution ( bool  Evolution)
inline

< Precises the Evolution state (Evolutive or not)

◆ SetFirstTimeReactionAsk2False()

void Nucleus::SetFirstTimeReactionAsk2False ( int  ReactionCode)

Set the fFirstTimeReactionAsk[ReactionCode] to false.

◆ SetGlobalNucleiIndex()

void Nucleus::SetGlobalNucleiIndex ( int  Index)
inline

< set index of this nucleus in the Global Nuclei vector of MURE.

◆ SetIdCode()

void Nucleus::SetIdCode ( string  code = "")
inline

< set the Extension of this nucleus.

◆ SetMass()

void Nucleus::SetMass ( double  m)
inline

< Set the mass of this nucleus.

◆ SetMCSigma()

void Nucleus::SetMCSigma ( int  BinNum,
int  FMBinNum,
ValErr_t  xs 
)

Set the cross section from the nucleus to its daughter.

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number for a given reaction
xs: the cross-section

◆ SetMCSigma2()

void Nucleus::SetMCSigma2 ( int  BinNum,
int  FMBinNum,
ValErr_t  xs 
)

Set the cross section from the nucleus to its daughter.

Same as previous except it is for Partial MC run

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number for a given reaction
xs: the cross-section

◆ SetMCSigmaPhi()

void Nucleus::SetMCSigmaPhi ( int  BinNum,
int  FMBinNum,
ValErr_t  r 
)

Set the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number for a given reaction
r: the reaction rate

◆ SetMCSigmaPhi2()

void Nucleus::SetMCSigmaPhi2 ( int  BinNum,
int  FMBinNum,
ValErr_t  r 
)

Set the disparition rate from the nucleus to its daughter.

This value is not normalized : it is the MC value Same as previous except it is for Partial MC run

Parameters
BinNum: the cell/surface bin number where reaction rates are calculated
FMBinNum: the FM bin number for a given reaction
r: the reaction rate

◆ SetModeratorCategory()

void Nucleus::SetModeratorCategory ( string  ModeratorCategory)
inline

Set the moderator category.

 This category is used in automatic moderator name assignement.
 If moderator name is given with Material::SetModeratorName(), the content of ModeratorCategory is unused.
 The category is one of:

 - H2O is for H in light water,
 - H/Zr for H in ZrH,
 - poly for H in polyethylene,
 - D2O for D in heavy water,
 - BeO for Be in Be oxyde,
 - Be for Be in Be metal
 - Gr for graphite,
 - Zr/H for Zr in ZrH,
Parameters
ModeratorCategory: The catergory of the moderator ("H2O", "D2O", ...)

◆ SetModeratorLine()

void Nucleus::SetModeratorLine ( string  line)
inline

< Set the XSDIR line of the moderator MT card

◆ SetModeratorName()

void Nucleus::SetModeratorName ( string  name)
inline

< Set the name of the moderator MT card

◆ SetNuSigmaFisPhi()

void Nucleus::SetNuSigmaFisPhi ( int  BinNum,
double  Value 
)

Set Nu tot sigma phi (E)

◆ SetPseudoNucleus()

void Nucleus::SetPseudoNucleus ( bool  flag = true)
inline

Set that this nuc is a pseudo nuc

◆ SetTemperature()

void Nucleus::SetTemperature ( double  T)
inline

< set the nucleus temperature (K)

◆ SetTemperatureEvolution()

void Nucleus::SetTemperatureEvolution ( bool  flag = true)
inline

< set the Temperature evolution flag

◆ SetTotalSigma()

void Nucleus::SetTotalSigma ( double  xs)
inline

< Set total cross section

◆ SetTotalSigmaPhi()

void Nucleus::SetTotalSigmaPhi ( int  BinNum,
double  xs 
)

set the total reaction rate

◆ SetXSCode()

void Nucleus::SetXSCode ( vector< int >  XSC)
inline

< Set the array of reaction codes in tally multiplier bins

◆ SetXSDIRLine()

void Nucleus::SetXSDIRLine ( string  Line)
inline

< If SetXSExtension has been used, this method gives the right XSDIR line

◆ SetXSExtension()

void Nucleus::SetXSExtension ( string  code)

allows user to override the XS id code for MC

◆ SetZAI()

void Nucleus::SetZAI ( int  aZ,
int  aA,
int  aI 
)

set the ZAI *of the Nucleus

◆ Z()

int Nucleus::Z ( )
inline

< returns the number of protons

Member Data Documentation

◆ fAlreadyWarn

bool Nucleus::fAlreadyWarn
private

true when a 1st warning occur in Material::print()

◆ fASK

bool** Nucleus::fASK
private

temporary flag....

◆ fBaseTemperature1

double Nucleus::fBaseTemperature1
private

Closest Base temperature to fTemperature.

◆ fBaseTemperature2

double Nucleus::fBaseTemperature2
private

Second closest Base temperature to fTemperature.

◆ fBestLine

string Nucleus::fBestLine
private

Best line of the BaseSummary.dat for this Nucleus.

◆ fBestLine2

string Nucleus::fBestLine2
private

Second best line of the BaseSummary.dat for this Nucleus.

◆ fDuplicate

bool Nucleus::fDuplicate
private

True for duplicate nucleus in composition.

◆ fEvolution

bool Nucleus::fEvolution
private

whether or not it is an evolutive nucleus

◆ fFirstTimeReactionAsk

map< int, bool > Nucleus::fFirstTimeReactionAsk
private

a map of Reaction code to bool

◆ fFitSlope

vector< vector < double > > Nucleus::fFitSlope
private

slope to find the sigma*phi extrapolation

◆ fFitSlope2

vector< vector < double > > Nucleus::fFitSlope2
private

slope to find the sigma*phi extrapolation

◆ fGlobalNucleiIndex

int Nucleus::fGlobalNucleiIndex
private

Index of this nucleus in the Global nuclei vector.

◆ fIdCode

string Nucleus::fIdCode
private

MC id code for the closest cross-section (.60c)

◆ fIdCode2

string Nucleus::fIdCode2
private

MC id code for the second closest cross-section (.60c)

◆ fIntersept

vector< vector < double > > Nucleus::fIntersept
private

intersept to find the sigma*phi extrapolation or the Smooth value if used

◆ fIntersept2

vector< vector < double > > Nucleus::fIntersept2
private

intersept to find the sigma*phi extrapolation

◆ fMCSigma

vector< vector < ValErr_t > > Nucleus::fMCSigma
private

Cross-sections.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one)

◆ fMCSigma2

vector< vector < ValErr_t > > Nucleus::fMCSigma2
private

Cross-sections.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one) Same as previous except it is for Partial MC run

◆ fMCSigmaPhi

vector< vector < ValErr_t > > Nucleus::fMCSigmaPhi
private

MC Reaction rates.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one)

◆ fMCSigmaPhi2

vector< vector < ValErr_t > > Nucleus::fMCSigmaPhi2
private

MC Reaction rates.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one) Same as previous except it is for Partial MC run

◆ fMCSigmaPhi3

vector< vector < ValErr_t > > Nucleus::fMCSigmaPhi3
private

MC Reaction rates for PCE fit in corrector step.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one) It stores the Reaction rates of the corrector step in PCE to make a fit from fMCSigmaPhi (predictor) to fMCSigmaPhi3 during RK integration

◆ fMCTime

vector< double > Nucleus::fMCTime
private

vector of last MC run time

◆ fModerator

bool Nucleus::fModerator
private

whether or not apply a S(alpha, Beta) thermal treatment

◆ fModeratorCategory

string Nucleus::fModeratorCategory
private

Moderator category for automatic moderator name.

◆ fModeratorLine

string Nucleus::fModeratorLine
private

XSDIR moderator line.

◆ fModeratorName

string Nucleus::fModeratorName
private

MC moderator name (e.g. grph.01t)

◆ fNBinCell

int Nucleus::fNBinCell
private

Number of different reactions.

◆ fNReaction

int Nucleus::fNReaction
private

Number of different reactions.

◆ fNucleusMCRecord

vector< NucleusMCRecord *> Nucleus::fNucleusMCRecord
private

◆ fNuSigmaFisPhi

vector< double > Nucleus::fNuSigmaFisPhi
private

Nu tot sigma micro phi.

◆ fPseudoNucleus

bool Nucleus::fPseudoNucleus
private

whether or not nucleus is a pseudo nucleus

◆ fSigmaPhi

vector< vector < vector < ValErr_t > > > Nucleus::fSigmaPhi
private

Reaction rates.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one)

◆ fSigmaPhi2

vector< vector < vector < ValErr_t > > > Nucleus::fSigmaPhi2
private

Reaction rates.

the first dimension of this vector is associated with the Cell/Surface Tally bin number (one to one) the second dimension is associated with the FM Tally bin number, (one to one) Same as previous except it is for Partial MC run

◆ fTemperature

double Nucleus::fTemperature
private

The temperature of the nucleus.

◆ fTemperatureEvolution

bool Nucleus::fTemperatureEvolution
private

whether or not temperature will evolve

◆ fTotalSigma

double Nucleus::fTotalSigma
private

Total cross section.

◆ fTotalSigmaPhi

vector< double > Nucleus::fTotalSigmaPhi
private

Total sigma phi in each Tally bin.

◆ fUserCode

bool Nucleus::fUserCode
private

whether or not the user has given the extension, by a SetXSExtension()

◆ fXSCode

vector< int > Nucleus::fXSCode
private

array of reaction codes in tally multiplier bins

◆ fZAI

ZAI* Nucleus::fZAI
private

Pointer on the ZAI.


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

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024