MURE
Friends | List of all members
MURE Class Reference

MURE class allow to make connections between classes. More...

#include <MURE.hxx>

Public Member Functions

Constructor &destructor
 MURE (string name="xsdir")
 Default constructor. More...
 
 MURE (const MURE &m)
 Copy constructor (call Copy method) More...
 
 ~MURE ()
 Destructor (call Delete method) More...
 
void Delete (bool DeleteConnector=true)
 Delete MURE either soft or hard and preserve ConnectorPlugin if !DeleteConnector. More...
 
void Copy (const MURE &m)
 Copy MURE object. More...
 
Output control
void SetConnectorPlugin (ConnectorPlugin *plugin)
 Set the output plugin's connector. More...
 
ConnectorPluginGetConnectorPlugin ()
 returns the Connector's Plugin More...
 
void SetMessageLevel (int level)
 Set the minimal level of printed messages. More...
 
int GetMessageLevel ()
 
void SetSilentDebug (bool flag=true)
 Set the Silent Debug mode on. More...
 
bool GetSilentDebug ()
 
Evolution methods
void Evolution (vector< double > T, int Start=0, bool BrutalStop=false)
 Perform the evolution. More...
 
bool IsEvolutionRequired ()
 
void SetEvolutionRequired (bool flag=true)
 
void SetPower (double Power)
 
EvolutionSolverGetEvolutionSolver ()
 
void AddList2DepletionTallyList (vector< ZAI * > NucleiList, int matnum)
 
void AddZAI2GlobalDepletionTallyList (ZAI Nuclei)
 
bool IsInDepletionList (ZAI *deplzai, int matnum)
 
void PrintDepletionTallyList ()
 
int GetSizeOfDepletionTallyList ()
 
vector< vector< ZAI * > > GetDepletionTallyListZAI ()
 
vector< int > GetDepletionTallyListINT ()
 
Flux normalization
void SetTallyNormalizationFactor (double val)
 set Flux normalization value. More...
 
void SetAllFissionEnergies (double Energy=2.0e08)
 Set the fission energy released for all nuclei. More...
 
double GetFissionEnergies ()
 
void SetFissionReleasedFile (string name)
 Set the fission energy released from a file. More...
 
string GetFissionReleasedFile ()
 
MC neutron source
void SetSource (MCSource *source)
 Set the MC particle source. More...
 
MCSourceGetSource ()
 Get the MC particle source. More...
 
Particle modes (i.e. which particles are transported, (MCNP only))
void SetModeN ()
 
void SetModeNP ()
 
void SetModeNE ()
 
void SetModeNPE ()
 
void SetModePE ()
 
void SetModeP ()
 
void SetMode (string MyMode="N")
 
string GetMode ()
 
Reactions, spectrum, temperatures, data base
void SetSpectrumType (string type="thermal")
 Set the spectrum type. More...
 
double GetSpectrumType ()
 returns the average energy for a spectrum type. More...
 
void SetTemperatureMap (double *T=nullptr, int NT=0)
 Set The TemperatureMap. More...
 
void SetTemperatureMap (TemperatureMap *TM)
 
TemperatureMapGetTemperatureMap ()
 
BasePriorityGetBasePriority ()
 
void SetBasePriority (BasePriority *UserBasePriority)
 Set the BasePriority. More...
 
void SetReactionListInitMethod (TSpecificFunctor< ReactionList > *method)
 Set the ReactionList Init Method. More...
 
TFunctorGetReactionListInitMethod ()
 
Nuclei Tree Seclection
void KeepOnlyFissionProductSelection (string name="")
 Use only some fission products for evolution. More...
 
string GetKeepOnlyFissionProductSelectionFN ()
 
bool IsOnlyFissionProductSelection ()
 
void SetReactionThreshold (double sigma=1e-2)
 
double GetReactionThreshold ()
 
void SetMCNucleusThreshold (double epsilon=1e-6)
 Set threshold to decide to write a nucleus in the MC input. More...
 
double GetMCNucleusThreshold ()
 
void SetExtendedReactionList ()
 
bool GetExtendedReactionList ()
 
void SetListOfWantedNucleiFN (string name)
 Set the List of Wanted Nuclei file name. More...
 
string GetListOfWantedNucleiFN ()
 
void SetShortestHalfLife (double time=3600)
 Set the shortest half time to consider for evolution. More...
 
double GetShortestHalfLife ()
 
void AddReactionNameForcedCut (string NewReactionNameForcedCut)
 Set Reactions that have to be cut regardless of the cross sections and for all nuclei. More...
 
vector< string > GetReactionNamesForcedCutVector ()
 Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei. More...
 
void SetReactionNumbersForcedCutVector (vector< int > ReactionNumbersForcedCutUser)
 Set list of Reactions that have to be cut regardless of the cross sections and for all nuclei. More...
 
void AddReactionNumberForcedCut (int NewReactionNumberForcedCut)
 Add a new Reaction that have to be cut regardless of the cross sections and for all nuclei. More...
 
vector< int > GetReactionNumbersForcedCutVector ()
 Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei. More...
 
vector< string > GetAllPossibleReactionNames ()
 Get list of All Possible Reactions that can be taken into account by SMURE. More...
 
void SetZAIsForcedCutVector (vector< ZAI * > ZAIsForceCutUser)
 
void AddZAIForcedCut (int Z, int A, int I=0)
 
vector< ZAI * > GetZAIsForcedCutVector ()
 Add a nuclei to the list of nuclei that have to be cut regardless of their half life. More...
 
void PutElasticXSinDATA (bool RegisterElasticXSinDATA=true)
 
bool IsElasticXSinDATA ()
 
void SetReactionDepth (int depth=10000)
 Set the maximum number of consecutive reactions to consider for evolution. More...
 
int GetReactionDepth ()
 
Data files &directories
void SetDATADIR (string name="")
 Set the data directory path to name. More...
 
string GetDATADIR ()
 
string GetEnvVar (const std::string envName)
 Get environment variable such as DATAPATH. More...
 
string GetDATAPATH ()
 Get environment DATAPATH variable. More...
 
void SetEnsdfDATADIR (string name="")
 Set the ENSDF data directory path to name. More...
 
string GetEnsdfDATADIR ()
 
void SetNucleiChartFileName (string name="chart.jeff3.1.1")
 Set Name of the decay mode file. More...
 
string GetNucleiChartFileName ()
 
void SetReactionDataFileName (string name="AvailableReactionChart.dat")
 Set Name of the Available reaction file for the chart. More...
 
string GetReactionDataFileName ()
 
void SetMassDataFileName (string name="Mass.dat")
 Set name of the isotopes mass file. More...
 
string GetMassDataFileName ()
 
void SetNaturalIsotopeMassFileName (string name="NaturalIsotopeMass.dat")
 Set name of the NATURAL isotopes mass file. More...
 
string GetNaturalIsotopeMassFileName ()
 
void SetFPASCIIFileName (string name="FPavailable.dat")
 Set Name ASCII file for Fission Products. More...
 
char * GetFPASCIIFileName ()
 
void SetFPBinaryFileName (string name="FPyield.bin")
 Set Name Binary file for Fission Products. More...
 
char * GetFPBinaryFileName ()
 
void SetBaseSummaryFileName (string name="BaseSummary.dat")
 set the BaseSummary.dat file name More...
 
string GetBaseSummaryFileName ()
 
void ReadSpecialIsomerFile (map< int, map< int, map< int, ZAI * > > > &TheChart)
 Read Special Isomer File (see SpecialIsomer class) More...
 
void SetSpecialIsomerFileName (string name="")
 Set Special Isomer File name (see SpecialIsomer class) More...
 
vector< SpecialIsomer > & GetSpecialIsomerVector ()
 
MC code related methods (exec, output dir, ...)
void SetMCExec (string Exec)
 Set Name of MC exec. More...
 
string GetMCExec ()
 
void SetUseNewRandomSeed (long int dbcn=- 1)
 Use a new Random Seed number in MC run. More...
 
long int GetRandomSeed ()
 
void SetAutoXSDIR (bool cond=true)
 Tells MURE to build automatically the xsdir/xsdata file. More...
 
bool IsAutoXSDIR ()
 
void RemoveXSDIR ()
 remove xsdir/xsdata file. More...
 
void SetXSDIRName (string acefile="xsdir")
 
string GetXSDIRName ()
 
void SetMCRunDirectory (string name="MUREOutput", string option="")
 Set the MC run directory name. More...
 
string GetMCRunDirectory ()
 
void FindMCRunDirectory (string OriginalMCRunDir)
 Find the MC Run Directory according to evoluion step (PC, Partial run, ...) More...
 
void BuildMCFile (string FileString="")
 Generate and Write input file on disk for the MC code (find missing volumes before) More...
 
string GetMCInputBaseFileName ()
 
string GetRealMCInputFileName ()
 
void SetMCInputFileName (string Name)
 
void SetRealMCInputFileName (string Name)
 
void ConstructFileName (string FileName)
 Construct MC input filename. More...
 
string ConstructFileName (string FileName, int EvoNum, int ThermoNum=- 1)
 Construct a temporary MC input filename. More...
 
bool IsAutoNumberFileName ()
 
void SetAutoNumberFileName (bool flag)
 
void SetRunMultiMC (int n)
 
int GetRunMultiMC ()
 
void RunMultiMC (int n)
 Run n MC codes and adds MC detector output file to make one (mean and error of the n runs for all tallys &keff). More...
 
void RunMC ()
 Run MC code!!!! More...
 
MC Parallel Run Mode
void SetPVM (int n_processor)
 Set the processor number in PVM mode. More...
 
bool IsPVM ()
 
void SetMPI (int n_processor, string MPIExec="mpiexec")
 Set the processor number in MPICH mode. More...
 
bool IsMPI ()
 
string GetMPIExec ()
 
void SetOMP (int n_thread)
 Set the processor number in OpenMP mode. More...
 
int GetOMP ()
 
int GetNProcessors ()
 
MC special methods
void AddSpecialCard (string)
 Add General card to MC. More...
 
vector< string > & GetSpecialCard ()
 
void SetSpecialCard (int i, string str)
 
void SetComment (string Comment="This comment is never read...")
 
string GetComment ()
 
void AddSpecialSurface (string)
 Add string card associated to the MC's Surface definitions. More...
 
vector< string > GetSpecialSurfaceCard ()
 
Thermal-hydraulics methods
int GetMCNPThermoRunNumber ()
 
void SetMCNPThermoRunNumber (int value=0)
 
void IncreaseMCNPThermoRunNumber ()
 
void BuildCOBRAFiles ()
 Build COBRA files. More...
 
void SetCOBRACalculationRequired (int NumberOfIteration)
 
void SetThermoHydraulicsRequired (bool flag=true)
 
bool IsThermoHydraulicsRequired ()
 
void SetUserDefaultHydraulicModel ()
 Build automatic tallies in multigroup run without using the perturbative materials. More...
 
Keff methods
double GetKeff ()
 
double GetKeff_Err ()
 
void SetKeff (double k)
 
void SetKeff_Err (double dk)
 
void UpdateKeff ()
 Read MC's Output file to set Keff value (can be used without evolution) More...
 
Volume calculation
bool IsVolumeCalculationNeeded ()
 return true if a volume is missing for a cell in which a tally is asked More...
 
void FindMissingVolume ()
 Find Missing volume (call ConnectorPlugin method) More...
 
void SetVolumeNPS (int nps=400000)
 
int GetVolumeNPS ()
 
void SetVarianceVolumeWarning (double variance=0.005)
 
double GetVarianceVolumeWarning ()
 
void SetOutermostShape (Shape_ptr s)
 Set the most outer shape. More...
 
Shape_ptr GetOutermostShape ()
 
void SetOutermostCell (Cell *c)
 
CellGetOutermostCell ()
 
void SetSourceSphereRadius (double R)
 
void SetSourceSphereCenter (double *O)
 
double GetSourceSphereRadius ()
 
double * GetSourceSphereCenter ()
 
void AddCellOfUnknownVolume (Cell *theCell)
 add thecell to the UnkownVolume cell vector More...
 
void AddShapeOfUnknownArea (Shape *theShape)
 add theShep to the UnkownSurface Shape vector More...
 
vector< Cell * > & GetCellOfUnknownVolume ()
 
vector< Shape * > & GetShapeOfUnknownArea ()
 
CellFindCellOfUnknownVolume (int CellNo)
 
void SetFromVolumeCalculation (bool flag)
 
bool GetFromVolumeCalculation ()
 
Miscellaneous methods
void StartGUI ()
 Start the TCL GUI (Examtree.tcl) to see the Nueclei Tree. More...
 
void IntegrateMassInEvolvingCells ()
 Sum all the evolving masses in the problem. More...
 
double GetTotalAtoms ()
 Sum all the evolving atoms in the problem. More...
 
void WriteGlobalNucleiTree (string fname="UnionOfAllTrees.dat")
 write the union of all nuclear trees (evolving nuclei in globalnucleivector) More...
 
void AddToGlobalNucleiVector (Nucleus_ptr &nuc)
 add a nucleus to GlobalNucleiVector More...
 
void AddToNucleiErrorMap (Nucleus *nuc, string ErrType)
 
void SumUpNucleiError (ostream &Out=cerr)
 Write in the chosen output the list of the nuclei with problems, and the type of these problems. More...
 
map< Nucleus *, string > & GetNucleiErrorMap ()
 
vector< Nucleus_ptr > & GetGlobalNucleiVector ()
 
bool IsBaseSummaryRead ()
 
void ReadBaseSummary ()
 Read the whole base summary file to increase speed. More...
 
string GetBaseSummaryLine (int i)
 Get the ith base summary line. More...
 
void AddLineToBaseSummary (string line)
 Add a line to the read base summary. More...
 
int GetFirstContinuousZIndexInBaseSummary (int z)
 
int GetFirstThermalZIndexInBaseSummary (int z)
 
void CheckExtensions ()
 Check if two different nuclei have the same extension and correct if necessary. More...
 
void CheckNucleusDataBaseError ()
 Check for nuclei error in data base (T, base name, ...) More...
 
void SetMCNPUserDefinedGeometry ()
 
bool IsMCNPUserDefinedGeometry ()
 
void SetUserGeometryInputFile (string name)
 set the file name of the user defined MCNP geometry More...
 
string GetUserGeometryInputFile ()
 
void SaveBackupMureFile (string TheFileName)
 Backup copy of the MURE source file (.cxx) in the MC run directory. More...
 
string GetTotalRunTime ()
 Returns a string that tells how long it is since MURE's code is running. More...
 
double GetRunTime ()
 
void Dump ()
 Dump a MURE object. More...
 
void CheckMandatoryPointeur ()
 Verify the mandatory pointeur exists (such as MCSource, EvolutionSolver and ConnectrPlugin) More...
 
double FindFissileEnrichment (double DesiredKeff, double EnrichmentFirstGuess, Material *Fertile, Material *Fissile, Material *&Target)
 
void SetSerpentDopplerBroadening ()
 
bool IsSerpentDopplerBroadening ()
 
void SetDisableViolentSimplifyNode (bool flag)
 
bool GetDisableViolentSimplifyNode ()
 
Tally methods
void AddTally (MureTally *T)
 Add a Tally to Mure. More...
 
void AddMeshTally (MeshTally *MT)
 Add a MeshTally to Mure (for MCNP) More...
 
vector< MeshTally * > & GetMeshTally ()
 
vector< MureTally * > & GetTallyVector ()
 
void ResetDetectorVector ()
 Remove all tallies. More...
 
MureTallyFindTally (int TallyNo)
 return the tally that has the number TallyNo More...
 
int NextTallyNum (int i=0)
 returns the next Tally number of type i available More...
 
void AddTimeEnergyGrid (MureTimeEnergyGrid *TheEnergyGrid)
 add a Time and/or Energy grid for tallies More...
 
vector< MureTimeEnergyGrid * > GetTimeEnergyGrids ()
 return the Time and/or Energy grid for tallies More...
 
MureTimeEnergyGridFindTimeEnergyGrid (int num)
 return the TimeEnergyGrid of number num More...
 
bool IsSameTimeEnergyGridForAllTallies ()
 
void SetSameTimeEnergyGridForAllTallies ()
 set that all tallies must use the same TimeEnergyGrid More...
 
void SetESpectrum ()
 
bool IsESpectrum ()
 
void UseEnergyBinsFile (string Filename)
 uses the filename provided for building the energy binning. (single column file with energies in eV)! More...
 
vector< double > & GetEnergyBins ()
 
bool IsUseEnergyBinsFile ()
 
void SetESpectrumTallyNumber (int num)
 
int GetESpectrumTallyNumber ()
 
Vector management
void SetMaterialNum (int num)
 
int GetMaterialNum ()
 
int NextCellNum ()
 returns the next Cell number available More...
 
int NextSurfaceNum ()
 returns the next Surface number available More...
 
int NextMaterialNum ()
 returns the next Material number available More...
 
int NextUniverseNum ()
 returns the next Universe number available More...
 
int NextTransformationNum ()
 returns the next Transformation number available More...
 
void SetLastTallyNum (int Num)
 Set the last tally number to Num (for MCNP user input geometry) More...
 
vector< Cell * > & GetCellVector ()
 
void AddCell (Cell *theCell)
 
CellFindCell (Cell *TheCell)
 return the Cell of same number than TheCell More...
 
CellFindCell (int CellNo)
 return the Cell of number CellNo More...
 
vector< Cell * > & GetTrueCellVector ()
 
vector< PinCell * > & GetPinCellVector ()
 
void AddPinCell (PinCell *thePinCell)
 
PinCellFindPinCell (PinCell *pin)
 
PinCellFindPinCell (int Universe)
 
vector< Material * > & GetMaterialVector ()
 
void AddMaterial (Material *theMaterial)
 Add a Material to the Material Vector. More...
 
void RemoveMaterial (Material *TheMaterial)
 Remove a Material from the Material vector. More...
 
MaterialFindMaterial (Material *TheMaterial)
 return the material of same number than TheMaterial More...
 
MaterialFindMaterial (int MaterialNumber)
 return the material of number MaterialNumber More...
 
void DontAddMaterial ()
 
bool IsAllowedToAddMaterial ()
 
void AddSurfaceCard (SurfaceCard *card)
 Add a SurfaceCard to the SurfaceCard Vector. More...
 
void RemoveSurfaceCard (vector< SurfaceCard * > ::iterator it)
 remove a Surface to the Surface Vector. More...
 
vector< SurfaceCard * > & GetMureSurfaceCardVector ()
 
void ClearSurfaceCardVector ()
 
void AddTransformation (Transformation *tr)
 
vector< Transformation * > & GetTransformationVector ()
 
TransformationFindTransformation (int transformation_number)
 return the transformation with this number More...
 

Friends

class MureTrojan
 

fraction of delayed neutron calculation

static bool fIsBannerPrinted = false
 Print the banner only once. More...
 
int fStartTime
 The computer clock time at the start of the MURE run. More...
 
int fMessageLevel
 message level treshold More...
 
bool fSilentDebug
 generally suppress the debug messages More...
 
bool fMaterialUpdated
 flag indicating that Materials have been updated More...
 
int fLastCellNum
 last Cell number used More...
 
int fLastSurfaceNum
 last Surface number used More...
 
int fLastMaterialNum
 last Material number used More...
 
int fLastUniverseNum
 last Universe number used More...
 
int fLastTallyNum [8]
 last Tally of type i number used More...
 
string fComment
 first line comment in MC file More...
 
vector< Cell * > fCellVector
 the vector of all Cell to write More...
 
vector< PinCell * > fPinCellVector
 the vector of all PinCell to write More...
 
vector< Material * > fMaterialVector
 the vector of all Material to write More...
 
bool fAddMaterial
 false if you don't want to add material in fMaterialVector More...
 
vector< Nucleus_ptrfGlobalNucleiVector
 Union of all the nuclei used in all the evolving materials. More...
 
vector< Cell * > fTrueCellVector
 Vector of all true Cells (which are non void) which shall be written to MC (which fNumber is not negative) More...
 
vector< Cell * > fCellOfUnknownVolume
 Vector of Cell of Unknown volume used in tallies. More...
 
vector< Shape * > fShapeOfUnknownArea
 Vector of Shape_ptr of Unknown area used in tallies. More...
 
vector< SurfaceCard * > fSurfaceCardVector
 the vector of all Surface to write (in the MC output format) More...
 
vector< MureTally * > fTallyVector
 the vector of all Tally to write More...
 
vector< MeshTally * > fMeshTallyVector
 the vector of all Mesh Tally to write More...
 
vector< Transformation * > fTransformationVector
 the vector geometrical transformation More...
 
string fDataDirectoryName
 data directory name for all data files More...
 
string fEnsdfDataDirectoryName
 data directory name for ENSDF data (added B.LENIAU) More...
 
string fMCRunDirectory
 name of the directory in which the MC output files are written More...
 
string fMCInputBaseFileName
 The Base Name of the input file name generated for MC (such as "inp") More...
 
string fMCInputFileName
 The final file name for MC (such as inpXXX for step XXX of an Evolution) More...
 
bool fAutoNumberFileName
 whether or not use automatic numbering of evolving MC input files (e.g. XXX for inp base name) More...
 
TemperatureMapfTemperatureMap
 The temperature Map. More...
 
map< Nucleus *, string > fNucleiErrorMap
 Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely) More...
 
BasePriorityfBasePriority
 The Base Priority wish. More...
 
double fReactionThreshold
 the reaction ratio threshold for ReactionList More...
 
TFunctorfReactionListInitMethod
 ReactionList Init tMethod (e.g. InitPTO()) More...
 
double fShortestHalfTimeThres
 The shortest half life considered for a nucleus. More...
 
int fReactionDepth
 The maximum number of consecutive reactions. More...
 
double fMeanEnergySpectrum
 The mean energy spectrum to consider (for FP yield) More...
 
double fMCNucleusThreshold
 the threshold to decide to write a nucleus in MC's input file More...
 
double fSetAllFissionEnergies
 If > zero, then we will override correct fission energies with this value. More...
 
string fFissionReleasedFN
 The name of fission energy released file. More...
 
bool fKeepOnlyFissionProductSelection
 true if all fission products are not used for evolution More...
 
string fKeepOnlyFissionProductSelectionFN
 The file name that contains the FP to keep. More...
 
string fSpecialIsomerFileName
 file that explain the particular treatment of special isomers More...
 
vector< SpecialIsomerfSpecialIsomerVector
 vector of special Isomer treatment (like capture on Am241) More...
 
string fListOfWantedNucleiFN
 File name of the list of wanted nuclei (and ONLY these) More...
 
vector< int > fReactionNumbersForcedCutVector
 List of reactions type that should not be considered even if the cross section are bigger than fReactionThreshold. Given by SMURE reaction number and not MT number. More...
 
vector< ZAI * > fZAIsForcedCutVector
 List of ZAI that should not be considered even if their half life are longer than fShortestHalfTimeThres. More...
 
bool fRegisterElasticXSinDATA
 true if elastic scattering cross section registered in the DATA file next to other XSs More...
 
string fXSDIRName
 the xsdir/ACElib name More...
 
bool fIsAutoXSDIR
 Whether the XSDIr must be automtically built or not. More...
 
string fMCExec
 name of MC exec(mcnp5, sss2, ...) More...
 
int fVolumeNPS
 source neutron number for stochastic volume calculation More...
 
double fVarianceVolumeWarning
 warning message threshold in stochastic volume precision More...
 
double fSourceSphereR
 Sphere source radius used in stochastic volume calculation. More...
 
double * fSourceSphereO
 Sphere source center used in stochastic volume calculation. More...
 
bool fIsFromVolumeCalculation
 Flag that control copy/delete of MURE depending on the call time. More...
 
string fNucleiChartFileName
 File where to find radioactive decays modes &branching ratios. More...
 
string fReactionDataFile
 File where to find if reaction are available or not. More...
 
string fMassDataFileName
 File where to find the nuclear mass data. More...
 
string fNaturalIsotopeMassFileName
 File where to find the nuclear mass data for natural isotopes. More...
 
string fFPASCIIFileName
 Name ASCII file for Fission Products. More...
 
string fFPBinaryFileName
 Name Binary file for Fission Products. More...
 
string fBaseSummaryFileName
 Name of the Base Summary file to find info on availlable data bases. More...
 
vector< string > fBaseSummary
 Table to put the Base summary file in memory for quick access. More...
 
bool fIsBaseSummaryRead
 Flag to say if Base summary has been read in or not. More...
 
vector< int > fFirstContinuousZIndexInBaseSummary
 Store line number where to go to find Z entries for continuous energy in Base Summary. More...
 
vector< int > fFirstThermalZIndexInBaseSummary
 Store line number where to go to find Z entries for thermal data in Base Summary. More...
 
string fMode
 the mode MCNP card (N, N P, N E, P E, P, or N P E). For Serpent, only mode N is taken. More...
 
vector< string > fSpecialSurfaceCard
 the vector of all Special Surface card More...
 
vector< string > fSpecialCard
 the vector of all Special card to write More...
 
int fLastTransformNum
 last Transformation used More...
 
bool fThermoHydraulicsRequired
 If we are running MCNP many times with ThermoHydraulics. More...
 
bool fCOBRACalculationRequired
 If we are running iteration between MCNP and COBRA. More...
 
int fNumberOfIterationNTH
 Number of Neutronics/thermalhydraulics iterations required at each fuel depletion step. More...
 
bool fUserDefaultHydraulicModel
 Use specific hydraulics model for CHF. More...
 
int fMCNPThermoRunNumber
 Current ThermoHydraulics MCNP Run Number. More...
 
double fKeff
 Current Keff of the problem. More...
 
double fKeff_Err
 Current Error on current Keff of the problem. More...
 
bool fSetESpectrum
 flag for tallying Energy Bins in all "True" Cells (Cells which do contain a non void material) More...
 
bool fUseEnergyBinsFile
 flag for using a user provided data file with desired energy binning. More...
 
string fEnergyBinsFileName
 name of the user provided data file with desired energy binning. More...
 
int fESpectrumTallyNumber
 Number of the Tally for Energy flux spectrum. More...
 
vector< MureTimeEnergyGrid * > fTimeEnergyGrids
 
vector< double > fEnergyBins
 vector of Energies in eV read from the fEnergyBinsFileName file that will be put in a MureTimeEnergyGrid by a tally More...
 
bool fIsSameTimeEnergyGridForAllTallies
 
Shape_ptr fOutermostShape
 The outer Shape to evaluate neutron leakage or volume. More...
 
CellfOutermostCell
 
int fNprocessors
 Number of processor in PVM/MPICH/OpenMP MC run. More...
 
string fMPIExec
 MPI Exec name to launch MC (mpiexec, mpirun, ...) More...
 
bool fPVM
 True for a MC PVM parallel run. More...
 
bool fMPI
 True for a MC MPI parallel run. More...
 
int fOMP
 number of Threads in OpenMP parallel compilation of MC. More...
 
int fRunMultiMC
 Number of run in a Multi MC mode. More...
 
long int fRandomSeedGenerator
 the random seed value More...
 
bool fForceConstRandomSeedForMultiRun
 
MCSourcefReactivityCoeffsSource
 Source Used for reactivity coeffs calculations. More...
 
bool fMUREInputGeometry
 True if the geometry is a MURE geometry and false for a user defined MCNP geometry. More...
 
string fUserGeometryInputFile
 The input file for the user given MCNP geometry. More...
 
bool fBetaCalculationRequired
 True if delayed neutron fraction calculation wanted. More...
 
vector< double > fNSigmaFisPhiTotalOfNucleus
 For a nucleus : sum of reaction rates. More...
 
ConnectorPluginfConnectorPlugin
 Pointer to couple MURE with MCNP, Serpent... More...
 
bool fIsConnectorPluginCalled
 
bool fEvolutionRequired
 If an Evolution is required (i.e. many MC's run steps) More...
 
EvolutionSolverfEvolutionSolver
 The evolution pointer connector. More...
 
bool fSerpentDopplerBroadening
 
bool fExtendedReactionList
 
vector< int > fMaterialForTallyNormalization
 Material numbers to be used for partial normalization to power. More...
 
vector< ZAI * > fGlobalZAIDepletionTallyList
 
vector< vector< ZAI * > > fZAIDepletionTallyList
 List of ZAIs that should be tallied in multigroup mode for each material. More...
 
vector< int > fMatnumDepletionTallyList
 List of ZAIs that should be tallied in multigroup mode. More...
 
bool fDisableViolentSimplifyNode
 Material number for which tallying of isotopes should happen. More...
 
void SetBetaCalculation (bool flag=true)
 
bool IsBetaCalculation ()
 
bool IsNucleusUsedForBeta (int Z, int A)
 Check on used or unused nucleus in delayed neutron fraction calculation. More...
 
void CalculateBetaI ()
 Method called in MURE input file to calculate NOW the delayed neutron fractions. More...
 
void SumAllCellToBetaCalculation ()
 Sums all beta by cell to obtain the total one. More...
 
void ResetAllBetaValues ()
 put to zero all values (used at each calculation done : needed if severals calculations of beta are required in a same MURE calculation More...
 
void SetMaterialForPartialTallyNormalization (int matnum)
 
void SetMaterialForPartialTallyNormalization (vector< int > matnum)
 
vector< int > GetMaterialForPartialTallyNormalization ()
 
void PrintBanner ()
 Print a banner at start of MURE. More...
 

Detailed Description

MURE class allow to make connections between classes.

The aim of this class is to keep track of object/pointer used in order to take all the input information into account. One has to used the global pointer (very ugly) gMURE to interact with all MURE classes. It is a kind of Super Class knowing every body. There are 2 very important pointeurs fEvolutionSolver and fConnectorPlugin ; the first one controls all evolution parameters. One access to it via gMURE->GetEvolutionSolver(). see EvolutionSolver class for more details. The second one MUST be used in conjunction to a namespace and allows the coupling of MURE object to other codes (for example MCNP or Serpent) ; Any MURE input file MUST DEFINE a Connector and set it to MURE.

See also
User Guide
Author
PTO
Kernie
FMS
J.Hajnrych
F.Havluj
B. Leniau
Nico*
BaM
J.Wilson
WEC
Version
2.0

Constructor & Destructor Documentation

◆ MURE() [1/2]

MURE::MURE ( string  name = "xsdir")

Default constructor.

◆ MURE() [2/2]

MURE::MURE ( const MURE m)

Copy constructor (call Copy method)

◆ ~MURE()

MURE::~MURE ( )

Destructor (call Delete method)

Member Function Documentation

◆ AddCell()

void MURE::AddCell ( Cell theCell)
inline

< Add a Cell to the Cell Vector. Only those cells shall be written if their fNumber attribute is positive

◆ AddCellOfUnknownVolume()

void MURE::AddCellOfUnknownVolume ( Cell theCell)

add thecell to the UnkownVolume cell vector

◆ AddLineToBaseSummary()

void MURE::AddLineToBaseSummary ( string  line)

Add a line to the read base summary.

◆ AddList2DepletionTallyList()

void MURE::AddList2DepletionTallyList ( vector< ZAI * >  NucleiList,
int  matnum 
)

◆ AddMaterial()

void MURE::AddMaterial ( Material theMaterial)

Add a Material to the Material Vector.

◆ AddMeshTally()

void MURE::AddMeshTally ( MeshTally MT)

Add a MeshTally to Mure (for MCNP)

◆ AddPinCell()

void MURE::AddPinCell ( PinCell thePinCell)
inline

< Add a PinCell to the PinCell Vector.

◆ AddReactionNameForcedCut()

void MURE::AddReactionNameForcedCut ( string  NewReactionNameForcedCut)

Set Reactions that have to be cut regardless of the cross sections and for all nuclei.

Sigma for these reactions are considered to be zero for all the rest of the simulation. Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)

◆ AddReactionNumberForcedCut()

void MURE::AddReactionNumberForcedCut ( int  NewReactionNumberForcedCut)
inline

Add a new Reaction that have to be cut regardless of the cross sections and for all nuclei.

Sigma for these reactions are considered zero. Reaction are named by their SMURE number and not their MT number. (n, gamma) is 1 and not 102

◆ AddShapeOfUnknownArea()

void MURE::AddShapeOfUnknownArea ( Shape theShape)

add theShep to the UnkownSurface Shape vector

◆ AddSpecialCard()

void MURE::AddSpecialCard ( string  card)

Add General card to MC.

Add any string card in the MC input file. For MCNP these cards are written in the General Block. This allow to define any MC card not implemented in MURE.

◆ AddSpecialSurface()

void MURE::AddSpecialSurface ( string  card)

Add string card associated to the MC's Surface definitions.

These cards are printed in the Surface Block of MCNP. Allows user to define its own entries in the Surface Block of MC (after the MCNP's cell block)

◆ AddSurfaceCard()

void MURE::AddSurfaceCard ( SurfaceCard card)

Add a SurfaceCard to the SurfaceCard Vector.

◆ AddTally()

void MURE::AddTally ( MureTally T)

Add a Tally to Mure.

◆ AddTimeEnergyGrid()

void MURE::AddTimeEnergyGrid ( MureTimeEnergyGrid TheEnergyGrid)

add a Time and/or Energy grid for tallies

◆ AddToGlobalNucleiVector()

void MURE::AddToGlobalNucleiVector ( Nucleus_ptr nuc)

add a nucleus to GlobalNucleiVector

◆ AddToNucleiErrorMap()

void MURE::AddToNucleiErrorMap ( Nucleus nuc,
string  ErrType 
)
inline

< add a ZAI to NucleiErrorMap with its problem type

◆ AddTransformation()

void MURE::AddTransformation ( Transformation tr)
inline

< Add a (geometrical) transformation to the vector

◆ AddZAI2GlobalDepletionTallyList()

void MURE::AddZAI2GlobalDepletionTallyList ( ZAI  Nuclei)

◆ AddZAIForcedCut()

void MURE::AddZAIForcedCut ( int  Z,
int  A,
int  I = 0 
)

◆ BuildCOBRAFiles()

void MURE::BuildCOBRAFiles ( )

Build COBRA files.

◆ BuildMCFile()

void MURE::BuildMCFile ( string  FileString = "")

Generate and Write input file on disk for the MC code (find missing volumes before)

◆ CalculateBetaI()

void MURE::CalculateBetaI ( )

Method called in MURE input file to calculate NOW the delayed neutron fractions.

◆ CheckExtensions()

void MURE::CheckExtensions ( )

Check if two different nuclei have the same extension and correct if necessary.

◆ CheckMandatoryPointeur()

void MURE::CheckMandatoryPointeur ( )

Verify the mandatory pointeur exists (such as MCSource, EvolutionSolver and ConnectrPlugin)

◆ CheckNucleusDataBaseError()

void MURE::CheckNucleusDataBaseError ( )

Check for nuclei error in data base (T, base name, ...)

◆ ClearSurfaceCardVector()

void MURE::ClearSurfaceCardVector ( )

◆ ConstructFileName() [1/2]

void MURE::ConstructFileName ( string  FileName)

Construct MC input filename.

◆ ConstructFileName() [2/2]

string MURE::ConstructFileName ( string  FileName,
int  EvoNum,
int  ThermoNum = - 1 
)

Construct a temporary MC input filename.

◆ Copy()

void MURE::Copy ( const MURE m)

Copy MURE object.

◆ Delete()

void MURE::Delete ( bool  DeleteConnector = true)

Delete MURE either soft or hard and preserve ConnectorPlugin if !DeleteConnector.

◆ DontAddMaterial()

void MURE::DontAddMaterial ( )
inline

< The Material vector is not fill: the puspose is to avoid an error when using OpenMP for GammaSpectrum calculation in MureGui

◆ Dump()

void MURE::Dump ( )

Dump a MURE object.

◆ Evolution()

void MURE::Evolution ( vector< double >  T,
int  Start = 0,
bool  BrutalStop = false 
)

Perform the evolution.

The vector of times correponds to the absolute times where a Monte-Carlo (MC) transport run is performed or a cooling period begins; if the time vector does not begin by 0, this value is added. Between these times, fuel evolution is performed. This method performs evolution for each EvolutiveSystem (i.e. each evolving Material). See EvolutionSolver class for more details.

The Start argument is the step number at which step evolution should restart (default is 0). Useful only when one wishes to start off the evolution again from a given step. Of course, previous steps (before Start) must exist in the MC run directory because material compositions is read from the MURE (B)DATA_XXX output files!

Parameters
TTime vector at which MC runs are done or Cooling periods are started (in seconds)
StartNumber of the first MC step to restart evolution;
BrutalStopStop evolution when keff falls below BrutalStopValue (if 0, do not care about keff)

◆ FindCell() [1/2]

Cell * MURE::FindCell ( Cell TheCell)

return the Cell of same number than TheCell

◆ FindCell() [2/2]

Cell * MURE::FindCell ( int  CellNo)

return the Cell of number CellNo

◆ FindCellOfUnknownVolume()

Cell * MURE::FindCellOfUnknownVolume ( int  CellNo)

◆ FindFissileEnrichment()

double MURE::FindFissileEnrichment ( double  DesiredKeff,
double  EnrichmentFirstGuess,
Material Fertile,
Material Fissile,
Material *&  Target 
)

◆ FindMaterial() [1/2]

Material * MURE::FindMaterial ( int  MaterialNumber)

return the material of number MaterialNumber

◆ FindMaterial() [2/2]

Material * MURE::FindMaterial ( Material TheMaterial)

return the material of same number than TheMaterial

◆ FindMCRunDirectory()

void MURE::FindMCRunDirectory ( string  OriginalMCRunDir)

Find the MC Run Directory according to evoluion step (PC, Partial run, ...)

◆ FindMissingVolume()

void MURE::FindMissingVolume ( )

Find Missing volume (call ConnectorPlugin method)

◆ FindPinCell() [1/2]

PinCell * MURE::FindPinCell ( int  Universe)

◆ FindPinCell() [2/2]

PinCell * MURE::FindPinCell ( PinCell pin)

◆ FindTally()

MureTally * MURE::FindTally ( int  TallyNo)

return the tally that has the number TallyNo

◆ FindTimeEnergyGrid()

MureTimeEnergyGrid * MURE::FindTimeEnergyGrid ( int  num)

return the TimeEnergyGrid of number num

◆ FindTransformation()

Transformation * MURE::FindTransformation ( int  transformation_number)

return the transformation with this number

◆ GetAllPossibleReactionNames()

vector< string > MURE::GetAllPossibleReactionNames ( )

Get list of All Possible Reactions that can be taken into account by SMURE.

Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)

◆ GetBasePriority()

BasePriority* MURE::GetBasePriority ( )
inline

< returns the BasePriority

◆ GetBaseSummaryFileName()

string MURE::GetBaseSummaryFileName ( )
inline

< return the BaseSummary.dat file name

◆ GetBaseSummaryLine()

string MURE::GetBaseSummaryLine ( int  i)

Get the ith base summary line.

◆ GetCellOfUnknownVolume()

vector< Cell *>& MURE::GetCellOfUnknownVolume ( )
inline

◆ GetCellVector()

vector< Cell *>& MURE::GetCellVector ( )
inline

< Returns the Cell Vector

◆ GetComment()

string MURE::GetComment ( )
inline

< First line of MC file

◆ GetConnectorPlugin()

ConnectorPlugin * MURE::GetConnectorPlugin ( )

returns the Connector's Plugin

◆ GetDATADIR()

string MURE::GetDATADIR ( )
inline

< returns the Data directory where data files are stored

◆ GetDATAPATH()

string MURE::GetDATAPATH ( )

Get environment DATAPATH variable.

◆ GetDepletionTallyListINT()

vector<int> MURE::GetDepletionTallyListINT ( )
inline

◆ GetDepletionTallyListZAI()

vector<vector<ZAI *> > MURE::GetDepletionTallyListZAI ( )
inline

◆ GetDisableViolentSimplifyNode()

bool MURE::GetDisableViolentSimplifyNode ( )
inline

◆ GetEnergyBins()

vector< double >& MURE::GetEnergyBins ( )
inline

< Energy read from file define in UseEnergyBinsFile (Energy are in ev !!!)

◆ GetEnsdfDATADIR()

string MURE::GetEnsdfDATADIR ( )
inline

◆ GetEnvVar()

string MURE::GetEnvVar ( const std::string  envName)

Get environment variable such as DATAPATH.

if env variable not set, the string is "VARIABLE.Not_Set.Error"

◆ GetESpectrumTallyNumber()

int MURE::GetESpectrumTallyNumber ( )
inline

< set the number of theEnergy spectrum global tally

◆ GetEvolutionSolver()

EvolutionSolver* MURE::GetEvolutionSolver ( )
inline

< get the EvolutionSolver, the class managing the evolution

◆ GetExtendedReactionList()

bool MURE::GetExtendedReactionList ( )
inline

◆ GetFirstContinuousZIndexInBaseSummary()

int MURE::GetFirstContinuousZIndexInBaseSummary ( int  z)
inline

< Use to find faster z entries for continuous energy in Base Summary

◆ GetFirstThermalZIndexInBaseSummary()

int MURE::GetFirstThermalZIndexInBaseSummary ( int  z)
inline

< Use to find faster z entries for thermal data in Base Summary

◆ GetFissionEnergies()

double MURE::GetFissionEnergies ( )
inline

< Get fission energy released used for all nuclei

◆ GetFissionReleasedFile()

string MURE::GetFissionReleasedFile ( )
inline

< Get fission energy released file used

◆ GetFPASCIIFileName()

char* MURE::GetFPASCIIFileName ( )
inline

< returns ASCII file name for FP

◆ GetFPBinaryFileName()

char* MURE::GetFPBinaryFileName ( )
inline

< returns Binary file name for FP yield

◆ GetFromVolumeCalculation()

bool MURE::GetFromVolumeCalculation ( )
inline

◆ GetGlobalNucleiVector()

vector< Nucleus_ptr >& MURE::GetGlobalNucleiVector ( )
inline

< Returns the global nuclei vector

◆ GetKeepOnlyFissionProductSelectionFN()

string MURE::GetKeepOnlyFissionProductSelectionFN ( )
inline

< return the file name that contains the FP to keep

◆ GetKeff()

double MURE::GetKeff ( )
inline

< returns the value of the total combinated estimation of the Keff of the current run

◆ GetKeff_Err()

double MURE::GetKeff_Err ( )
inline

< returns the error associated to the value of the total combinated estimation of the Keff of the current run

◆ GetListOfWantedNucleiFN()

string MURE::GetListOfWantedNucleiFN ( )
inline

< returns the List of Wanted Nuclei file name

◆ GetMassDataFileName()

string MURE::GetMassDataFileName ( )
inline

< returns the name of the isotopes masses file

◆ GetMaterialForPartialTallyNormalization()

vector<int> MURE::GetMaterialForPartialTallyNormalization ( )
inline

◆ GetMaterialNum()

int MURE::GetMaterialNum ( )
inline

< set last Material number

◆ GetMaterialVector()

vector< Material *>& MURE::GetMaterialVector ( )
inline

< returns the Material Vector.

◆ GetMCExec()

string MURE::GetMCExec ( )
inline

<Get the name of the MC exec.

◆ GetMCInputBaseFileName()

string MURE::GetMCInputBaseFileName ( )
inline

< returns MC input Base file name (e.g. "inp" for an evo step inpXXX).

◆ GetMCNPThermoRunNumber()

int MURE::GetMCNPThermoRunNumber ( )
inline

< returns current MCNP run number for thermo

◆ GetMCNucleusThreshold()

double MURE::GetMCNucleusThreshold ( )
inline

< returns the threshold to decide to write a nucleus

◆ GetMCRunDirectory()

string MURE::GetMCRunDirectory ( )
inline

< Returns MC run directory name.

◆ GetMeshTally()

vector< MeshTally *>& MURE::GetMeshTally ( )
inline

< get the MCNP MeshTally

◆ GetMessageLevel()

int MURE::GetMessageLevel ( )
inline

< returns the minimal level of printed messages

◆ GetMode()

string MURE::GetMode ( )
inline

< returns particle transported mode

◆ GetMPIExec()

string MURE::GetMPIExec ( )
inline

< return mpiexec name

◆ GetMureSurfaceCardVector()

vector< SurfaceCard *>& MURE::GetMureSurfaceCardVector ( )
inline

< return the Surface Vector.

◆ GetNaturalIsotopeMassFileName()

string MURE::GetNaturalIsotopeMassFileName ( )
inline

< returns the name of the natural isotopes masses file

◆ GetNProcessors()

int MURE::GetNProcessors ( )
inline

< return processors number for pvm/mpich run

◆ GetNucleiChartFileName()

string MURE::GetNucleiChartFileName ( )
inline

< Get Name of the decay mode file.

◆ GetNucleiErrorMap()

map< Nucleus *, string >& MURE::GetNucleiErrorMap ( )
inline

< Returns the Nucleus Error storing map

◆ GetOMP()

int MURE::GetOMP ( )
inline

< return thread number for parallel MC run

◆ GetOutermostCell()

Cell* MURE::GetOutermostCell ( )
inline

< returns the most outer cell

◆ GetOutermostShape()

Shape_ptr MURE::GetOutermostShape ( )
inline

< returns the most outer shape_ptr

◆ GetPinCellVector()

vector< PinCell *>& MURE::GetPinCellVector ( )
inline

< Returns the PinCell Vector

◆ GetRandomSeed()

long int MURE::GetRandomSeed ( )
inline

◆ GetReactionDataFileName()

string MURE::GetReactionDataFileName ( )
inline

< Name of the Available reaction file for the chart.

◆ GetReactionDepth()

int MURE::GetReactionDepth ( )
inline

< return the maximum number of consecutive reactions

◆ GetReactionListInitMethod()

TFunctor* MURE::GetReactionListInitMethod ( )
inline

< return the fReactionListInitMethod

◆ GetReactionNamesForcedCutVector()

vector< string > MURE::GetReactionNamesForcedCutVector ( )

Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei.

Sigma for these reactions are considered to be zero for all the rest of the simulation. Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)

◆ GetReactionNumbersForcedCutVector()

vector< int > MURE::GetReactionNumbersForcedCutVector ( )
inline

Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei.

Reaction are the MT number. (n, gamma) is 102, ...

◆ GetReactionThreshold()

double MURE::GetReactionThreshold ( )
inline

< Get the reaction ratio threshold for ReactionList

◆ GetRealMCInputFileName()

string MURE::GetRealMCInputFileName ( )
inline

< returns real MC input file name(eg. inpXXX).

◆ GetRunMultiMC()

int MURE::GetRunMultiMC ( )
inline

< get the number of run in multi MC

◆ GetRunTime()

double MURE::GetRunTime ( )
inline

< returns the difference between the start system clock time and now

◆ GetShapeOfUnknownArea()

vector< Shape *>& MURE::GetShapeOfUnknownArea ( )
inline

◆ GetShortestHalfLife()

double MURE::GetShortestHalfLife ( )
inline

< return the shortest half time to consider for evolution.

◆ GetSilentDebug()

bool MURE::GetSilentDebug ( )
inline

< return true for if SilentDebug is on

◆ GetSizeOfDepletionTallyList()

int MURE::GetSizeOfDepletionTallyList ( )
inline

◆ GetSource()

MCSource * MURE::GetSource ( )

Get the MC particle source.

◆ GetSourceSphereCenter()

double* MURE::GetSourceSphereCenter ( )
inline

< set the center of the source Sphere (stochastic volume calculation)

◆ GetSourceSphereRadius()

double MURE::GetSourceSphereRadius ( )
inline

< set the radius of the source Sphere (stochastic volume calculation)

◆ GetSpecialCard()

vector< string >& MURE::GetSpecialCard ( )
inline

< the vector of all Special card to write

◆ GetSpecialIsomerVector()

vector<SpecialIsomer>& MURE::GetSpecialIsomerVector ( )
inline

< return the SpecialIsomer vector

◆ GetSpecialSurfaceCard()

vector< string > MURE::GetSpecialSurfaceCard ( )
inline

< the vector of all Special Surface card

◆ GetSpectrumType()

double MURE::GetSpectrumType ( )
inline

returns the average energy for a spectrum type.

It returns 0.025eV, 500keV or 14MeV depending on the value set by MURE::SetSpectrumType

◆ GetTallyVector()

vector< MureTally *>& MURE::GetTallyVector ( )
inline

< Get the MureTally vector (abstract and must be overriden by MCNP/Serpent tallies)

◆ GetTemperatureMap()

TemperatureMap* MURE::GetTemperatureMap ( )
inline

< returns the Temperature Map

◆ GetTimeEnergyGrids()

vector< MureTimeEnergyGrid * > MURE::GetTimeEnergyGrids ( )

return the Time and/or Energy grid for tallies

◆ GetTotalAtoms()

double MURE::GetTotalAtoms ( )

Sum all the evolving atoms in the problem.

◆ GetTotalRunTime()

string MURE::GetTotalRunTime ( )

Returns a string that tells how long it is since MURE's code is running.

◆ GetTransformationVector()

vector< Transformation *>& MURE::GetTransformationVector ( )
inline

< return geometrical transformation vector

◆ GetTrueCellVector()

vector< Cell *>& MURE::GetTrueCellVector ( )
inline

< return True Cells vectors, i.e cells that are really in a geometry

◆ GetUserGeometryInputFile()

string MURE::GetUserGeometryInputFile ( )
inline

◆ GetVarianceVolumeWarning()

double MURE::GetVarianceVolumeWarning ( )
inline

< Get the warning message threshold in stochastic volume precision

◆ GetVolumeNPS()

int MURE::GetVolumeNPS ( )
inline

< Get source neutron number for stochastic volume calculation

◆ GetXSDIRName()

string MURE::GetXSDIRName ( )
inline

< return the xsdir/xsdata name

◆ GetZAIsForcedCutVector()

vector< ZAI *> MURE::GetZAIsForcedCutVector ( )
inline

Add a nuclei to the list of nuclei that have to be cut regardless of their half life.

Get list of nuclei that have to be cut regardless of their half life

◆ IncreaseMCNPThermoRunNumber()

void MURE::IncreaseMCNPThermoRunNumber ( )
inline

< This is used in ThermoCoupling.cxx

◆ IntegrateMassInEvolvingCells()

void MURE::IntegrateMassInEvolvingCells ( )

Sum all the evolving masses in the problem.

◆ IsAllowedToAddMaterial()

bool MURE::IsAllowedToAddMaterial ( )
inline

◆ IsAutoNumberFileName()

bool MURE::IsAutoNumberFileName ( )
inline

< return whether or not automatic numbering of MC/Thermo input file is performed

◆ IsAutoXSDIR()

bool MURE::IsAutoXSDIR ( )
inline

< whether or not MURE builds its own xsdir/xsdata file.

◆ IsBaseSummaryRead()

bool MURE::IsBaseSummaryRead ( )
inline

< Is the base summary has been read ?

◆ IsBetaCalculation()

bool MURE::IsBetaCalculation ( )
inline

< if delayed neutron fraction calculation wanted - Flag needed before running MC

◆ IsElasticXSinDATA()

bool MURE::IsElasticXSinDATA ( )
inline

return TRUE if the Elastic XS are tallied and register in DATA for all evolving material

◆ IsESpectrum()

bool MURE::IsESpectrum ( )
inline

< say if tally for energy flux spectrum in all cells to true.

◆ IsEvolutionRequired()

bool MURE::IsEvolutionRequired ( )
inline

< returns true if evolution is needed

◆ IsInDepletionList()

bool MURE::IsInDepletionList ( ZAI deplzai,
int  matnum 
)

◆ IsMCNPUserDefinedGeometry()

bool MURE::IsMCNPUserDefinedGeometry ( )
inline

< return true for a user defined MCNP geometry

◆ IsMPI()

bool MURE::IsMPI ( )
inline

< return whether MC's MPI is wanted

◆ IsNucleusUsedForBeta()

bool MURE::IsNucleusUsedForBeta ( int  Z,
int  A 
)

Check on used or unused nucleus in delayed neutron fraction calculation.

◆ IsOnlyFissionProductSelection()

bool MURE::IsOnlyFissionProductSelection ( )
inline

< return true if all fission products are not used for evolution

◆ IsPVM()

bool MURE::IsPVM ( )
inline

< return whether MC's PVM is wanted

◆ IsSameTimeEnergyGridForAllTallies()

bool MURE::IsSameTimeEnergyGridForAllTallies ( )
inline

< True if all tallies use the same TimeEnergyGrid

◆ IsSerpentDopplerBroadening()

bool MURE::IsSerpentDopplerBroadening ( )
inline

◆ IsThermoHydraulicsRequired()

bool MURE::IsThermoHydraulicsRequired ( )
inline

◆ IsUseEnergyBinsFile()

bool MURE::IsUseEnergyBinsFile ( )
inline

< say if an specific energy binning has been provided.

◆ IsVolumeCalculationNeeded()

bool MURE::IsVolumeCalculationNeeded ( )

return true if a volume is missing for a cell in which a tally is asked

◆ KeepOnlyFissionProductSelection()

void MURE::KeepOnlyFissionProductSelection ( string  name = "")

Use only some fission products for evolution.

By default, all fission products available in nuclear library are used. But because it can take a very long time to run MC (lot of tallies), a first (approximated) run can be done using a selection of FP (see UserGuide). Only the selection of FP evolved, but other FP are included for neutron flux calculation. If user want to provide an other list of evolving FP, he/she can use file with Z A of each wanted FP THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.

Parameters
name: the file containing wanted fission products to erase default selection.

◆ NextCellNum()

int MURE::NextCellNum ( )

returns the next Cell number available

◆ NextMaterialNum()

int MURE::NextMaterialNum ( )

returns the next Material number available

◆ NextSurfaceNum()

int MURE::NextSurfaceNum ( )

returns the next Surface number available

◆ NextTallyNum()

int MURE::NextTallyNum ( int  i = 0)

returns the next Tally number of type i available

-For Serpent, tallies (or detectors) have no type (i.e. i=0). The numbers increase by 1. -For MCNP, tallies are defined by type (1=current, 2=flux/surf, 4=flux/cell, ...) : the number for a type increase by 10

◆ NextTransformationNum()

int MURE::NextTransformationNum ( )

returns the next Transformation number available

◆ NextUniverseNum()

int MURE::NextUniverseNum ( )

returns the next Universe number available

◆ PrintBanner()

void MURE::PrintBanner ( )
private

Print a banner at start of MURE.

◆ PrintDepletionTallyList()

void MURE::PrintDepletionTallyList ( )

◆ PutElasticXSinDATA()

void MURE::PutElasticXSinDATA ( bool  RegisterElasticXSinDATA = true)
inline

Force to register the ElasticXS in DATA for all evolving materials

◆ ReadBaseSummary()

void MURE::ReadBaseSummary ( )

Read the whole base summary file to increase speed.

◆ ReadSpecialIsomerFile()

void MURE::ReadSpecialIsomerFile ( map< int, map< int, map< int, ZAI * > > > &  TheChart)

Read Special Isomer File (see SpecialIsomer class)

◆ RemoveMaterial()

void MURE::RemoveMaterial ( Material TheMaterial)

Remove a Material from the Material vector.

◆ RemoveSurfaceCard()

void MURE::RemoveSurfaceCard ( vector< SurfaceCard * > ::iterator  it)

remove a Surface to the Surface Vector.

◆ RemoveXSDIR()

void MURE::RemoveXSDIR ( )

remove xsdir/xsdata file.

◆ ResetAllBetaValues()

void MURE::ResetAllBetaValues ( )

put to zero all values (used at each calculation done : needed if severals calculations of beta are required in a same MURE calculation

◆ ResetDetectorVector()

void MURE::ResetDetectorVector ( )

Remove all tallies.

◆ RunMC()

void MURE::RunMC ( )

Run MC code!!!!

◆ RunMultiMC()

void MURE::RunMultiMC ( int  n)

Run n MC codes and adds MC detector output file to make one (mean and error of the n runs for all tallys &keff).

◆ SaveBackupMureFile()

void MURE::SaveBackupMureFile ( string  TheFileName)

Backup copy of the MURE source file (.cxx) in the MC run directory.

◆ SetAllFissionEnergies()

void MURE::SetAllFissionEnergies ( double  Energy = 2.0e08)

Set the fission energy released for all nuclei.

By default, Fission energy released are taken from a linear interpolation of data in W.H. Walerk, Mass balance estimate of energy per fission in reactors AECL-3109, 1968. For data given in this ref., these values overide the linear fit. Using this method allow to impose a global value for fission energy released (for all fissile nuclei). THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.

Parameters
Energy: the fission energy released for all material in eV (Default=200MeV).

◆ SetAutoNumberFileName()

void MURE::SetAutoNumberFileName ( bool  flag)
inline

< set whether or not automatic numbering of MC/Thermo input file is performed

◆ SetAutoXSDIR()

void MURE::SetAutoXSDIR ( bool  cond = true)
inline

Tells MURE to build automatically the xsdir/xsdata file.

This method allow to build a specific xsdir/xsdata file (containing path to ACE lib) for the nuclei used by the MURE input file. MURE is looking for information in the BaseSummary.dat file (path to that file is set via gMURE->SetDATADIR()). If no xsdir/xsdata exists in the running directory (set via gMURE->SetMCRunDirectory()), the xsdir/xsdata is built, else the existing one is used. By default, MCNP::Connector set the name of the built file to xsdir and Serpent::Connector set it to xsdata.

◆ SetBasePriority()

void MURE::SetBasePriority ( BasePriority UserBasePriority)

Set the BasePriority.

◆ SetBaseSummaryFileName()

void MURE::SetBaseSummaryFileName ( string  name = "BaseSummary.dat")

set the BaseSummary.dat file name

◆ SetBetaCalculation()

void MURE::SetBetaCalculation ( bool  flag = true)
inline

< use if delayed neutron fraction calculation wanted - Flag needed before running MC

◆ SetCOBRACalculationRequired()

void MURE::SetCOBRACalculationRequired ( int  NumberOfIteration)
inline

◆ SetComment()

void MURE::SetComment ( string  Comment = "This comment is never read...")
inline

< The First comment line of MC file

◆ SetConnectorPlugin()

void MURE::SetConnectorPlugin ( ConnectorPlugin plugin)

Set the output plugin's connector.

The call to this method is MANDATORY ; it is use to choose which kind of output is used between MCNP or Serpent code. It MUST BE USED BEFORE ANY MCSource ; the better is to put the following lines just after the main declaration:

using namespace XXX
int main()
{
Connector *plugin=new Connector;
gMURE->SetConnectorPlugin(plugin);
...
}
std::unique_ptr< MURE > gMURE

The namespace XXX is either "MCNP" or "Serpent" ; this will define either a "MCNP" connector, either a "Serpent" Connector.

Parameters
plugin: a MCNP::Connector or a Serpent::Connector.

◆ SetDATADIR()

void MURE::SetDATADIR ( string  name = "")

Set the data directory path to name.

if name is not provided (default),

  • if the Environment variable DATADIR is set (via a setenv/export in csh/bash), the data directory path is set to this variable
  • else it is set to ../../data/ if name is provided, DATADIR is set to name.

◆ SetDisableViolentSimplifyNode()

void MURE::SetDisableViolentSimplifyNode ( bool  flag)
inline

◆ SetEnsdfDATADIR()

void MURE::SetEnsdfDATADIR ( string  name = "")

Set the ENSDF data directory path to name.

if name is not provide, it is set to fDataDirectoryName/ENSDF/

◆ SetESpectrum()

void MURE::SetESpectrum ( )
inline

< set flag to tally for energy flux spectrum in all cells to true.

◆ SetESpectrumTallyNumber()

void MURE::SetESpectrumTallyNumber ( int  num)
inline

< set the number of theEnergy spectrum global tally

◆ SetEvolutionRequired()

void MURE::SetEvolutionRequired ( bool  flag = true)
inline

< say that evolution is needed or not

◆ SetExtendedReactionList()

void MURE::SetExtendedReactionList ( )
inline

◆ SetFissionReleasedFile()

void MURE::SetFissionReleasedFile ( string  name)

Set the fission energy released from a file.

By default, Fission energy released are taken from a linear interpolation of data in W.H. Walerk, Mass balance estimate of energy per fission in reactors AECL-3109, 1968.

Use this method to give explicit values for nuclei described in the provided file. The file must contain Z A fission_energy_released_in_eV for each wanted isotopes. THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.

Parameters
name: the file containing fission energy released.

◆ SetFPASCIIFileName()

void MURE::SetFPASCIIFileName ( string  name = "FPavailable.dat")

Set Name ASCII file for Fission Products.

This file has contains for some fissiles, the FP yield record position and availlable energies in the binary file. It has been made by the MURE/Evo/FP/GenerateFPYield ; data are extracted from endfb6-y.asc. WARNING: The data directory path has to be set by SetDATADIR().

◆ SetFPBinaryFileName()

void MURE::SetFPBinaryFileName ( string  name = "FPyield.bin")

Set Name Binary file for Fission Products.

This file contains for some fissiles, the FP yield at availlable energies. It has been made by the MURE/Evo/FP/GenerateFPYield ; data are extracted from endfb6-y.asc. WARNING: The data directory path has to be set by SetDATADIR().

◆ SetFromVolumeCalculation()

void MURE::SetFromVolumeCalculation ( bool  flag)
inline

◆ SetKeff()

void MURE::SetKeff ( double  k)
inline

< Set the Keff to k

◆ SetKeff_Err()

void MURE::SetKeff_Err ( double  dk)
inline

< Set the Keff error to dk

◆ SetLastTallyNum()

void MURE::SetLastTallyNum ( int  Num)

Set the last tally number to Num (for MCNP user input geometry)

◆ SetListOfWantedNucleiFN()

void MURE::SetListOfWantedNucleiFN ( string  name)
inline

Set the List of Wanted Nuclei file name.

WARNING: USE WITH CARE!!!

This method allows user to specify the wanted nuclei for a evolution: ONLY nuclei defined as "Z A" in this file are used in the evolution. If nuclei X and Y are in the file and if the initial composition contains only X, then Y will be present in the evolution tree if and only if Y is a direct daugther (reaction or decay) of X. But if X->T->Y (decay or reaction) then Y will not be produced. The given list of nuclei will also imposed the allowed reactions: for examples, capture on X is allowed only if X(Z, A) and Y(Z, A+1) is in the file ; THUS TO ALLOW FISSION YOU MUST PROVIDE AT LEAST A SMALL SET OF FP in in the file.

YOU ALSO MUST DEFINE IN THIS FILE THE NUCLEI OF YOUR INITIAL COMPOSITIONS.

◆ SetMassDataFileName()

void MURE::SetMassDataFileName ( string  name = "Mass.dat")

Set name of the isotopes mass file.

This has been made from "The 2003 Atomic Mass Evaluation" of the National Nuclear Data Center of BNL. WARNING: The data directory path has to be set by SetDATADIR().

◆ SetMaterialForPartialTallyNormalization() [1/2]

void MURE::SetMaterialForPartialTallyNormalization ( int  matnum)

◆ SetMaterialForPartialTallyNormalization() [2/2]

void MURE::SetMaterialForPartialTallyNormalization ( vector< int >  matnum)
inline

◆ SetMaterialNum()

void MURE::SetMaterialNum ( int  num)
inline

< set last Material number

◆ SetMCExec()

void MURE::SetMCExec ( string  Exec)
inline

Set Name of MC exec.

By default, MCNP::Connector set it to "mcnp5" and Serpent::Connector set it to "sss2"

◆ SetMCInputFileName()

void MURE::SetMCInputFileName ( string  Name)
inline

< Set MC Input Base File Name (e.g. "inp" for an evo step inpXXX).

◆ SetMCNPThermoRunNumber()

void MURE::SetMCNPThermoRunNumber ( int  value = 0)
inline

< returns current MCNP run number for thermo

◆ SetMCNPUserDefinedGeometry()

void MURE::SetMCNPUserDefinedGeometry ( )
inline

< Tell that it is a user defined MCNP geometry

◆ SetMCNucleusThreshold()

void MURE::SetMCNucleusThreshold ( double  epsilon = 1e-6)
inline

Set threshold to decide to write a nucleus in the MC input.

When writing a evolving material, a nucleus is written only if its normalized proportion p *Sigma_tot is greater than the threshold epsilon

◆ SetMCRunDirectory()

void MURE::SetMCRunDirectory ( string  name = "MUREOutput",
string  option = "" 
)

Set the MC run directory name.

This is used for evolution.

Parameters
name: Name of the directory where all input (for MC) and output files are written.
option: what to do with an eventually already existing directory: if option="create", the existing directory is removed (and its content is lost) ; if option="keep", the existing directory (and its content) is kept else [default] a question is asked.

◆ SetMessageLevel()

void MURE::SetMessageLevel ( int  level)
inline

Set the minimal level of printed messages.

This method control the MURE output message verbosity. Low level correspond to a complete verbose output. Possible value are

LOG_LEVEL_DEBUG or 0,
LOG_LEVEL_WARNING or 2,
LOG_LEVEL_IMPORTANT_WARNING or 3,
LOG_LEVEL_ALERT or 4,
and  LOG_LEVEL_ERROR or 5.

In general the level 3(=LOG_LEVEL_IMPORTANT_WARNING) is enough to have all important informations. The default value is 2(=LOG_LEVEL_WARNING). If you call this method in the middle of your code, message level will be default up to the line where it is called: put it at the begining of your main to be effective from the beginning.

Parameters
level: the level of message

◆ SetMode()

void MURE::SetMode ( string  MyMode = "N")
inline

< Set a general run mode (for MCNP only)

◆ SetModeN()

void MURE::SetModeN ( )
inline

< Set the Neutron mode (default and only possibility for Serpent)

◆ SetModeNE()

void MURE::SetModeNE ( )
inline

< Set the Neutron Electron mode (ignored for Serpent output)

◆ SetModeNP()

void MURE::SetModeNP ( )
inline

< Set the Neutron Photon mode (ignored for Serpent output)

◆ SetModeNPE()

void MURE::SetModeNPE ( )
inline

< Set the Neutron Photon Electron mode (ignored for Serpent output)

◆ SetModeP()

void MURE::SetModeP ( )
inline

< Set the Photon mode (ignored for Serpent output)

◆ SetModePE()

void MURE::SetModePE ( )
inline

< Set the Photon Electron mode (ignored for Serpent output)

◆ SetMPI()

void MURE::SetMPI ( int  n_processor,
string  MPIExec = "mpiexec" 
)

Set the processor number in MPICH mode.

Set the processor number in MPICH mode. In order to run MC code in parallel (MPICH), you have to specify the wanted processor number to MC's exec.

TO BE NOTICED : this is effective ONLY if the MC exec is compiled with MPI support.

Parameters
n_processor: number of processor to use
MPIExec: MPI exec name to launch mcnp/serpent (mpirun, mpiexec, ...).

◆ SetNaturalIsotopeMassFileName()

void MURE::SetNaturalIsotopeMassFileName ( string  name = "NaturalIsotopeMass.dat")

Set name of the NATURAL isotopes mass file.

This file has been made, by hand, from NNCD nuclear wallet card, to give mass to natural isotopes (i.e. with A=0). To be noticed that these isotopes cannot evolve WARNING: The data directory path has to be set by SetDATADIR().

◆ SetNucleiChartFileName()

void MURE::SetNucleiChartFileName ( string  name = "chart.jeff3.1.1")

Set Name of the decay mode file.

Name of the ascii file containing all decay modes (including spontaneus fission) of all nuclei. The default value, chart.jeff3.1.1 is a compilation from Jeff 3.1/ensdf/LNHB and Nubase-2003 library ; it is extracted from M.A. Kellett, O. Bersillon, R.W. Mills, NUCLEAR ENERGY AGENCY, NEA No. 6287, OECD 2009. This file contains Z A nucleus_symbol isomeric_state period in second (or 0 for stable) decay_mode_i:branching_ration_in-%. (or s for stable).

User can provide a other file that have the same format (look to this file for example). WARNING: The data directory path has to be set by SetDATADIR().

◆ SetOMP()

void MURE::SetOMP ( int  n_thread)
inline

Set the processor number in OpenMP mode.

Set the processor number in OpenMP mode. In order to run MC code in multithreading (OpenMP), you have to specify the number of thread for the MC's exec.

TO BE NOTICED : this is effective ONLY if the MC exec is compiled with multi-threading support. This can be used together with MPI.

Parameters
n_thread: number of thread to use

< set the number of threads for parallel MC run

◆ SetOutermostCell()

void MURE::SetOutermostCell ( Cell c)
inline

◆ SetOutermostShape()

void MURE::SetOutermostShape ( Shape_ptr  s)
inline

Set the most outer shape.

The most external shape has to be defined when using for example poison control ; indeed, a keff evaluation is done using formula keff=(creation)/(absorption+leakage). The leakage are evaluated using F2 tally on the most outer shape of the geometry (i.e. the whole exterior). It can be also used for volume calculation

Parameters
s: the most outer Shape_ptr (exterior)

◆ SetPower()

void MURE::SetPower ( double  Power)
inline

< set the reactor power (in watts)

◆ SetPVM()

void MURE::SetPVM ( int  n_processor)

Set the processor number in PVM mode.

Set the processor number in PVM mode. In order to run MC in parallel (PVM), you have to specify the wanted processor number to MC's PVM exec. In case of MCNP4B the method for calling MCNP's PVM exec is different (don't use "x" in proc number: for MCNP4B, one use mcnp task n_processor n=... whereas for mcnp4C and above, one use mcnp task n_processorx1 n=...).

TO BE NOTICED : this is effective ONLY if the MC exec is compiled with PVM support.

Parameters
n_processor: number of processor to use

◆ SetReactionDataFileName()

void MURE::SetReactionDataFileName ( string  name = "AvailableReactionChart.dat")

Set Name of the Available reaction file for the chart.

This file is built by MURE/Evo/utils/CheckReaction and has to be put in the data directory. The aim of this file is to take all isotopes of "chart.jeff3.1.1" or file provided by user and to say whether or not cross-sections are available (cross-sections are read in BaseSummary.dat). WARNING: The data directory path has to be set by SetDATADIR().

◆ SetReactionDepth()

void MURE::SetReactionDepth ( int  depth = 10000)
inline

Set the maximum number of consecutive reactions to consider for evolution.

Set the maximum number of consecutive reactions to consider for evolution. Stop the reaction "propagation" after the ith consecutive reactions in order to cut nuclei trees. The default (10000) is so big that it allows all reactions (i.e. no cut on nuclei tree)

Parameters
depth: the maximum number of consecutive reactions(default=10000)

◆ SetReactionListInitMethod()

void MURE::SetReactionListInitMethod ( TSpecificFunctor< ReactionList > *  method)
inline

Set the ReactionList Init Method.

The ReactionList init methods is used by NucleiTree to find the allow reaction for a given ZAI. Up to now, you can use among 4 methods: ReactionList::InitJon(), ReactionList::InitFrancoTest(), ReactionList::InitFissionTest() and ReactionList::InitPTO(). The default is the latter one and it is based on automatic reaction detections according to binary nuclear data libraries. The way of given an other ReactionList Init method is: gMURE->SetReactionListInitMethod(new TSpecificFunctor<ReactionList>(0, &ReactionList::InitJon)); it has to be used before any cell definition.

Parameters
method: a pointer on the ReactionList Init Method

◆ SetReactionNumbersForcedCutVector()

void MURE::SetReactionNumbersForcedCutVector ( vector< int >  ReactionNumbersForcedCutUser)
inline

Set list of Reactions that have to be cut regardless of the cross sections and for all nuclei.

Sigma for these reactions are considered zero. Reaction are named by their SMURE number and not their MT number. (n, gamma) is 1 and not 102

◆ SetReactionThreshold()

void MURE::SetReactionThreshold ( double  sigma = 1e-2)
inline

< Set the reaction ratio threshold for ReactionList

◆ SetRealMCInputFileName()

void MURE::SetRealMCInputFileName ( string  Name)
inline

< Set Real MC Input File Name (e.g. inpXXX).

◆ SetRunMultiMC()

void MURE::SetRunMultiMC ( int  n)
inline

< set the number of run in multi MC runs

◆ SetSameTimeEnergyGridForAllTallies()

void MURE::SetSameTimeEnergyGridForAllTallies ( )

set that all tallies must use the same TimeEnergyGrid

◆ SetSerpentDopplerBroadening()

void MURE::SetSerpentDopplerBroadening ( )
inline

◆ SetShortestHalfLife()

void MURE::SetShortestHalfLife ( double  time = 3600)
inline

Set the shortest half time to consider for evolution.

Replace each nucleus (ZAI) of half life time shorter than this time by its daugthers. Erase your local ReactionList directory when you use/modify the time of this method.

Parameters
time: the shortest half time in second (default=3600s)

◆ SetSilentDebug()

void MURE::SetSilentDebug ( bool  flag = true)
inline

Set the Silent Debug mode on.

If SetMessageLevel is set to LOG_LEVEL_DEBUG, all LOG_DEBUG are printed. But if SetSilentDebug is used, only LOG_DEBUG of methods where a "int DODEBUG=1" is inserted are printed. Thus, using LOG_DEBUG, avoid to comment all "cout" when no debugging is wanted.

◆ SetSource()

void MURE::SetSource ( MCSource source)

Set the MC particle source.

The source declaration should be either a MCNPSource, either a SerpentSource ; for the latter only neutron are transported. You MUST use a SerpentSource withe the Serpent namespace and a MCNPSource with the MCNP namespace.

Parameters
source: either a MCNPSource or a SerpentSource

◆ SetSourceSphereCenter()

void MURE::SetSourceSphereCenter ( double *  O)
inline

< set the center of the source Sphere (stochastic volume calculation)

◆ SetSourceSphereRadius()

void MURE::SetSourceSphereRadius ( double  R)
inline

< set the radius of the source Sphere (stochastic volume calculation)

◆ SetSpecialCard()

void MURE::SetSpecialCard ( int  i,
string  str 
)
inline

< the vector of all Special card to write

◆ SetSpecialIsomerFileName()

void MURE::SetSpecialIsomerFileName ( string  name = "")

Set Special Isomer File name (see SpecialIsomer class)

◆ SetSpectrumType()

void MURE::SetSpectrumType ( string  type = "thermal")

Set the spectrum type.

The spectrum could be "thermal", "fast", or "spallation". This allows to take fission yield at 0.025eV, 500keV or 14MeV respectively. (To be noticed, if FP yield are not allways given for all these energies ; then the closest energy is chosen).

Parameters
type: the spectrum type (thermal", "fast", or "spallation")

◆ SetTallyNormalizationFactor()

void MURE::SetTallyNormalizationFactor ( double  val)
inline

set Flux normalization value.

The call to this method, by default, do not keep the power constant, but the flux.

Parameters
val: the number of particule per sec

◆ SetTemperatureMap() [1/2]

void MURE::SetTemperatureMap ( double *  T = nullptr,
int  NT = 0 
)

Set The TemperatureMap.

if NT=0, default temperature map is built (19 temperatures from 0, 300, 400...1900K) .

Parameters
T: array of temperature (the map)
NT: size of this array

◆ SetTemperatureMap() [2/2]

void MURE::SetTemperatureMap ( TemperatureMap TM)

◆ SetThermoHydraulicsRequired()

void MURE::SetThermoHydraulicsRequired ( bool  flag = true)
inline

◆ SetUseNewRandomSeed()

void MURE::SetUseNewRandomSeed ( long int  dbcn = - 1)

Use a new Random Seed number in MC run.

Set the random seed to dbcn if >0, else take a random value=1+2*rand().

Parameters
dbcn: the random seed use in the MC run.

◆ SetUserDefaultHydraulicModel()

void MURE::SetUserDefaultHydraulicModel ( )
inline

Build automatic tallies in multigroup run without using the perturbative materials.

Automatic tallies used in an reaction rates calculation (phi(E)) are build It doesn't build perturbatives materials which are used in a case of a fuel depletion IT MUST BE CALLED CAREFULLY it is used in some case of thermal coupling when the number of materials are very important and can overload the maximum number of materials allowed in MCNP (100, 000) Updates phi(E) in multigroup run.

Only if BuildTHTalliesMultiGroup() is used

◆ SetUserGeometryInputFile()

void MURE::SetUserGeometryInputFile ( string  name)

set the file name of the user defined MCNP geometry

◆ SetVarianceVolumeWarning()

void MURE::SetVarianceVolumeWarning ( double  variance = 0.005)
inline

< set the warning message threshold in stochastic volume precision

◆ SetVolumeNPS()

void MURE::SetVolumeNPS ( int  nps = 400000)
inline

< Set source neutron number for stochastic volume calculation

◆ SetXSDIRName()

void MURE::SetXSDIRName ( string  acefile = "xsdir")
inline

< set the xsdir/xsdata name

◆ SetZAIsForcedCutVector()

void MURE::SetZAIsForcedCutVector ( vector< ZAI * >  ZAIsForceCutUser)
inline

Set list of nuclei that have to be cut regardless of their half life

◆ StartGUI()

void MURE::StartGUI ( )

Start the TCL GUI (Examtree.tcl) to see the Nueclei Tree.

◆ SumAllCellToBetaCalculation()

void MURE::SumAllCellToBetaCalculation ( )

Sums all beta by cell to obtain the total one.

◆ SumUpNucleiError()

void MURE::SumUpNucleiError ( ostream &  Out = cerr)

Write in the chosen output the list of the nuclei with problems, and the type of these problems.

◆ UpdateKeff()

void MURE::UpdateKeff ( )

Read MC's Output file to set Keff value (can be used without evolution)

◆ UseEnergyBinsFile()

void MURE::UseEnergyBinsFile ( string  Filename)

uses the filename provided for building the energy binning. (single column file with energies in eV)!

◆ WriteGlobalNucleiTree()

void MURE::WriteGlobalNucleiTree ( string  fname = "UnionOfAllTrees.dat")

write the union of all nuclear trees (evolving nuclei in globalnucleivector)

Friends And Related Function Documentation

◆ MureTrojan

friend class MureTrojan
friend

Member Data Documentation

◆ fAddMaterial

bool MURE::fAddMaterial
private

false if you don't want to add material in fMaterialVector

◆ fAutoNumberFileName

bool MURE::fAutoNumberFileName
private

whether or not use automatic numbering of evolving MC input files (e.g. XXX for inp base name)

◆ fBasePriority

BasePriority* MURE::fBasePriority
private

The Base Priority wish.

◆ fBaseSummary

vector< string > MURE::fBaseSummary
private

Table to put the Base summary file in memory for quick access.

◆ fBaseSummaryFileName

string MURE::fBaseSummaryFileName
private

Name of the Base Summary file to find info on availlable data bases.

◆ fBetaCalculationRequired

bool MURE::fBetaCalculationRequired
private

True if delayed neutron fraction calculation wanted.

◆ fCellOfUnknownVolume

vector< Cell *> MURE::fCellOfUnknownVolume
private

Vector of Cell of Unknown volume used in tallies.

◆ fCellVector

vector< Cell *> MURE::fCellVector
private

the vector of all Cell to write

◆ fCOBRACalculationRequired

bool MURE::fCOBRACalculationRequired
private

If we are running iteration between MCNP and COBRA.

◆ fComment

string MURE::fComment
private

first line comment in MC file

◆ fConnectorPlugin

ConnectorPlugin* MURE::fConnectorPlugin
private

Pointer to couple MURE with MCNP, Serpent...

◆ fDataDirectoryName

string MURE::fDataDirectoryName
private

data directory name for all data files

◆ fDisableViolentSimplifyNode

bool MURE::fDisableViolentSimplifyNode
private

Material number for which tallying of isotopes should happen.

disable the violent symplification in Node::Simplify for 1st attempt to obtain cell volumes

◆ fEnergyBins

vector< double > MURE::fEnergyBins
private

vector of Energies in eV read from the fEnergyBinsFileName file that will be put in a MureTimeEnergyGrid by a tally

◆ fEnergyBinsFileName

string MURE::fEnergyBinsFileName
private

name of the user provided data file with desired energy binning.

◆ fEnsdfDataDirectoryName

string MURE::fEnsdfDataDirectoryName
private

data directory name for ENSDF data (added B.LENIAU)

◆ fESpectrumTallyNumber

int MURE::fESpectrumTallyNumber
private

Number of the Tally for Energy flux spectrum.

◆ fEvolutionRequired

bool MURE::fEvolutionRequired
private

If an Evolution is required (i.e. many MC's run steps)

◆ fEvolutionSolver

EvolutionSolver* MURE::fEvolutionSolver
private

The evolution pointer connector.

◆ fExtendedReactionList

bool MURE::fExtendedReactionList
private

◆ fFirstContinuousZIndexInBaseSummary

vector< int > MURE::fFirstContinuousZIndexInBaseSummary
private

Store line number where to go to find Z entries for continuous energy in Base Summary.

◆ fFirstThermalZIndexInBaseSummary

vector< int > MURE::fFirstThermalZIndexInBaseSummary
private

Store line number where to go to find Z entries for thermal data in Base Summary.

◆ fFissionReleasedFN

string MURE::fFissionReleasedFN
private

The name of fission energy released file.

◆ fForceConstRandomSeedForMultiRun

bool MURE::fForceConstRandomSeedForMultiRun
private

◆ fFPASCIIFileName

string MURE::fFPASCIIFileName
private

Name ASCII file for Fission Products.

◆ fFPBinaryFileName

string MURE::fFPBinaryFileName
private

Name Binary file for Fission Products.

◆ fGlobalNucleiVector

vector< Nucleus_ptr > MURE::fGlobalNucleiVector
private

Union of all the nuclei used in all the evolving materials.

◆ fGlobalZAIDepletionTallyList

vector<ZAI *> MURE::fGlobalZAIDepletionTallyList
private

◆ fIsAutoXSDIR

bool MURE::fIsAutoXSDIR
private

Whether the XSDIr must be automtically built or not.

◆ fIsBannerPrinted

bool MURE::fIsBannerPrinted = false
staticprivate

Print the banner only once.

◆ fIsBaseSummaryRead

bool MURE::fIsBaseSummaryRead
private

Flag to say if Base summary has been read in or not.

◆ fIsConnectorPluginCalled

bool MURE::fIsConnectorPluginCalled
private

◆ fIsFromVolumeCalculation

bool MURE::fIsFromVolumeCalculation
private

Flag that control copy/delete of MURE depending on the call time.

◆ fIsSameTimeEnergyGridForAllTallies

bool MURE::fIsSameTimeEnergyGridForAllTallies
private

◆ fKeepOnlyFissionProductSelection

bool MURE::fKeepOnlyFissionProductSelection
private

true if all fission products are not used for evolution

◆ fKeepOnlyFissionProductSelectionFN

string MURE::fKeepOnlyFissionProductSelectionFN
private

The file name that contains the FP to keep.

◆ fKeff

double MURE::fKeff
private

Current Keff of the problem.

◆ fKeff_Err

double MURE::fKeff_Err
private

Current Error on current Keff of the problem.

◆ fLastCellNum

int MURE::fLastCellNum
private

last Cell number used

◆ fLastMaterialNum

int MURE::fLastMaterialNum
private

last Material number used

◆ fLastSurfaceNum

int MURE::fLastSurfaceNum
private

last Surface number used

◆ fLastTallyNum

int MURE::fLastTallyNum[8]
private

last Tally of type i number used

◆ fLastTransformNum

int MURE::fLastTransformNum
private

last Transformation used

◆ fLastUniverseNum

int MURE::fLastUniverseNum
private

last Universe number used

◆ fListOfWantedNucleiFN

string MURE::fListOfWantedNucleiFN
private

File name of the list of wanted nuclei (and ONLY these)

◆ fMassDataFileName

string MURE::fMassDataFileName
private

File where to find the nuclear mass data.

◆ fMaterialForTallyNormalization

vector<int> MURE::fMaterialForTallyNormalization
private

Material numbers to be used for partial normalization to power.

◆ fMaterialUpdated

bool MURE::fMaterialUpdated
private

flag indicating that Materials have been updated

◆ fMaterialVector

vector< Material *> MURE::fMaterialVector
private

the vector of all Material to write

◆ fMatnumDepletionTallyList

vector<int> MURE::fMatnumDepletionTallyList
private

List of ZAIs that should be tallied in multigroup mode.

◆ fMCExec

string MURE::fMCExec
private

name of MC exec(mcnp5, sss2, ...)

◆ fMCInputBaseFileName

string MURE::fMCInputBaseFileName
private

The Base Name of the input file name generated for MC (such as "inp")

◆ fMCInputFileName

string MURE::fMCInputFileName
private

The final file name for MC (such as inpXXX for step XXX of an Evolution)

◆ fMCNPThermoRunNumber

int MURE::fMCNPThermoRunNumber
private

Current ThermoHydraulics MCNP Run Number.

◆ fMCNucleusThreshold

double MURE::fMCNucleusThreshold
private

the threshold to decide to write a nucleus in MC's input file

◆ fMCRunDirectory

string MURE::fMCRunDirectory
private

name of the directory in which the MC output files are written

◆ fMeanEnergySpectrum

double MURE::fMeanEnergySpectrum
private

The mean energy spectrum to consider (for FP yield)

◆ fMeshTallyVector

vector< MeshTally *> MURE::fMeshTallyVector
private

the vector of all Mesh Tally to write

◆ fMessageLevel

int MURE::fMessageLevel
private

message level treshold

◆ fMode

string MURE::fMode
private

the mode MCNP card (N, N P, N E, P E, P, or N P E). For Serpent, only mode N is taken.

◆ fMPI

bool MURE::fMPI
private

True for a MC MPI parallel run.

◆ fMPIExec

string MURE::fMPIExec
private

MPI Exec name to launch MC (mpiexec, mpirun, ...)

◆ fMUREInputGeometry

bool MURE::fMUREInputGeometry
private

True if the geometry is a MURE geometry and false for a user defined MCNP geometry.

◆ fNaturalIsotopeMassFileName

string MURE::fNaturalIsotopeMassFileName
private

File where to find the nuclear mass data for natural isotopes.

◆ fNprocessors

int MURE::fNprocessors
private

Number of processor in PVM/MPICH/OpenMP MC run.

◆ fNSigmaFisPhiTotalOfNucleus

vector< double > MURE::fNSigmaFisPhiTotalOfNucleus
private

For a nucleus : sum of reaction rates.

◆ fNucleiChartFileName

string MURE::fNucleiChartFileName
private

File where to find radioactive decays modes &branching ratios.

◆ fNucleiErrorMap

map< Nucleus *, string > MURE::fNucleiErrorMap
private

Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely)

◆ fNumberOfIterationNTH

int MURE::fNumberOfIterationNTH
private

Number of Neutronics/thermalhydraulics iterations required at each fuel depletion step.

◆ fOMP

int MURE::fOMP
private

number of Threads in OpenMP parallel compilation of MC.

◆ fOutermostCell

Cell* MURE::fOutermostCell
private

◆ fOutermostShape

Shape_ptr MURE::fOutermostShape
private

The outer Shape to evaluate neutron leakage or volume.

◆ fPinCellVector

vector< PinCell *> MURE::fPinCellVector
private

the vector of all PinCell to write

◆ fPVM

bool MURE::fPVM
private

True for a MC PVM parallel run.

◆ fRandomSeedGenerator

long int MURE::fRandomSeedGenerator
private

the random seed value

◆ fReactionDataFile

string MURE::fReactionDataFile
private

File where to find if reaction are available or not.

◆ fReactionDepth

int MURE::fReactionDepth
private

The maximum number of consecutive reactions.

◆ fReactionListInitMethod

TFunctor* MURE::fReactionListInitMethod
private

ReactionList Init tMethod (e.g. InitPTO())

◆ fReactionNumbersForcedCutVector

vector< int > MURE::fReactionNumbersForcedCutVector
private

List of reactions type that should not be considered even if the cross section are bigger than fReactionThreshold. Given by SMURE reaction number and not MT number.

◆ fReactionThreshold

double MURE::fReactionThreshold
private

the reaction ratio threshold for ReactionList

◆ fReactivityCoeffsSource

MCSource* MURE::fReactivityCoeffsSource
private

Source Used for reactivity coeffs calculations.

◆ fRegisterElasticXSinDATA

bool MURE::fRegisterElasticXSinDATA
private

true if elastic scattering cross section registered in the DATA file next to other XSs

◆ fRunMultiMC

int MURE::fRunMultiMC
private

Number of run in a Multi MC mode.

◆ fSerpentDopplerBroadening

bool MURE::fSerpentDopplerBroadening
private

◆ fSetAllFissionEnergies

double MURE::fSetAllFissionEnergies
private

If > zero, then we will override correct fission energies with this value.

◆ fSetESpectrum

bool MURE::fSetESpectrum
private

flag for tallying Energy Bins in all "True" Cells (Cells which do contain a non void material)

◆ fShapeOfUnknownArea

vector< Shape *> MURE::fShapeOfUnknownArea
private

Vector of Shape_ptr of Unknown area used in tallies.

◆ fShortestHalfTimeThres

double MURE::fShortestHalfTimeThres
private

The shortest half life considered for a nucleus.

◆ fSilentDebug

bool MURE::fSilentDebug
private

generally suppress the debug messages

◆ fSourceSphereO

double* MURE::fSourceSphereO
private

Sphere source center used in stochastic volume calculation.

◆ fSourceSphereR

double MURE::fSourceSphereR
private

Sphere source radius used in stochastic volume calculation.

◆ fSpecialCard

vector< string > MURE::fSpecialCard
private

the vector of all Special card to write

◆ fSpecialIsomerFileName

string MURE::fSpecialIsomerFileName
private

file that explain the particular treatment of special isomers

◆ fSpecialIsomerVector

vector< SpecialIsomer > MURE::fSpecialIsomerVector
private

vector of special Isomer treatment (like capture on Am241)

◆ fSpecialSurfaceCard

vector< string > MURE::fSpecialSurfaceCard
private

the vector of all Special Surface card

◆ fStartTime

int MURE::fStartTime
private

The computer clock time at the start of the MURE run.

◆ fSurfaceCardVector

vector< SurfaceCard *> MURE::fSurfaceCardVector
private

the vector of all Surface to write (in the MC output format)

◆ fTallyVector

vector< MureTally *> MURE::fTallyVector
private

the vector of all Tally to write

◆ fTemperatureMap

TemperatureMap* MURE::fTemperatureMap
private

The temperature Map.

◆ fThermoHydraulicsRequired

bool MURE::fThermoHydraulicsRequired
private

If we are running MCNP many times with ThermoHydraulics.

◆ fTimeEnergyGrids

vector< MureTimeEnergyGrid *> MURE::fTimeEnergyGrids
private

◆ fTransformationVector

vector< Transformation *> MURE::fTransformationVector
private

the vector geometrical transformation

◆ fTrueCellVector

vector< Cell *> MURE::fTrueCellVector
private

Vector of all true Cells (which are non void) which shall be written to MC (which fNumber is not negative)

◆ fUseEnergyBinsFile

bool MURE::fUseEnergyBinsFile
private

flag for using a user provided data file with desired energy binning.

◆ fUserDefaultHydraulicModel

bool MURE::fUserDefaultHydraulicModel
private

Use specific hydraulics model for CHF.

◆ fUserGeometryInputFile

string MURE::fUserGeometryInputFile
private

The input file for the user given MCNP geometry.

◆ fVarianceVolumeWarning

double MURE::fVarianceVolumeWarning
private

warning message threshold in stochastic volume precision

◆ fVolumeNPS

int MURE::fVolumeNPS
private

source neutron number for stochastic volume calculation

◆ fXSDIRName

string MURE::fXSDIRName
private

the xsdir/ACElib name

◆ fZAIDepletionTallyList

vector< vector<ZAI *> > MURE::fZAIDepletionTallyList
private

List of ZAIs that should be tallied in multigroup mode for each material.

◆ fZAIsForcedCutVector

vector< ZAI *> MURE::fZAIsForcedCutVector
private

List of ZAI that should not be considered even if their half life are longer than fShortestHalfTimeThres.


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

MURE Project, documentation generated by Doxygen 1.9.1 - Mon Jan 3 2022