MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Private Member Functions | Private Attributes | 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. All "numbers" are set to 0. More...
 
 MURE (const MURE &m)
 Copy constructor. More...
 
 ~MURE ()
 Destructor. More...
 
Evolution
void Evolution (vector< double >T, int Start=0, bool BrutalStop=false)
 Perform the evolution. More...
 
void SetPredictorCorrector (bool middle_step=false)
 Use the Predictor-Corrector method for evolution. More...
 
bool IsPredictorCorrector ()
 return true when PC method is used More...
 
bool IsPredictorStep ()
 return true for the predictor step More...
 
double GetPCEvaluationTime ()
 return corrector evaluation time More...
 
void FindPredictorCorrectorStep ()
 Find the corrector time for PC method. More...
 
void UseMultiGroupTallies (bool StdTallyFor238U=false)
 Use Multi group tallies in the evolution. More...
 
void SetMultiGroupDecadeMultiplcator (int N=1)
 set the number of Multi group flux per decade More...
 
bool IsMultiGroupTalliesUsed ()
 return true for Multi group flux MCNP run More...
 
bool IsTHMultiGroupTalliesUsed ()
 return true for Thermal hydraulics Multi group flux MCNP run More...
 
void AddCellToGroup (Cell *TheCell, int GroupNumber=0)
 Add a Cell to a Group. More...
 
vector< Cell * > & GetCellGroup (int GroupNumber)
 return the cell vector of the group GroupNumber More...
 
int NumberOfCellGroup ()
 return the number of cell group More...
 
Evolution control
void SetPower (double Power)
 set the reactor power (in watts) More...
 
double GetPower ()
 returns the reactor power (in watts) More...
 
double GetInitialHNMass ()
 returns the mass of heavy nuclei in tons More...
 
void SetEvolutionControl (EvolutionControl *EC)
 set the EvolutionControl object More...
 
EvolutionControlGetEvolutionControl ()
 returns the EvolutionControl object More...
 
void SetMaterialControl ()
 Set the MaterialControl mode. More...
 
bool GetMaterialControl ()
 Say if MaterialControl mode is used. More...
 
ControlMaterialGetControlMaterial ()
 returns the material defined as neutron poison by the user. More...
 
void AddControlRodCell (Cell *TheCell)
 say that the cell is used as a control rod More...
 
vector< Cell * > & GetControlRodCell ()
 return the vector of control rod cells More...
 
ValErr_t GetAbs ()
 returns the value of global total absorptions (code -2) in the whole geometry. More...
 
ValErr_t GetN2N ()
 returns the (n,2n) rate More...
 
ValErr_t GetN3N ()
 returns the (n,3n) rate More...
 
ValErr_t GetFiss ()
 returns the fission rate More...
 
ValErr_t GetNuFiss ()
 returns the fission*Nu More...
 
ValErr_t GetNeutronLosses ()
 returns the neutron losses (escape) More...
 
void SetGlobalRates ()
 Set the global rates (over all cells) for fission, n2n, ... More...
 
void SetBrutalStopKValue (double brutalstopvalue)
 Set the Brutal Stop Value. More...
 
void SetControlRate (Reaction r, ValErr_t rate)
 Set global reaction rates when evolution is controled by ControlMaterial. More...
 
void SetControlRate (int ReactionCode, ValErr_t rate)
 Set global reaction rates when evolution is controled by ControlMaterial. More...
 
ValErr_t GetControlRate (Reaction r)
 return the global reaction rates when evolution is controled by ControlMaterial More...
 
ValErr_t GetControlRate (int ReactionCode)
 return the global reaction rates when evolution is controled by ControlMaterial More...
 
void SetOutermostShape (Shape_ptr s)
 Set the most outer shape. More...
 
Shape_ptr GetOutermostShape ()
 returns the most outer shape_ptr More...
 
void CalculateInitialHNMass ()
 Calculates the initial Heavy Nuclei mass in Ton. More...
 
double GetBurnUp ()
 Calculates burn-up in MWth.d/t of initial heavy nuclei in the fuel (evolving materials). More...
 
MCNP neutron source
void SetSource (MCNPSource *source)
 Set the (true) MCNP neutron source (kcode, ...) More...
 
MCNPSourceGetSource ()
 Get the (true) MCNP neutron source (kcode, ...) More...
 
void UsePreviousRunSource (string FirstSource="")
 use a previous kcode source for mcnp. More...
 
bool GetUsePrevSource ()
 return true if an old "s" file is used as MCNP source More...
 
void SetUsePrevSource (bool flag=true)
 say whether or not to use an old "s" file More...
 
string GetSourceFileName ()
 return the name of the input source file for kcode run More...
 
void SetSourceFileName (string name)
 set the name of the input source file for kcode run More...
 
void SetOriginalSourceFileName (string name)
 set the name of the original input source file for kcode run More...
 
Particle modes
void SetModeN ()
 Set the Neutron mode (default) More...
 
void SetModeNP ()
 Set the Neutron Photon mode. More...
 
void SetModeNE ()
 Set the Neutron Electron mode. More...
 
void SetModeNPE ()
 Set the Neutron Photon Electron mode. More...
 
void SetModePE ()
 Set the Photon Electron mode. More...
 
void SetModeP ()
 Set the Photon mode (Add By Leniau B.) More...
 
void SetMode (string MyMode="N")
 Set a general MCNP run mode. More...
 
string GetMode ()
 returns MCNP mode (particle transported) More...
 
Reactions, spectrum, temperatures, data base
void SetSpectrumType (string type="thermal")
 Set the spectrum type. More...
 
double GetSpectrumType ()
 returns the mean energy of the spectrum. More...
 
void SetTemperatureMap (double *T=0, int NT=0)
 Set The TemperatureMap. More...
 
TemperatureMapGetTemperatureMap ()
 returns the Temperature Map More...
 
BasePriorityGetBasePriority ()
 returns the BasePriority More...
 
void SetBasePriority (BasePriority *UserBasePriority)
 Set the BasePriority. More...
 
void SetReactionListInitMethod (TSpecificFunctor< ReactionList > *method)
 Set the ReactionList Init Method. More...
 
TFunctorGetReactionListInitMethod ()
 return the fReactionListInitMethod More...
 
Data files & directories
void SetDATADIR (string name="")
 Set the data directory path to name. More...
 
string GetDATADIR ()
 returns the Data directory where data files are stored More...
 
void SetEnsdfDATADIR (string name="")
 Set the ENSDF data directory path to name. More...
 
string GetEnsdfDATADIR ()
 
void SetNucleiChartFileName (string name="chart.JEF3T")
 Set Name of the decay mode file. More...
 
string GetNucleiChartFileName ()
 Set Name of the decay mode file. More...
 
void SetReactionDataFileName (string name="AvailableReactionChart.dat")
 Set Name of the Available reaction file for the chart. More...
 
string GetReactionDataFileName ()
 Name of the Available reaction file for the chart. More...
 
void SetMassDataFileName (string name="Mass.dat")
 Set name of the isotopes masses file. More...
 
string GetMassDataFileName ()
 returns the name of the isotopes masses file More...
 
void SetNaturalIsotopeMassFileName (string name="NaturalIsotopeMass.dat")
 Set name of the NATURAL isotopes masses file. More...
 
string GetNaturalIsotopeMassFileName ()
 returns the name of the natural isotopes masses file More...
 
void SetFPASCIIFileName (string name="FPavailable.dat")
 Set Name ASCII file for Fission Products. More...
 
char * GetFPASCIIFileName ()
 returns ASCII file name for FP More...
 
void SetFPBinaryFileName (string name="FPyield.bin")
 Set Name Binary file for Fission Products. More...
 
char * GetFPBinaryFileName ()
 returns Binary file name for FP More...
 
void SetBaseSummaryFileName (string name="BaseSummary.dat")
 set the BaseSummary.dat file name More...
 
string GetBaseSummaryFileName ()
 return the BaseSummary.dat file name More...
 
void ReadEvolvingCellCompositions (string filename)
 Read Evolving Compositions for re-start after a crash; not called normally. More...
 
void WriteEvolvingCellCompositions (string filename)
 Write Evolving Compositions for re-start after a crash; not called normally. More...
 
void ReadBinaryEvolutionData (string filename)
 Read Compositions, time, volume from one evolution step from a binary file. More...
 
void WriteBinaryEvolutionData (string filename)
 Write all the information from one evolution step to a binary file. More...
 
void ReadEvolutionData (string filename)
 Read Compositions, time, volume from one evolution step from an ascii file. More...
 
void WriteEvolutionData (string filename)
 Write all the information from one evolution step to an ascii file. More...
 
void WriteKeffData ()
 Write only information concerning Keff from one evolution step to file KDATA. More...
 
void WriteNFissionsData ()
 Write only information concerning Nfissions from one evolution step to file FDATA. More...
 
void ReadSpecialIsomerFile ()
 Read Special Isomer File (see SpecialIsomer class) More...
 
void SetSpecialIsomerFileName (string name="")
 Set Special Isomer File name (see SpecialIsomer class) More...
 
MCNP basics
void SetMCNPRunDirectory (string name="MUREOutput", string option="")
 Set the MCNP run directory name. More...
 
string GetMCNPRunDirectory ()
 Returns mcnp run directory name. More...
 
void BuildMCNPFile (string FileString="")
 Generate and Write file on disk (find missing volumes before) More...
 
void SetMCNPExec (string Exec="mcnp4c")
 Set the name of MCNP exec. More...
 
string GetMCNPExec ()
 Get the name of the MCNP exec. More...
 
string GetMCNPInputFileName ()
 returns mcnp input Base file name (e.g. "inp" for an evo step inpXXX). More...
 
string GetRealMCNPInputFileName ()
 returns mcnp input file name(eg. inpXXX). More...
 
string GetMFileName ()
 Returns filename of MCNP "m" file. More...
 
void SetMCNPInputFileName (string Name)
 Set MCNP Input Base File Name (e.g. "inp" for an evo step inpXXX). More...
 
void SetRealMCNPInputFileName (string Name)
 Set Real MCNP Input File Name (e.g. inpXXX). More...
 
void RunMCNP ()
 Run MCNP!!!! More...
 
void RunMultiMCNP (int n)
 Run n MCNP and add "m" file to make one. More...
 
void SetRunMultiMCNP (int n)
 set the number of run in multi MCNP More...
 
void FindMCNPRunDirectory (string OriginalMCNPRunDir)
 Find the MCNP Run Directory according to evoluion step (PC, Partial run,...) More...
 
void ConstructFileName (string FileName)
 Construct MCNP input filename. More...
 
string ConstructFileName (string FileName, int EvoNum, int ThermoNum=-1)
 Construct a temporary MCNP input filename. More...
 
void SetUseNewDBCN (long int dbcn=-1)
 Use a new DBCN number MCNP DBCN card. More...
 
Output control
void SetRemove_r_files (bool flag=true)
 remove MCNP "r" file during the evolution More...
 
bool GetRemove_r_files ()
 returns flag to remove MCNP "r" file during the evolution More...
 
void SetWriteBinaryData (bool flag=true)
 Set if the binary evolution output (BDATA) should be printed. More...
 
void SetWriteASCIIData (bool flag=true)
 Set if the ascii evolution output (DATA) should be printed. More...
 
bool IsWriteBinaryData ()
 Return whether the binary evolution output (BDATA) should be printed. More...
 
bool IsWriteASCIIData ()
 Return whether the ascii evolution output (DATA) should be printed. More...
 
int GetMessageLevel ()
 returns the minimal level of printed messages More...
 
void SetMessageLevel (int level)
 Set the minimal level of printed messages. More...
 
bool GetSilentDebug ()
 return true for if SilentDebug is on More...
 
void SetSilentDebug (bool flag=true)
 Set the Silent Debug mode on. More...
 
MCNP Parallel Run Mode
void SetPVM (int n_processor, bool mcnp4b=false)
 Set the processor number in PVM mode. More...
 
void SetMPI (int n_processor, string MPIExec="mpiexec")
 Set the processor number in MPICH mode. More...
 
void SetOMP (int n_thread)
 set the number of threads for parallel mcnp run More...
 
int GetOMP ()
 return thread number for parallel mcnp run More...
 
int GetNProcessors ()
 return processors number for pvm/mpich run More...
 
bool IsMCNP4B ()
 return true if MCNP version is 4b (change the way of calling TASK) More...
 
MCNP special methods
void AddSpecialSurface (string)
 Add card in the Surface Block of MCNP. More...
 
void AddSpecial (string)
 Add card in the General Data Block of MCNP. More...
 
void SetComment (string Comment="This comment is never read...")
 First line of MCNP file. More...
 
string GetComment ()
 First line of MCNP file. More...
 
void SetPRDMP (string prdmp="2J -1 1")
 Set the PRDMP MCNP card. More...
 
void WriteMCNPFileNoTallies (string FileName="inp", bool tmpvol=false)
 fms function for K reactivity coeffs calculations More...
 
void WriteLine (string line, ostream &Out=cout, int IsComment=0, int IsTruncated=0, char separator='&')
 Write a MCNP line. More...
 
Flux normalization
void SetAllFissionEnergies (double Energy=2.0e08)
 Set the fission energy released for all nuclei. More...
 
double GetFissionEnergies ()
 Get fission energy released used for all nuclei. More...
 
void SetFissionReleasedFile (string name)
 Set the fission energy released from a file. More...
 
string GetFissionReleasedFile ()
 Get fission energy released file used. More...
 
void FitTallyNormalizationFactor ()
 Find the fitting parameters for TNF. More...
 
bool IsFitTallyNormalizationFactor ()
 return whether the TNF has to be fitted. More...
 
void SetFitTallyNormalizationFactor ()
 Set if the TNF has to be fitted. More...
 
int GetMCNPFissionsPerSecondSize ()
 returns the size of fissions/s zai vector. More...
 
double GetMCNPFissionsPerSecond (int i)
 returns the ith total number of fissions/s. More...
 
void SetMCNPFissionsPerSourceNeutron (int i, double val)
 set the total number of fissions/s for ZAI i. More...
 
void AddToMCNPFissionsPerSourceNeutron (int i, double val)
 Add val to total number of fissions/s for ZAI i. More...
 
double NormalizeMCNPFissionsPerSecond ()
 Returns the normalization factor. More...
 
void UpdateTallyNormalizationFactor ()
 update tally normalization factor according to power More...
 
double GetTallyNormalizationFactor ()
 returns the tally normalization factor More...
 
void SetTallyNormalizationFactor (double val)
 
void SetCorrectNormalizationFactor (bool flag=true)
 Tibor's flag for correcting all tallies. More...
 
bool GetCorrectNormalizationFactor ()
 return Tibor's flag More...
 
Runge-Kutta
void SetNrk (int Nrk=10)
 Set the number of Runge-Kutta step. More...
 
void SetDTRK (double dt=-1)
 Set the approximate Runge-Kutta step. More...
 
void SetMaxDtRK (double dtmax=-1)
 Set the approximate Maximum Runge-Kutta step. More...
 
int GetNrk ()
 
void SetXe135Equilibrium (double t=3 *9.14 *3600)
 Set Xe-135 special treatment in RK integration. More...
 
bool IsXe135Equilibrium ()
 return true when this treatment is used More...
 
double GetXe135EquilibriumTime ()
 return the time from which equilibrium is "imposed" More...
 
Time and steps
int FindLastMCNPRunNumber ()
 Find number of last MCNP run in the MCNP directory. More...
 
void SetCurrentMCNPTime (double time)
 set Current MCNP time in case of Evolution More...
 
double GetCurrentMCNPTime ()
 returns Current MCNP time in case of Evolution More...
 
void SetNextMCNPTime (double time)
 set Next MCNP time in case of Evolution More...
 
double GetNextMCNPTime ()
 returns Next MCNP time in case of Evolution More...
 
void SetCurrentTime (double time)
 set Current time in case of Evolution More...
 
double GetCurrentTime ()
 returns Current time in case of Evolution More...
 
double GetCurrentRKStep ()
 returns current Runge Kutta step More...
 
int GetCurrentRKNumber ()
 returns current Runge Kutta number More...
 
int GetMCNPRunNumber ()
 returns current MCNP run number More...
 
int GetMCNPThermoRunNumber ()
 returns current MCNP run number for thermo More...
 
void SetMCNPThermoRunNumber (int value=0)
 returns current MCNP run number for thermo More...
 
void IncreaseMCNPThermoRunNumber ()
 This is used in ThermoCoupling.cxx. More...
 
double GetTimeUnitConverter ()
 use only for pretty print More...
 
string GetTimeUnit ()
 use only for pretty print More...
 
void SetTimeUnit (double t)
 use only for pretty print More...
 
MCNP partial run
void SetPartialMCNPRun (bool flag=true)
 Set the Partial Run mode. More...
 
bool IsPartialMCNPRun ()
 return whereas Partial Run mode is used More...
 
bool IsPartialParticleMCNPRun ()
 return whereas in a Partial Run mode, it is the Partial or the full run More...
 
void SetPartialMCNPRunDirectory (string name="PartialRun")
 Set The Partial Run directory name. More...
 
void SetSourcePartialFactor (int N=2)
 set the fSourcePartialFactor for Partial Run mode More...
 
int GetSourcePartialFactor ()
 return the fSourcePartialFactor for Partial Run mode More...
 
Nuclei Tree Seclection
void KeepOnlyFissionProductSelection (string name="")
 Use only some fission products for evolution. More...
 
string GetKeepOnlyFissionProductSelectionFN ()
 return the file name that contains the FP to keep More...
 
bool IsOnlyFissionProductSelection ()
 return true if all fission products are not used for evolution More...
 
void SetReactionThreshold (double sigma=1e-2)
 Set the reaction ratio threshold for ReactionList. More...
 
double GetReactionThreshold ()
 Get the reaction ratio threshold for ReactionList. More...
 
void SetMCNPNucleusThreshold (double epsilon=1e-6)
 Set threshold to decide to write a nucleus in MCNP. More...
 
double GetMCNPNucleusThreshold ()
 returns the threshold to decide to write a nucleus More...
 
void SetListOfWantedNucleiFN (string name)
 Set the List of Wanted Nuclei file name. More...
 
string GetListOfWantedNucleiFN ()
 returns the List of Wanted Nuclei file name More...
 
void SetShortestHalfLife (double time=3600)
 Set the shortest half time to consider for evolution. More...
 
double GetShortestHalfLife ()
 return the shortest half time to consider for evolution. More...
 
void SetReactionDepth (int depth=10000)
 Set the maximum number of consecutive reactions to consider for evolution. More...
 
int GetReactionDepth ()
 return the maximum number of consecutive reactions More...
 
Thermal-hydraulics methods
void RebuildPerturbativeMaterials ()
 Rebuild Perturbative Materials. More...
 
void RebuildTallies ()
 Rebuild Tallies. More...
 
vector< ReactorMesh * > GetReactorMeshVector ()
 Returns the reactor mesh vector. More...
 
void SetNewReactorMeshObject (ReactorMesh *RM)
 Add a new ReactorMesh Object into the vector. More...
 
void BuildCOBRAFiles ()
 Build COBRA files. More...
 
void SetCOBRACalculationRequired (int NumberOfIteration)
 
void SetThermoHydraulicsRequired (bool flag=true)
 
bool IsThermoHydraulicsRequired ()
 
void SetUserDefaultHydraulicModel ()
 
Miscellaneous methods
void StartGUI ()
 Start the user interface to see results. More...
 
void PlotGeometry (bool Continue=0)
 Plot MCNP File Geometry. Flag tells whether to stop MURE or not. More...
 
void SetEvolutionRequired (bool flag=true)
 say that evolution is needed or not More...
 
bool IsEvolutionRequired ()
 returns true if evolution is needed More...
 
void WriteGlobalNucleiTree (string fname="UnionOfAllTrees.dat")
 write the union of all nuclear trees (evolving nuclei in globalnucleivector) More...
 
void IntegrateMassInEvolvingCells ()
 Sum all the evolving masses in the problem. More...
 
double GetTotalAtoms ()
 
double GetKeff ()
 returns the value of the total combinated estimation of the Keff of the current run More...
 
double GetKeff_Err ()
 returns the error associated to the value of the total combinated estimation of the Keff of the current run More...
 
void SetKeff (double k)
 Set the Keff to k. More...
 
void UpdateKeff ()
 Read in "m" file keff value (can be used without evolution) More...
 
void AddToGlobalNucleiVector (Nucleus_ptr &nuc)
 add a nucleus to GlobalNucleiVector More...
 
void AddToNucleiErrorMap (Nucleus *nuc, string ErrType)
 add a ZAI to NucleiErrorMap with its problem type More...
 
void SumUpNucleiError (ostream &Out=cerr)
 Write in the chosen output the liste of the nuclei with problems, and the type of these problems. More...
 
vector< Nucleus_ptrGetGlobalNucleiVector ()
 Returns the global nuclei vector. More...
 
map< Nucleus *, string > & GetNucleiErrorMap ()
 Returns the Error storing map. More...
 
void SetAutoXSDIR (bool cond=true)
 Tells MURE to build its own XSDIR file. More...
 
void BuildXSDIR ()
 Builder method : write the xsdir file. More...
 
void RemoveXSDIR ()
 remove xsdir More...
 
string GetXSDIRName ()
 return the XSDIR name More...
 
void SetESpectrum ()
 set flag to tally for energy flux spectrum in all cells to true. More...
 
void UseEnergyBinsFile (string Filename)
 uses the filename provided for building the energy binning. (single column file with energies in eV)! More...
 
bool IsCooling (int MCNPRunNumber)
 fms test function More...
 
void SetCooling (vector< bool > C)
 fms test function More...
 
void SetMCNPUserDefinedGeometry ()
 Tell that it is a user defined MCNP geometry. More...
 
bool IsMCNPUserDefinedGeometry ()
 return true for a user defined MCNP geometry More...
 
void SetUserGeometryInputFile (string name)
 set the file name of the user defined MCNP geometry More...
 
void FindTallyInMCNPUserFile ()
 find the user tally numbers in the user defined MCNP geometry More...
 
void SaveBackupMureFile (string TheFileName)
 Backup copy of the MURE source file (.cxx) in the MCNP run directory. More...
 
void VerifyPower ()
 Check whether Power and real power from fissions are equal. More...
 
void BuildPerturbativeMaterials ()
 Builds perturbative materials for evolution (to get XS from MCNP. More...
 
string GetTotalRunTime ()
 Returns a string that tells how long it is since MURE's creation. More...
 
double GetRunTime ()
 returns the difference between the start system clock time and now More...
 
void Dump ()
 Dump a MURE object. More...
 
void Annihilate ()
 Total destruction of a MURE - materials, cells, surfaces, etc. More...
 
bool BaseSummaryReadIn ()
 Is the base summary read in? More...
 
void ReadInBaseSummary ()
 Method to read in the base summary 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)
 Use to find faster z entries for continuous energy in Base Summary. More...
 
int GetFirstThermalZIndexInBaseSummary (int z)
 Use to find faster z entries for thermal data in Base Summary. More...
 
Internal methods
void FitSigmaPhi (bool flag=true)
 Set/Unset a fit extrapolation of sigma*phi. More...
 
bool IsFitSigmaPhi ()
 returns whether or not fit SigmaPhi between 2 MCNP steps. More...
 
int GetFitRangeNumber ()
 returns the number of points used for fitting XS More...
 
void SetFitRangeNumber (int n=4)
 set the number of points used for fitting XS More...
 
void SmoothSigmaPhi (bool flag=true)
 Set/Unset a Smooth extrapolation of sigma*phi. More...
 
bool IsSmoothSigmaPhi ()
 
bool IsFitSigmaPhiPC ()
 True if the in PCE, fit of sigma*phi is done for the corrector step. More...
 
void SetFitSigmaPhiPC (bool flag=true)
 set to flag if the in PCE, fFitSigmaPhiPC More...
 
void BuildTallies ()
 Build automatic tallies. More...
 
void BuildTalliesMultiGroup ()
 Build automatic tallies in multigroup run. More...
 
void BuildTHTalliesMultiGroup ()
 Build automatic tallies in multigroup run without using the perturbative materials. More...
 
void UpdateSigmaPhi ()
 Updates phi and sigma*phi. More...
 
void UpdateSigmaPhiMultiGroup ()
 Updates phi(E) in multigroup run. More...
 
void UpdateSigma ()
 Updates phi and sigma. More...
 
void UpdateTHSigmaPhiMultiGroup ()
 Updates phi(E) in multigroup run. More...
 
void AddTally (Tally *T)
 Add a Tally. More...
 
void AddMeshTally (MeshTally *MT)
 Add a MeshTally. More...
 
void TransMogrify ()
 Update all materials from EvolutiveSystem. More...
 
void PredictorTransMogrify ()
 Update all materials from EvolutiveSystem after Predictor step. More...
 
Vector management
void SetMaterialNum (unsigned num)
 set Material number More...
 
unsigned GetMaterialNum ()
 set Material number More...
 
unsigned NextCellNum ()
 returns the next Cell number available More...
 
unsigned NextSurfaceNum ()
 returns the next Surface number available More...
 
unsigned NextMaterialNum ()
 returns the next Material number available More...
 
unsigned NextUniverseNum ()
 returns the next Universe number available More...
 
unsigned NextTallyNum (int type)
 returns the next Tally number of type i available More...
 
unsigned NextTransformNum ()
 returns the next Transformation number available More...
 
void SetLastTallyNum (int Num)
 Set the last tally number to Num (for MCNP user input geometry) More...
 
void AddCell (Cell *theCell)
 Add a Cell to the Cell Vector. Only those cells shall be written if their fNumber attribute is positive. More...
 
void AddMaterial (Material *theMaterial)
 Add a Material to the Material Vector. More...
 
void DontAddMaterial ()
 The Material vector is not fill: the puspose is to avoid an error when using open mp for GammaSpectrum calculation in MureGui. More...
 
bool AllowToAddMaterial ()
 
void AddSurface (Surface *theSurface)
 Add a Surface to the Surface Vector. More...
 
void AddEvolutiveSystem (EvolutiveSystem *theEvolutiveSystem)
 Add an EvolutiveSystem to the EvolutiveSystem Vector. More...
 
void AddOutCoreEvolutiveSystem (EvolutiveSystem *theEvolutiveSystem)
 Add an OutCore EvolutiveSystem to the OutCoreEvolutiveSystem Vector. More...
 
vector< Cell * > GetTrueCellVector ()
 fms More...
 
void RemoveSurface (vector< Surface * >::iterator it)
 remove a Surface to the Surface Vector. More...
 
vector< Surface * > & GetSurfaceVector ()
 return the Surface Vector. More...
 
void AddUnknownVolume (Cell *theCell)
 add thecell to the UnkownVolume cell vector More...
 
void AddUnknownSurface (Shape *theShape)
 add theShep to the UnkownSurface Shape vector More...
 
vector< Cell * > & GetCellVector ()
 Returns the Cell Vector. More...
 
void RemoveMaterial (Material *TheMaterial)
 Remove a Material from the Material vector. More...
 
CellFindCell (Cell *TheCell)
 return the Cell of same number than TheCell More...
 
CellFindCell (int CellNo)
 return the Cell of number CellNo More...
 
MaterialFindMaterial (Material *TheMaterial)
 return the material of same number than TheMaterial More...
 
MaterialFindMaterial (int MaterialNumber)
 return the material of number MaterialNumber More...
 
MaterialFindPerturbativeMaterial (Nucleus_ptr TheNucleus)
 return the perturbative material which contains Nucleus. More...
 
MaterialFindPerturbativeMaterial (Material *TheCellMat)
 return the perturbative material which contains Nucleus. More...
 
vector< Tally * > & GetTallyVector ()
 
vector< Material * > GetPerturbativeMaterial ()
 returns perturbative material vector More...
 
void AddZAIThatFissions (ZAI *zai)
 Add a zai to the nucleithatfission vector. More...
 
vector< EvolutiveSystem * > GetEvolutiveSystemVector ()
 returns the vector containing all the evolutive systems considered. More...
 
vector< EvolutiveSystem * > GetOutCoreEvolutiveSystemVector ()
 returns the vector containing all the OutCore evolutive systems considered. More...
 
vector< Material * > & GetMaterialVector ()
 returns the Material Vector. More...
 
vector< ZAI * > & GetZAIThatFission ()
 Returns the vector of Zai that can undergo fission (fZAIThatFission vector). More...
 
vector< SpecialIsomer > & GetSpecialIsomerVector ()
 
Volume calculation
bool GetMCNPVolume ()
 Get Missing volume from MCNP o-file. More...
 
void FindMissingVolume ()
 Find Missing volume by stochastic calculation (perfom a true MCNP calculation) More...
 
void SetVolumeNPS (int nps=400000)
 Set source neutron number for stochastic volume calculation. More...
 
void SetVolumeWarning (double variance=0.005)
 set the warning message threshold in stochastic volume precision More...
 
void SetSourceSphereRadius (double R)
 set the radius of the source Sphere (stochastic volume calculation) More...
 
void SetSourceSphereCenter (double *O)
 set the center of the source Sphere (stochastic volume calculation) More...
 
void AddToNuSigmaFisPhiTotal (double Value)
 Adds values of Nu tot sigma phi of a cell to the total value. More...
 
bool IsNucleusUsedForBeta (int Z, int A)
 Check on used or unused nucleus in delayed neutron fraction calculation. More...
 
void SumAllCellToBetaCalculation ()
 Sums all beta by cell to obtain the total one. More...
 
void CalculateBetaI ()
 Method called in MURE input file to calculate NOW the delayed neutron fractions. More...
 
void SetBetaCalculation ()
 use if delayed neutron fraction calculation wanted - Flag needed before running MCNP 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 FinishOnMCNPRun (bool flag=true)
 Finish evolution by a MCNP run. More...
 
double FindFissileEnrichment (double DesiredKeff, double EnrichmentFirstGuess, Material *Fertile, Material *Fissile, Material *Target)
 

Private Member Functions

void UpdateMaterial ()
 Update material for Evolution. More...
 
void Delete ()
 Delete vectors of this (partial destruction of MURE) More...
 
void Copy (const MURE &m)
 Copy MURE object m attributs in this. More...
 
void WriteCell (ostream &Out)
 write MCNP cell on the disk More...
 
void WriteSurface (ostream &Out, bool tmpvol=false)
 write MCNP surface on the disk More...
 
void WriteMaterial (ostream &Out)
 write MCNP materials on the disk More...
 
void WriteMCNPFile (string FileName="inp", bool tmpvol=false)
 write the MCNP file on disk More...
 
void CopyMCNPFile (string FileName)
 copy part of the MCNP user defined geometry More...
 
void FindExtrapolateSigmaPhi ()
 Find SigmaPhi extrapolation. More...
 
void InitTNFFit ()
 Initialize vectors for TallyNormalizationFactor fitting. More...
 
void CheckExtensions ()
 Check if two different nuclei have the same extension and correct if necessary. More...
 
void CheckCompositions ()
 Check if no proportions are negative. More...
 

Private Attributes

int fMessageLevel
 message level treshold More...
 
bool fSilentDebug
 generally suppress the debug messages More...
 
unsigned fLastCellNum
 last Cell number used More...
 
unsigned fLastSurfaceNum
 last Surface number used More...
 
unsigned fLastMaterialNum
 last Material number used More...
 
unsigned fLastUniverseNum
 last Universe number used More...
 
int fLastTallyNum [8]
 last Tally of type i number used More...
 
unsigned fLastTransformNum
 last Transformation used More...
 
string fComment
 first line comment in MCNP file More...
 
string fMCNPExec
 name of MCNP exec More...
 
int fVolumeNPS
 source neutron number for stochastic volume calculation More...
 
double fVolumeWarning
 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...
 
MCNPSourcefSource
 Define a MCNP neutron source. More...
 
vector< Cell * > fCellVector
 the vector of all Cell to write More...
 
vector< vector< Cell * > > fGroupCellVector
 the vector of Group Cell More...
 
vector< Material * > fMaterialVector
 the vector of all Material to write More...
 
vector< Cell * > fTrueCellVector
 Vector of all true Cells (which are non void) which shall be written to MCNP (which fNumber is not negative. More...
 
vector< Surface * > fSurfaceVector
 the vector of all Surface to write More...
 
vector< Tally * > fTallyVector
 the vector of all Tally to write More...
 
vector< MeshTally * > fMeshTallyVector
 the vector of all Mesh Tally to write More...
 
vector< string > fSpecialSurfaceCard
 the vector of all Special Surface card More...
 
vector< string > fSpecialCard
 the vector of all Special card to write More...
 
vector< EvolutiveSystem * > fEvolutiveSystemVector
 the vector containing all the evolutive systems considered. More...
 
vector< EvolutiveSystem * > fOutCoreEvolutiveSystemVector
 the vector containing all theout core evolutive systems considered. More...
 
vector< Cell * > fCellofUnknownVol
 Vector of Cell of Unknown volume used in tallies. More...
 
vector< Shape * > fSurfofUnknownArea
 Vector of Shape_ptr of Unknown area used in tallies. More...
 
string fDataDirectoryName
 data directory name for all data files More...
 
string fEnsdfDataDirectoryName
 data directory name for ENSDF data (added B.LENIAU) More...
 
string fMCNPRunDirectory
 name of the directory in which the MCNP output files are written More...
 
string fMCNPInputBaseFileName
 The Base Name of the input file name generated for MCNP (such as "inp") More...
 
string fMCNPInputFileName
 The final file name for MCNP (such as inpXXX for step XXX of an Evolution) More...
 
string fMFileName
 The name of the m file containing tallies. More...
 
string fNucleiChartFileName
 File where to find radioactive decays. 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...
 
double fShortestHalfTimeThres
 The shortest half time 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...
 
string fMode
 the mode MCNP card (N, N P, N E,P E,P, or N P E) More...
 
string fPRDMP
 PRDMP argument (default=2J -1 1) More...
 
vector< Nucleus_ptrfGlobalNucleiVector
 Union of all the nuclei used in all the evolving materials. More...
 
vector< Material * > fPerturbativeMaterial
 Vector of Perturbative materials for evolution. More...
 
vector< ZAI * > fZAIThatFission
 Vector of all the zai which fission. More...
 
vector< double > fMCNPFissionsPerSecond
 Vector of total number of fissions per seconds for each zai. More...
 
TemperatureMapfTemperatureMap
 The temperature Map. More...
 
map< Nucleus *, string > fNucleiErrorMap
 Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely) More...
 
bool fEvolutionRequired
 If we are running MCNP many times - Evolution. 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...
 
BasePriorityfBasePriority
 The Base Priority wish. More...
 
bool fFromCopy
 flag to know if the Copy method has been used (for destructor) More...
 
bool fFromRebuildTallies
 flag to know if the RebuildTallies method has been used (for RebuildPerturbativeMaterials) More...
 
bool fMaterialUpdated
 flag indicating that Materials have been updated More...
 
TFunctorfReactionListInitMethod
 ReactionList Ini tMethod (e.g. InitJon()) More...
 
double fPower
 Power of the critical reactor IN WATTS ! (EFR = 3.6e+9 W) More...
 
double fTallyNormalizationFactor
 factor to normalized mcnp tallies. More...
 
double fReactionThreshold
 the reaction ratio threshold for ReactionList More...
 
string fXSDIRName
 the xsdir name More...
 
bool fIsAutoXSDIR
 Whether the XSDIr must be automtically built or not. More...
 
double fCurrentMCNPTime
 Current MCNP time in case of Evolution. More...
 
double fNextMCNPTime
 Next MCNP time in case of Evolution. More...
 
double fCurrentTime
 Current time in case of Evolution. More...
 
double fKeff
 Current Keff of the problem. More...
 
double fKeff_Err
 Current Error on current Keff of the problem. More...
 
int fNrk
 Number of internal Runge-Kutta integration steps between two consecutive MCNP runs. More...
 
double fDTRK
 wanted DT for RK intergartion. More...
 
double fDTMaxRK
 the maximum DT for RK intergartion. More...
 
string fSourceFile
 Name of the next source if using file source. More...
 
string fOriginalSourceFile
 Name of the Original source file. More...
 
bool fUsePrevSource
 Whether MURE must use the preivous run source or not. More...
 
bool fFitSigmaPhi
 Whether or not fit SigmaPhi between 2 MCNP steps. More...
 
bool fSmoothSigmaPhi
 Whether or not to smooth SigmaPhi between 2 MCNP steps. More...
 
int fMCNPRunNumber
 Current MCNP Run Number. More...
 
int fMCNPThermoRunNumber
 Current ThermoHydraulics MCNP Run Number. More...
 
int fCurrentRKNumber
 Current Runge Kutta Number. More...
 
double fCurrentRKStep
 Current Runge Kutta step. More...
 
int fFitRange
 The number of point taken for the fit. More...
 
double fDeltaK
 The precision with which the user wishes to remain around the value of Keff = 1. FMS testing. More...
 
double fConstantK
 The central value of Keff around which the user wishes to keep reactivity constant. FMS. More...
 
bool fMaterialControl
 whether Keff control by a ControlMaterial is be used during evolution. More...
 
vector< Cell * > fControlRodCell
 The cell that is a control rod. 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...
 
EvolutionControlfEvolutionControl
 Control the Evolution. More...
 
double fMCNPNucleusThreshold
 the threshold to decide to write a nucleus More...
 
map< Reaction, ValErr_t,
EqualReaction
fControlRate
 Global reaction rates when evolution is controled by ControlMaterial. More...
 
ValErr_t fGlobalAbsorptions
 Global total absorption rate of the whole geometry (code -2). More...
 
ValErr_t fGlobalFissions
 Total fission rate in the whole geometry (-6). More...
 
ValErr_t fGlobalNuFissions
 Total nu fission rate in the whole geometry (-6:-7). More...
 
ValErr_t fGlobalN2N
 Total n2n rate in the whole geometry. More...
 
ValErr_t fGlobalN3N
 Total n3n rate in the whole geometry. More...
 
ValErr_t fGlobalNeutronLosses
 Total neutron loss in the whole geometry. More...
 
int fGlobalLossesTallyNumber
 Number of the Tally counting neutron loss in the whole geometry. More...
 
int fESpectrumTallyNumber
 Number of the Tally for Energy flux spectrum. More...
 
vector< double > fEnergyBins
 Bin array for the energies. More...
 
Shape_ptr fOutermostShape
 The outer Shape to evaluate neutron leakage. More...
 
vector< bool > fIsCooling
 array (same dim as MCNP time) say that it is cooling period (no flux) More...
 
bool fIsCoolingUsed
 true when cooling is set More...
 
bool fMCNP4B
 True if MCNP 4B is used. More...
 
int fNprocessors
 Number of processor in PVM/MPICH MCNP run. More...
 
string fMPIExec
 MPI Exec name to launch mcnp (mpiexec, mpirun, ...) More...
 
bool fPVM
 True for a MCNP PVM parallel run. More...
 
bool fMPI
 True for a MCNP MPI parallel run. More...
 
int fOMP
 number of Threads in OMP parallel compilation of mcnp. More...
 
MCNPSourcefReactivityCoeffsSource
 Source Used for reactivity coeffs calculations. More...
 
bool fRemove_r_files
 flag to remove mcnp r files from mcnp running More...
 
double fSetAllFissionEnergies
 If > zero, then we will override correct fission energies with this value. More...
 
bool fBrutalStop
 brutally stop the evolution if Keff falls below BrutalStopValue More...
 
double fBrutalStopKValue
 The brutal stop value. More...
 
int fMureDataWritingVersion
 The MURE version for data writing in evolving file. More...
 
string fFissionReleasedFN
 The name of fission energy released file. 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 fKeepOnlyFissionProductSelection
 true if all fission products are not used for evolution More...
 
string fKeepOnlyFissionProductSelectionFN
 The file name that contains the FP to keep. More...
 
vector< double > fFitTNF
 used for Tally Normalization Factor extrapolation (vector of TNF) More...
 
vector< double > fMCNPTimeForFit
 used for Tally Normalization Factor extrapolation (vector of time) More...
 
double fFitTNFSlope
 current slope value for linear Tally Normalization Factor extrapolation More...
 
double fInterseptTNF
 current intersept value for linear Tally Normalization Factor extrapolation More...
 
bool fFittedTNF
 True when TNF extrapolation is used. More...
 
bool fTallyRebuild
 Allows or not rebuild of tallies (necessary in thermal evolution) More...
 
bool fPartialMCNPRun
 True when doing partial run for error evalution. More...
 
bool fPartialParticleMCNPRun
 True for partial particle number in a partial run mode, false for total particle. More...
 
string fPartialMCNPRunDir
 Directory name for Partial Run. More...
 
int fSourcePartialFactor
 factor for multiplying source in the total run/partial run More...
 
string fListOfWantedNucleiFN
 File name of the list of wanted nuclei (and ONLY these) More...
 
bool fWriteBinaryData
 True if BDATA_ files are wanted (binary MURE data) More...
 
bool fWriteASCIIData
 True if DATA_ files are wanted (ASCII MURE data) More...
 
bool fCorrectNormalizationFactor
 Flag to say if Tibor's correction to tallies will be used or not. More...
 
double fTimeUnitConverter
 use only for pretty print More...
 
string fTimeUnit
 use only for pretty print More...
 
int fRunMultiMCNP
 Number of rub in a Multi MCNP mode. More...
 
int fStartTime
 The computer clock time at the start of the run. More...
 
vector< ReactorMesh * > fReactorMesh
 Vector containing ReactorMesh Objects if exist. More...
 
bool fMultigroupTallies
 True in multigroup calculation. More...
 
bool fTHMultigroupTallies
 True in Thermal hydraulics multigroup calculation. More...
 
int fMultiGroupDecadeMultiplcator
 number of group/decades in multi-group run is multiply by this factor More...
 
bool fU8StdTally
 True if std tallies are used for U-238 in a multi-group evolution. More...
 
bool fPredictorCorrector
 True if Predictor-Corrector evolution scheme is used. More...
 
double fPCEvaluationTime
 Time at wich the Predictor-Corrector is done : either ~dT/2 or dT. More...
 
bool fPredictorStep
 True if the step is the Predictor step before a corrector one. More...
 
bool fFitSigmaPhiPC
 True if the in PCE, fit of sigma*phi is done for the corrector step. More...
 
double fInitHNMassInTon
 Initial mass of Heavy Nucleus in ton. More...
 
vector< string > fBaseSummary
 Table to put the Base summary file in memory for quick access. More...
 
bool fBaseSummaryReadIn
 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...
 
bool fBetaCalculationRequired
 True if delayed neutron fraction calculation wanted. More...
 
double fNuSigmaFisPhiTotal
 Nu*sigma*phi total. More...
 
vector< double > fNSigmaFisPhiTotalOfNucleus
 For a nucleus : sum of reaction rates. More...
 
long int fRandomSeedGenerator
 first arg of DBCN card More...
 
bool fFinishOnMCNPRun
 The envolution ends on a MCNP run. More...
 
bool fAddMaterial
 false if you don't want to add material in fMaterialVector More...
 
vector< SpecialIsomerfSpecialIsomerVector
 vector of special Isomer treatment (like capture on Am241) More...
 
string fSpecialIsomerFileName
 file that explain the particular treatment of special isomers More...
 
bool fXe135Equilibrium
 whether or not to use Xe-135 equilibrium treatment More...
 
double fXe135EquilibriumTime
 the time from which Xe-135 equilibrium is "imposed" 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 generate a MCNP file because each Cell, surface, Material,... needs to know its own number. This number is thus "linked" to MCNP file. This class allows geometry file generation, nuclei trees construction and evolution. It is a kind of Super Class knowing every body.

See Also
User Guide
Author
PTO
WEC
J.Wilson
FMS
Nico*
F.Havluj
BaM
Version
1.0

Constructor & Destructor Documentation

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

Default constructor. All "numbers" are set to 0.

MURE::MURE ( const MURE m)

Copy constructor.

MURE::~MURE ( )

Destructor.

Member Function Documentation

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.

void MURE::AddCellToGroup ( Cell TheCell,
int  GroupNumber = 0 
)

Add a Cell to a Group.

A group of Cells defines Cells that evolve with the same Material. Tallies are evaluated in each cell of the group ; then the evolution is performed for the cell independantly (within a MCNP step). Just before the next MCNP step, a homogeneisation of all "different" material of the cell's group is done, and the same material is put in each cell for the MCNP run.

Parameters
TheCell: The cell to add.
GroupNumber: The group number.
void MURE::AddControlRodCell ( Cell TheCell)
inline

say that the cell is used as a control rod

void MURE::AddEvolutiveSystem ( EvolutiveSystem theEvolutiveSystem)

Add an EvolutiveSystem to the EvolutiveSystem Vector.

void MURE::AddLineToBaseSummary ( string  line)

Add a line to the read base summary.

void MURE::AddMaterial ( Material theMaterial)

Add a Material to the Material Vector.

void MURE::AddMeshTally ( MeshTally MT)

Add a MeshTally.

void MURE::AddOutCoreEvolutiveSystem ( EvolutiveSystem theEvolutiveSystem)

Add an OutCore EvolutiveSystem to the OutCoreEvolutiveSystem Vector.

void MURE::AddSpecial ( string  card)

Add card in the General Data Block of MCNP.

Add card in the General Data Block of MCNP. Allows user to define its own entries in the General Data Block of MCNP (after the surface block)

void MURE::AddSpecialSurface ( string  card)

Add card in the Surface Block of MCNP.

Add card in the Surface Block of MCNP. Allows user to define its own entries in the Surface Block of MCNP (after the cell block)

void MURE::AddSurface ( Surface theSurface)

Add a Surface to the Surface Vector.

void MURE::AddTally ( Tally T)

Add a Tally.

void MURE::AddToGlobalNucleiVector ( Nucleus_ptr nuc)

add a nucleus to GlobalNucleiVector

void MURE::AddToMCNPFissionsPerSourceNeutron ( int  i,
double  val 
)
inline

Add val to total number of fissions/s for ZAI i.

Parameters
i: ZAI number in the ZAIThatFission vector
val: the number of fission per source neutron to add
void MURE::AddToNucleiErrorMap ( Nucleus nuc,
string  ErrType 
)
inline

add a ZAI to NucleiErrorMap with its problem type

void MURE::AddToNuSigmaFisPhiTotal ( double  Value)
inline

Adds values of Nu tot sigma phi of a cell to the total value.

void MURE::AddUnknownSurface ( Shape theShape)

add theShep to the UnkownSurface Shape vector

void MURE::AddUnknownVolume ( Cell theCell)

add thecell to the UnkownVolume cell vector

void MURE::AddZAIThatFissions ( ZAI zai)

Add a zai to the nucleithatfission vector.

bool MURE::AllowToAddMaterial ( )
inline
void MURE::Annihilate ( )

Total destruction of a MURE - materials, cells, surfaces, etc.

bool MURE::BaseSummaryReadIn ( )
inline

Is the base summary read in?

void MURE::BuildCOBRAFiles ( )

Build COBRA files.

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

Generate and Write file on disk (find missing volumes before)

void MURE::BuildPerturbativeMaterials ( )

Builds perturbative materials for evolution (to get XS from MCNP.

void MURE::BuildTallies ( )

Build automatic tallies.

Automatic tallies used in an evolution (phi and sigma*phi) are build for each EvolutiveSystem.

void MURE::BuildTalliesMultiGroup ( )

Build automatic tallies in multigroup run.

Automatic tallies used in an evolution (phi(E)) are build for each EvolutiveSystem (except for special controls where normal reaction rate tallies are used).

void MURE::BuildTHTalliesMultiGroup ( )

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)

void MURE::BuildXSDIR ( )

Builder method : write the xsdir file.

void MURE::CalculateBetaI ( )

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

void MURE::CalculateInitialHNMass ( )

Calculates the initial Heavy Nuclei mass in Ton.

void MURE::CheckCompositions ( )
private

Check if no proportions are negative.

void MURE::CheckExtensions ( )
private

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

void MURE::ConstructFileName ( string  FileName)

Construct MCNP input filename.

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

Construct a temporary MCNP input filename.

void MURE::Copy ( const MURE m)
private

Copy MURE object m attributs in this.

void MURE::CopyMCNPFile ( string  FileName)
private

copy part of the MCNP user defined geometry

void MURE::Delete ( )
private

Delete vectors of this (partial destruction of MURE)

void MURE::DontAddMaterial ( )
inline

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

void MURE::Dump ( )

Dump a MURE object.

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 MCNP run is performed ; if the time vector does not begin by 0, this value is added This method performs evolution for each EvolutiveSystem (i.e. each evolving Material). The Evolution is diveded in 3 kind time steps:

  • the MCNP time steps at which a MCNP run is made ; this allows tally normalization, mean flux and cross-sections calculations. These steps are given via the T vector
  • the "Normalization" steps: each MCNP step is dived in a number of normalization step where a renormalization of the flux is performed (no flux shape change, only global value) to take into account evolution requirement (constant power, constant keff, ....) These step are controled by MURE::SetNrk() and MURE::SetDTRK
  • the RK step: this is the adaptative step of RK method: during these steps, flux and cross-sections are kept completly constant. The only way to have control on these step in to change the RK precision via EvolutiveSystem::SetPrecision

The Start argument at which step evolution should start (default is 0). Useful only when one wishes to start off the evolution again from a given step.

Parameters
TTime cutting vector for MCNP steps (in seconds)
StartNumber of first MCNP steps; useful for restarting (previous steps have to be present in the MCNP run directory)
BrutalStopStop evolution when keff falls below BrutalStopValue (if 0, do not care about keff)
Cell * MURE::FindCell ( Cell TheCell)

return the Cell of same number than TheCell

Cell * MURE::FindCell ( int  CellNo)

return the Cell of number CellNo

void MURE::FindExtrapolateSigmaPhi ( )
private

Find SigmaPhi extrapolation.

double MURE::FindFissileEnrichment ( double  DesiredKeff,
double  EnrichmentFirstGuess,
Material Fertile,
Material Fissile,
Material Target 
)
int MURE::FindLastMCNPRunNumber ( )

Find number of last MCNP run in the MCNP directory.

Material * MURE::FindMaterial ( Material TheMaterial)

return the material of same number than TheMaterial

Material * MURE::FindMaterial ( int  MaterialNumber)

return the material of number MaterialNumber

void MURE::FindMCNPRunDirectory ( string  OriginalMCNPRunDir)

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

void MURE::FindMissingVolume ( )

Find Missing volume by stochastic calculation (perfom a true MCNP calculation)

Material * MURE::FindPerturbativeMaterial ( Nucleus_ptr  TheNucleus)

return the perturbative material which contains Nucleus.

Material * MURE::FindPerturbativeMaterial ( Material TheCellMat)

return the perturbative material which contains Nucleus.

void MURE::FindPredictorCorrectorStep ( )

Find the corrector time for PC method.

The corrector time Tc is the time at which a MCNP is done to "correct" the reaction rate within an evolution step [T0,T1].

  • In the Predictor-Corrector at middle step, Tc=(T0+T1)/2 (in fact, the closest time to the middle corresponding to a RK step (for Tally Normalization).
  • In the Predictor-Corrector at end step Tc=T1.
void MURE::FindTallyInMCNPUserFile ( )

find the user tally numbers in the user defined MCNP geometry

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

Finish evolution by a MCNP run.

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

Set/Unset a fit extrapolation of sigma*phi.

If flag=true, sigma*phi is fitted (see user guide) and the value taken for the evolution between 2 MCNP steps, is an extrapolation of the fit. If flag=false, sigma*phi is taken constant (the last MCNP value) during the 2 MCNP steps. WARNING : This way of evolving don't seem to improve evolution

Parameters
flag: true if the fit is wanted.
void MURE::FitTallyNormalizationFactor ( )

Find the fitting parameters for TNF.

It is used in GetTallyNormalizationFactor().

ValErr_t MURE::GetAbs ( )
inline

returns the value of global total absorptions (code -2) in the whole geometry.

BasePriority* MURE::GetBasePriority ( )
inline

returns the BasePriority

string MURE::GetBaseSummaryFileName ( )
inline

return the BaseSummary.dat file name

string MURE::GetBaseSummaryLine ( int  i)

Get the ith base summary line.

double MURE::GetBurnUp ( )

Calculates burn-up in MWth.d/t of initial heavy nuclei in the fuel (evolving materials).

vector<Cell *>& MURE::GetCellGroup ( int  GroupNumber)
inline

return the cell vector of the group GroupNumber

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

Returns the Cell Vector.

string MURE::GetComment ( )
inline

First line of MCNP file.

ControlMaterial * MURE::GetControlMaterial ( )

returns the material defined as neutron poison by the user.

ValErr_t MURE::GetControlRate ( Reaction  r)
inline

return the global reaction rates when evolution is controled by ControlMaterial

ValErr_t MURE::GetControlRate ( int  ReactionCode)
inline

return the global reaction rates when evolution is controled by ControlMaterial

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

return the vector of control rod cells

bool MURE::GetCorrectNormalizationFactor ( )
inline

return Tibor's flag

double MURE::GetCurrentMCNPTime ( )
inline

returns Current MCNP time in case of Evolution

int MURE::GetCurrentRKNumber ( )
inline

returns current Runge Kutta number

double MURE::GetCurrentRKStep ( )
inline

returns current Runge Kutta step

double MURE::GetCurrentTime ( )
inline

returns Current time in case of Evolution

string MURE::GetDATADIR ( )
inline

returns the Data directory where data files are stored

string MURE::GetEnsdfDATADIR ( )
inline
EvolutionControl* MURE::GetEvolutionControl ( )
inline

returns the EvolutionControl object

vector<EvolutiveSystem *> MURE::GetEvolutiveSystemVector ( )
inline

returns the vector containing all the evolutive systems considered.

int MURE::GetFirstContinuousZIndexInBaseSummary ( int  z)
inline

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

int MURE::GetFirstThermalZIndexInBaseSummary ( int  z)
inline

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

ValErr_t MURE::GetFiss ( )
inline

returns the fission rate

double MURE::GetFissionEnergies ( )
inline

Get fission energy released used for all nuclei.

string MURE::GetFissionReleasedFile ( )
inline

Get fission energy released file used.

int MURE::GetFitRangeNumber ( )
inline

returns the number of points used for fitting XS

char* MURE::GetFPASCIIFileName ( )
inline

returns ASCII file name for FP

char* MURE::GetFPBinaryFileName ( )
inline

returns Binary file name for FP

vector<Nucleus_ptr> MURE::GetGlobalNucleiVector ( )
inline

Returns the global nuclei vector.

double MURE::GetInitialHNMass ( )
inline

returns the mass of heavy nuclei in tons

string MURE::GetKeepOnlyFissionProductSelectionFN ( )
inline

return the file name that contains the FP to keep

double MURE::GetKeff ( )
inline

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

double MURE::GetKeff_Err ( )
inline

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

string MURE::GetListOfWantedNucleiFN ( )
inline

returns the List of Wanted Nuclei file name

string MURE::GetMassDataFileName ( )
inline

returns the name of the isotopes masses file

bool MURE::GetMaterialControl ( )
inline

Say if MaterialControl mode is used.

unsigned MURE::GetMaterialNum ( )
inline

set Material number

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

returns the Material Vector.

string MURE::GetMCNPExec ( )
inline

Get the name of the MCNP exec.

double MURE::GetMCNPFissionsPerSecond ( int  i)
inline

returns the ith total number of fissions/s.

Parameters
i: ZAI number in the ZAIThatFission vector
int MURE::GetMCNPFissionsPerSecondSize ( )
inline

returns the size of fissions/s zai vector.

This vector scores the total number of fissions/s for each zai

string MURE::GetMCNPInputFileName ( )
inline

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

double MURE::GetMCNPNucleusThreshold ( )
inline

returns the threshold to decide to write a nucleus

string MURE::GetMCNPRunDirectory ( )
inline

Returns mcnp run directory name.

int MURE::GetMCNPRunNumber ( )
inline

returns current MCNP run number

int MURE::GetMCNPThermoRunNumber ( )
inline

returns current MCNP run number for thermo

bool MURE::GetMCNPVolume ( )

Get Missing volume from MCNP o-file.

return true if no volume are needed.

int MURE::GetMessageLevel ( )
inline

returns the minimal level of printed messages

string MURE::GetMFileName ( )
inline

Returns filename of MCNP "m" file.

string MURE::GetMode ( )
inline

returns MCNP mode (particle transported)

ValErr_t MURE::GetN2N ( )
inline

returns the (n,2n) rate

ValErr_t MURE::GetN3N ( )
inline

returns the (n,3n) rate

string MURE::GetNaturalIsotopeMassFileName ( )
inline

returns the name of the natural isotopes masses file

ValErr_t MURE::GetNeutronLosses ( )
inline

returns the neutron losses (escape)

double MURE::GetNextMCNPTime ( )
inline

returns Next MCNP time in case of Evolution

int MURE::GetNProcessors ( )
inline

return processors number for pvm/mpich run

int MURE::GetNrk ( )
inline

Returns the value of the number of internal Runge-Kutta integration steps between two consecutive MCNP runs.

string MURE::GetNucleiChartFileName ( )
inline

Set Name of the decay mode file.

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

Returns the Error storing map.

ValErr_t MURE::GetNuFiss ( )
inline

returns the fission*Nu

int MURE::GetOMP ( )
inline

return thread number for parallel mcnp run

vector<EvolutiveSystem *> MURE::GetOutCoreEvolutiveSystemVector ( )
inline

returns the vector containing all the OutCore evolutive systems considered.

Shape_ptr MURE::GetOutermostShape ( )
inline

returns the most outer shape_ptr

double MURE::GetPCEvaluationTime ( )
inline

return corrector evaluation time

vector<Material*> MURE::GetPerturbativeMaterial ( )
inline

returns perturbative material vector

double MURE::GetPower ( )
inline

returns the reactor power (in watts)

string MURE::GetReactionDataFileName ( )
inline

Name of the Available reaction file for the chart.

int MURE::GetReactionDepth ( )
inline

return the maximum number of consecutive reactions

TFunctor* MURE::GetReactionListInitMethod ( )
inline

return the fReactionListInitMethod

double MURE::GetReactionThreshold ( )
inline

Get the reaction ratio threshold for ReactionList.

vector<ReactorMesh*> MURE::GetReactorMeshVector ( )
inline

Returns the reactor mesh vector.

string MURE::GetRealMCNPInputFileName ( )
inline

returns mcnp input file name(eg. inpXXX).

bool MURE::GetRemove_r_files ( )
inline

returns flag to remove MCNP "r" file during the evolution

double MURE::GetRunTime ( )
inline

returns the difference between the start system clock time and now

double MURE::GetShortestHalfLife ( )
inline

return the shortest half time to consider for evolution.

bool MURE::GetSilentDebug ( )
inline

return true for if SilentDebug is on

MCNPSource* MURE::GetSource ( )
inline

Get the (true) MCNP neutron source (kcode, ...)

string MURE::GetSourceFileName ( )
inline

return the name of the input source file for kcode run

int MURE::GetSourcePartialFactor ( )
inline

return the fSourcePartialFactor for Partial Run mode

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

returns the mean energy of the spectrum.

This enrgy is only used for the fission products yield (see MURE::SetSpectrumType)

vector<Surface *>& MURE::GetSurfaceVector ( )
inline

return the Surface Vector.

double MURE::GetTallyNormalizationFactor ( )

returns the tally normalization factor

vector<Tally*>& MURE::GetTallyVector ( )
inline
TemperatureMap* MURE::GetTemperatureMap ( )
inline

returns the Temperature Map

string MURE::GetTimeUnit ( )
inline

use only for pretty print

double MURE::GetTimeUnitConverter ( )
inline

use only for pretty print

double MURE::GetTotalAtoms ( )
string MURE::GetTotalRunTime ( )

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

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

fms

bool MURE::GetUsePrevSource ( )
inline

return true if an old "s" file is used as MCNP source

double MURE::GetXe135EquilibriumTime ( )
inline

return the time from which equilibrium is "imposed"

string MURE::GetXSDIRName ( )
inline

return the XSDIR name

vector<ZAI *>& MURE::GetZAIThatFission ( )
inline

Returns the vector of Zai that can undergo fission (fZAIThatFission vector).

void MURE::IncreaseMCNPThermoRunNumber ( )
inline

This is used in ThermoCoupling.cxx.

void MURE::InitTNFFit ( )
private

Initialize vectors for TallyNormalizationFactor fitting.

void MURE::IntegrateMassInEvolvingCells ( )

Sum all the evolving masses in the problem.

bool MURE::IsCooling ( int  MCNPRunNumber)

fms test function

bool MURE::IsEvolutionRequired ( )
inline

returns true if evolution is needed

bool MURE::IsFitSigmaPhi ( )
inline

returns whether or not fit SigmaPhi between 2 MCNP steps.

bool MURE::IsFitSigmaPhiPC ( )
inline

True if the in PCE, fit of sigma*phi is done for the corrector step.

bool MURE::IsFitTallyNormalizationFactor ( )
inline

return whether the TNF has to be fitted.

bool MURE::IsMCNP4B ( )
inline

return true if MCNP version is 4b (change the way of calling TASK)

bool MURE::IsMCNPUserDefinedGeometry ( )
inline

return true for a user defined MCNP geometry

bool MURE::IsMultiGroupTalliesUsed ( )
inline

return true for Multi group flux MCNP run

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

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

bool MURE::IsOnlyFissionProductSelection ( )
inline

return true if all fission products are not used for evolution

bool MURE::IsPartialMCNPRun ( )
inline

return whereas Partial Run mode is used

bool MURE::IsPartialParticleMCNPRun ( )
inline

return whereas in a Partial Run mode, it is the Partial or the full run

bool MURE::IsPredictorCorrector ( )
inline

return true when PC method is used

bool MURE::IsPredictorStep ( )
inline

return true for the predictor step

bool MURE::IsSmoothSigmaPhi ( )
inline
bool MURE::IsThermoHydraulicsRequired ( )
inline
bool MURE::IsTHMultiGroupTalliesUsed ( )
inline

return true for Thermal hydraulics Multi group flux MCNP run

bool MURE::IsWriteASCIIData ( )
inline

Return whether the ascii evolution output (DATA) should be printed.

bool MURE::IsWriteBinaryData ( )
inline

Return whether the binary evolution output (BDATA) should be printed.

bool MURE::IsXe135Equilibrium ( )
inline

return true when this treatment is used

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 MCNP (lot of tallies), a first (approxilated) run can be done using a selection of FP (see UserGuide). Only the section of FP evolved, but other FP are included for neutron flux calculation. If one want to provide an other list of evolving FP one 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.
unsigned MURE::NextCellNum ( )

returns the next Cell number available

unsigned MURE::NextMaterialNum ( )

returns the next Material number available

unsigned MURE::NextSurfaceNum ( )

returns the next Surface number available

unsigned MURE::NextTallyNum ( int  type)

returns the next Tally number of type i available

unsigned MURE::NextTransformNum ( )

returns the next Transformation number available

unsigned MURE::NextUniverseNum ( )

returns the next Universe number available

double MURE::NormalizeMCNPFissionsPerSecond ( )

Returns the normalization factor.

This factor is calculated using the Fission Energy Released per ZAI.

int MURE::NumberOfCellGroup ( )
inline

return the number of cell group

void MURE::PlotGeometry ( bool  Continue = 0)

Plot MCNP File Geometry. Flag tells whether to stop MURE or not.

void MURE::PredictorTransMogrify ( )

Update all materials from EvolutiveSystem after Predictor step.

void MURE::ReadBinaryEvolutionData ( string  filename)

Read Compositions, time, volume from one evolution step from a binary file.

void MURE::ReadEvolutionData ( string  filename)

Read Compositions, time, volume from one evolution step from an ascii file.

void MURE::ReadEvolvingCellCompositions ( string  filename)

Read Evolving Compositions for re-start after a crash; not called normally.

void MURE::ReadInBaseSummary ( )

Method to read in the base summary to increase speed.

void MURE::ReadSpecialIsomerFile ( )

Read Special Isomer File (see SpecialIsomer class)

void MURE::RebuildPerturbativeMaterials ( )

Rebuild Perturbative Materials.

Needed to call when changes in temperatures.

void MURE::RebuildTallies ( )

Rebuild Tallies.

Needed to call when changes in temperatures with a simplication of number of perturbatives materials In this case there is not necessary to put the flag of SetTemperatureEvolution() on each material.

void MURE::RemoveMaterial ( Material TheMaterial)

Remove a Material from the Material vector.

void MURE::RemoveSurface ( vector< Surface * >::iterator  it)

remove a Surface to the Surface Vector.

void MURE::RemoveXSDIR ( )
inline

remove xsdir

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

void MURE::RunMCNP ( )

Run MCNP!!!!

void MURE::RunMultiMCNP ( int  n)

Run n MCNP and add "m" file to make one.

void MURE::SaveBackupMureFile ( string  TheFileName)

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

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 provided data in this ref., the values overide the linear fit. Using this method allow to impose a global value for fission energy released (for all nuclei). THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.

Parameters
Energy: the fission energy released for all material in eV (Default=200MeV).
void MURE::SetAutoXSDIR ( bool  cond = true)
inline

Tells MURE to build its own XSDIR file.

void MURE::SetBasePriority ( BasePriority UserBasePriority)

Set the BasePriority.

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

set the BaseSummary.dat file name

void MURE::SetBetaCalculation ( )
inline

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

void MURE::SetBrutalStopKValue ( double  brutalstopvalue)
inline

Set the Brutal Stop Value.

Allow to manualy set the Brutal Stop Keff Values and enable Brutal Stop.

Parameters
brutalstopvalue: Value bellow the evolution will stop (Brutaly)
void MURE::SetCOBRACalculationRequired ( int  NumberOfIteration)
inline
void MURE::SetComment ( string  Comment = "This comment is never read...")
inline

First line of MCNP file.

void MURE::SetControlRate ( Reaction  r,
ValErr_t  rate 
)
inline

Set global reaction rates when evolution is controled by ControlMaterial.

Parameters
r: the wanted Reaction.
rate: the value.
void MURE::SetControlRate ( int  ReactionCode,
ValErr_t  rate 
)
inline

Set global reaction rates when evolution is controled by ControlMaterial.

Parameters
ReactionCode: the wanted endf code corresponding to a reaction (e.g. 102 for (n,gamma)).
rate: the value.
void MURE::SetCooling ( vector< bool >  C)

fms test function

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

Tibor's flag for correcting all tallies.

I(pto) don't know why this is in MURE. This has been done for Hungrian collegues...but

  1. I don't for what
  2. I am not sure this is a good idea to leave it in MURE (at least without doc!!!)
void MURE::SetCurrentMCNPTime ( double  time)
inline

set Current MCNP time in case of Evolution

void MURE::SetCurrentTime ( double  time)
inline

set Current time in case of Evolution

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

Set the data directory path to name.

if name is not provide,

  • if the Environment variable DATADIR is set (via a setenv in csh), the data directory path is set to this variable
  • else it is set to ../data/ is set to name.
void MURE::SetDTRK ( double  dt = -1)
inline

Set the approximate Runge-Kutta step.

In evolution, a variable step Runge-Kutta (4th order) method is called to solve Batemann equation between two consecutive MCNP runs. But to allow interactions during evolution, a number of rendez-vous are set: the RK steps. At each of these steps EvolutionControl::ControlAtEachRKStep() is called, allowing for example power renormalization.

If dt is positive, then the number of RK steps between MCNP runs at T_i and at T_i+1 is no more constant, but is calculated as fNrk = (T_i - T_i+1)/dt +1; and thus the true Runge-Kutta step is DT_RK=(T_i - T_i+1)/Nrk. If dt negative (default), fNrk set in MURE::SetNrk() is used Default: dt=-1; See also MURE::SetNrk() or MURE::SetMaxDtRK()

Parameters
dt: the approximate Runge-Kutta step in s (default dt=-1, i.e. used MURE::SetNrk() ).
void MURE::SetEnsdfDATADIR ( string  name = "")

Set the ENSDF data directory path to name.

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

void MURE::SetESpectrum ( )
inline

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

void MURE::SetEvolutionControl ( EvolutionControl EC)
inline

set the EvolutionControl object

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

say that evolution is needed or not

void MURE::SetFissionReleasedFile ( string  name)
inline

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 for provided data in this ref., the values overide the linear fit. Use this method to give explicit values for nucleus 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.
void MURE::SetFitRangeNumber ( int  n = 4)
inline

set the number of points used for fitting XS

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

set to flag if the in PCE, fFitSigmaPhiPC

void MURE::SetFitTallyNormalizationFactor ( )
inline

Set if the TNF has to be fitted.

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 from MURE/Evo/FP/GenerateFPYield ; data are extracted from endfb6-y.asc. WARNING: The data directory path has to be set by SetDATADIR().

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

Set Name Binary file for Fission Products.

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

void MURE::SetGlobalRates ( )

Set the global rates (over all cells) for fission, n2n, ...

void MURE::SetKeff ( double  k)
inline

Set the Keff to k.

void MURE::SetLastTallyNum ( int  Num)

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

void MURE::SetListOfWantedNucleiFN ( string  name)
inline

Set the List of Wanted Nuclei file name.

WARNING: USE WITH CARE.

This method allow 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.

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

Set name of the isotopes masses 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().

void MURE::SetMaterialControl ( )
inline

Set the MaterialControl mode.

void MURE::SetMaterialNum ( unsigned  num)
inline

set Material number

void MURE::SetMaxDtRK ( double  dtmax = -1)
inline

Set the approximate Maximum Runge-Kutta step.

In evolution, a variable step Runge-Kutta (4th order) method is called to solve Batemann equation between two consecutive MCNP runs. But to allow interactions during evolution, a number of rendez-vous are set: the RK steps. At each of these steps EvolutionControl::ControlAtEachRKStep() is called, allowing for example power renormalization.

If dtmax is positive, then the number of RK steps between MCNP runs at T_i and at T_i+1 is

  • fNrk if DT_RK=(T_i - T_i+1)/Nrk<=dtmax
  • or no more constant, but is calculated as fNrk = (T_i - T_i+1)/dtmax +1; and thus the true Runge-Kutta step is DT_RK=(T_i - T_i+1)/Nrk.

See also MURE::SetNrk() or MURE::SetDTRK()

Parameters
dtmax: the approximate Maximum Runge-Kutta step in s (default dtmax=-1, i.e. used MURE::SetNrk() ).
void MURE::SetMCNPExec ( string  Exec = "mcnp4c")
inline

Set the name of MCNP exec.

void MURE::SetMCNPFissionsPerSourceNeutron ( int  i,
double  val 
)
inline

set the total number of fissions/s for ZAI i.

Parameters
i: ZAI number in the ZAIThatFission vector
val: the number of fission per source neutron
void MURE::SetMCNPInputFileName ( string  Name)
inline

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

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

Set threshold to decide to write a nucleus in MCNP.

When writing a evolving material, a nucleus is written only if its normalized proportion p * Sigma_tot >epsilon (the threshold).

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

Set the MCNP run directory name.

This is used for evolution.

Parameters
name: Name of the directory where all input (for MCNP) 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 contents is lost) ; if option="keep", the existing directory (and its contents) is kept else [default] a question is asked.
void MURE::SetMCNPThermoRunNumber ( int  value = 0)
inline

returns current MCNP run number for thermo

void MURE::SetMCNPUserDefinedGeometry ( )
inline

Tell that it is a user defined MCNP geometry.

void MURE::SetMessageLevel ( int  level)
inline

Set the minimal level of printed messages.

This method control the MURE output message verbose. 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
void MURE::SetMode ( string  MyMode = "N")
inline

Set a general MCNP run mode.

void MURE::SetModeN ( )
inline

Set the Neutron mode (default)

void MURE::SetModeNE ( )
inline

Set the Neutron Electron mode.

void MURE::SetModeNP ( )
inline

Set the Neutron Photon mode.

void MURE::SetModeNPE ( )
inline

Set the Neutron Photon Electron mode.

void MURE::SetModeP ( )
inline

Set the Photon mode (Add By Leniau B.)

void MURE::SetModePE ( )
inline

Set the Photon Electron mode.

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 MCNP in parallel (MPICH), you have to specify the wanted processor number to MCNP's exec.

Parameters
n_processor: number of processor to use
MPIExec: MPI exec name to launch mcnp (mpirun, mpiexec, ...).
void MURE::SetMultiGroupDecadeMultiplcator ( int  N = 1)
inline

set the number of Multi group flux per decade

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

Set name of the NATURAL isotopes masses 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().

void MURE::SetNewReactorMeshObject ( ReactorMesh RM)
inline

Add a new ReactorMesh Object into the vector.

void MURE::SetNextMCNPTime ( double  time)
inline

set Next MCNP time in case of Evolution

void MURE::SetNrk ( int  Nrk = 10)
inline

Set the number of Runge-Kutta step.

In evolution, a variable step Runge-Kutta (4th order) method is called to solve Batemann equation between two consecutive MCNP runs. But to allow interactions during evolution, a number of rendez-vous are set: the RK steps. At each of these steps EvolutionControl::ControlAtEachRKStep() is called, allowing for example power renormalization.

See also MURE::SetDTRK() or MURE::SetMaxDtRK()

Parameters
Nrk: the number of steps between 2 MCNP runs. (Default Nrk=10)
void MURE::SetNucleiChartFileName ( string  name = "chart.JEF3T")

Set Name of the decay mode file.

Name of the ascii file that is read (written by A. Billebaud, modify by D. Heuer according to JEF3T library) to know each nucleus decay modes. WARNING: The data directory path has to be set by SetDATADIR().

void MURE::SetOMP ( int  n_thread)
inline

set the number of threads for parallel mcnp run

void MURE::SetOriginalSourceFileName ( string  name)
inline

set the name of the original input source file for kcode run

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).

Parameters
s: the most outer Shape_ptr (exterior)
void MURE::SetPartialMCNPRun ( bool  flag = true)
inline

Set the Partial Run mode.

When Partial Run mode is selected, the input particles number (or active cycles in KCODE runs) is done for the Partial Run. Then A full Run is done with fSourcePartialFactor*particles source (or active cycles in KCODE runs) for the rest of the run. Intermediate result are stored in fMCNPRunDirectory/fPartialMCNPRunDir

void MURE::SetPartialMCNPRunDirectory ( string  name = "PartialRun")
inline

Set The Partial Run directory name.

void MURE::SetPower ( double  Power)
inline

set the reactor power (in watts)

void MURE::SetPRDMP ( string  prdmp = "2J -1 1")
inline

Set the PRDMP MCNP card.

void MURE::SetPredictorCorrector ( bool  middle_step = false)

Use the Predictor-Corrector method for evolution.

Use the Predictor-Corrector method for evolution. The Evolution is made, by default, using constant reaction rates between 2 MCNP runs at time T0 and T1. In order to increase accuracy, or time step between 2 MCNP runs, one can use a Predictor-Corrector method (PC). The general principle is the following: One start with a predictor calculation using constant reaction rates from MCNP at T0 : this leads at time Tc to new compositions ; then a MCNP is done to obtain new reaction rates at Tc. The evolution is restarted from T0 but with reaction rates of Tc: this is the corrector step. Two PC method can be used:

  • PC at middle step (PCM)
  • PC at end step (PCE) In the former one, Tc=(T0+T1)/2. The corrector step is performed from T0 to T1 with reaction rates at the middle time. In PCE, Tc=T1 leading to a composition Np at T1. The corrector step is performed from T0 to T1 with reaction rates at T1 leading to a composition Nc at T1; then the new composition for the next MCNP run is (Np+Nc)/2. To be noticed: in the PCM method, due to tally renormalization, the time at which the corrector is evaluated, is the closest time from the middle point.
    Parameters
    middle_step: true for PCM method. Default is PCE.
void MURE::SetPVM ( int  n_processor,
bool  mcnp4b = false 
)

Set the processor number in PVM mode.

Set the processor number in PVM mode. In order to run MCNP in parallel (PVM), you have to specify the wanted processor number to MCNP'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=...)

Parameters
n_processor: number of processor to use
mcnp4b: whether it is a MCNP 4B or not PVM exec.
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.JEF3T and to say whether or not cross-sections are available (read in BaseSummary.dat). WARNING: The data directory path has to be set by SetDATADIR().

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)
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
void MURE::SetReactionThreshold ( double  sigma = 1e-2)
inline

Set the reaction ratio threshold for ReactionList.

void MURE::SetRealMCNPInputFileName ( string  Name)
inline

Set Real MCNP Input File Name (e.g. inpXXX).

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

remove MCNP "r" file during the evolution

void MURE::SetRunMultiMCNP ( int  n)
inline

set the number of run in multi MCNP

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)
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 methodes where a "int DODEBUG=1" is inserted are printed. Thus, using LOG_DEBUG, avoid to comment all "cout" when no debugging is wanted.

void MURE::SetSource ( MCNPSource source)
inline

Set the (true) MCNP neutron source (kcode, ...)

void MURE::SetSourceFileName ( string  name)
inline

set the name of the input source file for kcode run

void MURE::SetSourcePartialFactor ( int  N = 2)
inline

set the fSourcePartialFactor for Partial Run mode

void MURE::SetSourceSphereCenter ( double *  O)
inline

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

void MURE::SetSourceSphereRadius ( double  R)
inline

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

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

Set Special Isomer File name (see SpecialIsomer class)

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

Set the spectrum type.

The spectrum could be "thermal", "fast", or "spallation". This means that the fission yield will be taken at 0.025eV, 500keV or 14MeV. (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")
void MURE::SetTallyNormalizationFactor ( double  val)
inline

set the tally normalization factor

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

Set The TemperatureMap.

if NT=0, default temperature map is built.

Parameters
T: array of temperature (the map)
NT: size of this array
void MURE::SetThermoHydraulicsRequired ( bool  flag = true)
inline
void MURE::SetTimeUnit ( double  t)

use only for pretty print

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

Use a new DBCN number MCNP DBCN card.

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

Parameters
dbcn: if dbcn>0, set the DBCN 1st entry card to dbcn
void MURE::SetUsePrevSource ( bool  flag = true)
inline

say whether or not to use an old "s" file

void MURE::SetUserDefaultHydraulicModel ( )
inline
void MURE::SetUserGeometryInputFile ( string  name)

set the file name of the user defined MCNP geometry

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

Set source neutron number for stochastic volume calculation.

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

set the warning message threshold in stochastic volume precision

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

Set if the ascii evolution output (DATA) should be printed.

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

Set if the binary evolution output (BDATA) should be printed.

void MURE::SetXe135Equilibrium ( double  t = 3*9.14*3600)

Set Xe-135 special treatment in RK integration.

Due to instabillity in the flux (weak coupled problem) and large Xe-135 capture cross-section, the evolution could show unphysical Xe-135 oscillations. The solution proposed is to:

1) calculate the equilibrium growth value of Xe-135 for short time (default is $ 3\times T_{1/2}$ of the Xe-135)

2) suppose that Xe-135 is then at equilibrium (impose by dN/dt=0 in Batemann eqs), and calculate the Xe concentration as

\[ N_{Xe}=\frac{y_{Xe}\Sigma_{fis}\phi+\lambda_{^{135}I}N_{^{135}I}}{\sigma^{Xe}_{n,\gamma}\phi+\lambda_{^{135}Xe}N_{^{135}Xe}}\]

where

\[\phi=\frac{\phi^{previous MCNP run}+\phi^{current MCNP run}}{2}\]

if the ratio between the 2 flux is greater than 1.5 else

\[\phi=\phi^{current MCNP run}\]

and I-135 calculation is calculated in the same way (but not used in Bateman eqs where the "normal" way seems to work).

Parameters
t: the threshold time (in s) from which the equilibrium is imposed
void MURE::SmoothSigmaPhi ( bool  flag = true)
inline

Set/Unset a Smooth extrapolation of sigma*phi.

If flag=true, sigma*phi is smoothed using a mean value of previous runs (see user guide). For the next evolution, this constant smooth value is taken. The smooth window is defined by the MURE::SetFitRangeNumber() method (except for the MURE::GetFitRangeNumber()-1 first evolving step where the smoothing window increased at each step).

Parameters
flag: true if the smooth extrapolation is wanted.
void MURE::StartGUI ( )

Start the user interface to see results.

void MURE::SumAllCellToBetaCalculation ( )

Sums all beta by cell to obtain the total one.

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

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

void MURE::TransMogrify ( )

Update all materials from EvolutiveSystem.

void MURE::UpdateKeff ( )

Read in "m" file keff value (can be used without evolution)

void MURE::UpdateMaterial ( )
private

Update material for Evolution.

void MURE::UpdateSigma ( )

Updates phi and sigma.

void MURE::UpdateSigmaPhi ( )

Updates phi and sigma*phi.

Only for "pertubative material" automatically built, no normalization performed. Also prints the energy spectrum.

void MURE::UpdateSigmaPhiMultiGroup ( )

Updates phi(E) in multigroup run.

Only for "pertubative material" automatically built, no normalization performed. (for special controls where normal reaction rate tallies are used) Also prints the energy spectrum.

void MURE::UpdateTallyNormalizationFactor ( )

update tally normalization factor according to power

void MURE::UpdateTHSigmaPhiMultiGroup ( )

Updates phi(E) in multigroup run.

Only if BuildTHTalliesMultiGroup() is used

void MURE::UseEnergyBinsFile ( string  Filename)

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

void MURE::UseMultiGroupTallies ( bool  StdTallyFor238U = false)
inline

Use Multi group tallies in the evolution.

Instead of calculating reaction rates in MCNP, one can only calculate a narrow group flux tally per evolving cell (~19000 groups by default).

The reaction rates are calculated after the MCNP run by doing the integral of this multi-group flux by the reaction cross-sections read from ACE MCNP file. This is probably less accurate than the "standard method" but the gain in cpu time is enormous (more than a factor 30!!!).

The default binning for the tally flux is:

Energy Range1e-4 eV to 1 eV1eV to 10eV10eV to 10keV10keV to 0.1MeV0.1MeV to 20MeV
bins/decade10050050001000500

It can be change using the MURE::SetMultiGroupDecadeMultiplcator(N) which will multiply the number of bins/decade by N in each energy group (e.g., if N=2, then one has 200 bins/decade in [1e-4 eV, 1eV], 1000 bins/decade in [1eV,10eV], ...).

As a rafinment, one can use standard MCNP tallies for U-238, and multi-group tallies for other nuclei by setting to "true" the StdTallyFor238U parameter.

Parameters
StdTallyFor238U: if true, use standard MCNP tallies for U-238 and multi-group tallies for all other nuclei.
void MURE::UsePreviousRunSource ( string  FirstSource = "")

use a previous kcode source for mcnp.

Tells MURE to use for the next MCNP run a "s" file (from a previous kcode run). In an evolution, each MCNP step is done using the source from the previous MCNP step (or the input "s" file provide by the user).

Parameters
FirstSource: name of the first source to use. If not specified, creates a default source.
void MURE::VerifyPower ( )

Check whether Power and real power from fissions are equal.

Also writes the real power to PDATA.

void MURE::WriteBinaryEvolutionData ( string  filename)

Write all the information from one evolution step to a binary file.

void MURE::WriteCell ( ostream &  Out)
private

write MCNP cell on the disk

void MURE::WriteEvolutionData ( string  filename)

Write all the information from one evolution step to an ascii file.

void MURE::WriteEvolvingCellCompositions ( string  filename)

Write Evolving Compositions for re-start after a crash; not called normally.

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

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

void MURE::WriteKeffData ( )

Write only information concerning Keff from one evolution step to file KDATA.

void MURE::WriteLine ( string  line,
ostream &  Out = cout,
int  IsComment = 0,
int  IsTruncated = 0,
char  separator = '&' 
)

Write a MCNP line.

Write a MCNP line (i.e of length <80 chars).

Parameters
line: the line to write
Out: where to write
IsComment: whether (1) or not (0) it is a comment (i.e., need a "C " at beginning or an " &" at the end)
IsTruncated: whether (1) or not (0) the line has less than 80 chars
separator: character to be put at the end of line
void MURE::WriteMaterial ( ostream &  Out)
private

write MCNP materials on the disk

void MURE::WriteMCNPFile ( string  FileName = "inp",
bool  tmpvol = false 
)
private

write the MCNP file on disk

void MURE::WriteMCNPFileNoTallies ( string  FileName = "inp",
bool  tmpvol = false 
)

fms function for K reactivity coeffs calculations

void MURE::WriteNFissionsData ( )

Write only information concerning Nfissions from one evolution step to file FDATA.

void MURE::WriteSurface ( ostream &  Out,
bool  tmpvol = false 
)
private

write MCNP surface on the disk

Member Data Documentation

bool MURE::fAddMaterial
private

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

BasePriority* MURE::fBasePriority
private

The Base Priority wish.

vector<string> MURE::fBaseSummary
private

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

string MURE::fBaseSummaryFileName
private

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

bool MURE::fBaseSummaryReadIn
private

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

bool MURE::fBetaCalculationRequired
private

True if delayed neutron fraction calculation wanted.

bool MURE::fBrutalStop
private

brutally stop the evolution if Keff falls below BrutalStopValue

double MURE::fBrutalStopKValue
private

The brutal stop value.

vector<Cell *> MURE::fCellofUnknownVol
private

Vector of Cell of Unknown volume used in tallies.

vector<Cell *> MURE::fCellVector
private

the vector of all Cell to write

bool MURE::fCOBRACalculationRequired
private

If we are running iteration between MCNP and COBRA.

string MURE::fComment
private

first line comment in MCNP file

double MURE::fConstantK
private

The central value of Keff around which the user wishes to keep reactivity constant. FMS.

map<Reaction,ValErr_t,EqualReaction> MURE::fControlRate
private

Global reaction rates when evolution is controled by ControlMaterial.

vector<Cell*> MURE::fControlRodCell
private

The cell that is a control rod.

bool MURE::fCorrectNormalizationFactor
private

Flag to say if Tibor's correction to tallies will be used or not.

double MURE::fCurrentMCNPTime
private

Current MCNP time in case of Evolution.

int MURE::fCurrentRKNumber
private

Current Runge Kutta Number.

double MURE::fCurrentRKStep
private

Current Runge Kutta step.

double MURE::fCurrentTime
private

Current time in case of Evolution.

string MURE::fDataDirectoryName
private

data directory name for all data files

double MURE::fDeltaK
private

The precision with which the user wishes to remain around the value of Keff = 1. FMS testing.

double MURE::fDTMaxRK
private

the maximum DT for RK intergartion.

double MURE::fDTRK
private

wanted DT for RK intergartion.

vector<double> MURE::fEnergyBins
private

Bin array for the energies.

string MURE::fEnergyBinsFileName
private

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

string MURE::fEnsdfDataDirectoryName
private

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

int MURE::fESpectrumTallyNumber
private

Number of the Tally for Energy flux spectrum.

EvolutionControl* MURE::fEvolutionControl
private

Control the Evolution.

bool MURE::fEvolutionRequired
private

If we are running MCNP many times - Evolution.

vector<EvolutiveSystem *> MURE::fEvolutiveSystemVector
private

the vector containing all the evolutive systems considered.

bool MURE::fFinishOnMCNPRun
private

The envolution ends on a MCNP run.

vector<int> MURE::fFirstContinuousZIndexInBaseSummary
private

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

vector<int> MURE::fFirstThermalZIndexInBaseSummary
private

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

string MURE::fFissionReleasedFN
private

The name of fission energy released file.

int MURE::fFitRange
private

The number of point taken for the fit.

bool MURE::fFitSigmaPhi
private

Whether or not fit SigmaPhi between 2 MCNP steps.

bool MURE::fFitSigmaPhiPC
private

True if the in PCE, fit of sigma*phi is done for the corrector step.

bool MURE::fFittedTNF
private

True when TNF extrapolation is used.

vector<double> MURE::fFitTNF
private

used for Tally Normalization Factor extrapolation (vector of TNF)

double MURE::fFitTNFSlope
private

current slope value for linear Tally Normalization Factor extrapolation

string MURE::fFPASCIIFileName
private

Name ASCII file for Fission Products.

string MURE::fFPBinaryFileName
private

Name Binary file for Fission Products.

bool MURE::fFromCopy
private

flag to know if the Copy method has been used (for destructor)

bool MURE::fFromRebuildTallies
private

flag to know if the RebuildTallies method has been used (for RebuildPerturbativeMaterials)

ValErr_t MURE::fGlobalAbsorptions
private

Global total absorption rate of the whole geometry (code -2).

ValErr_t MURE::fGlobalFissions
private

Total fission rate in the whole geometry (-6).

int MURE::fGlobalLossesTallyNumber
private

Number of the Tally counting neutron loss in the whole geometry.

ValErr_t MURE::fGlobalN2N
private

Total n2n rate in the whole geometry.

ValErr_t MURE::fGlobalN3N
private

Total n3n rate in the whole geometry.

ValErr_t MURE::fGlobalNeutronLosses
private

Total neutron loss in the whole geometry.

vector<Nucleus_ptr> MURE::fGlobalNucleiVector
private

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

ValErr_t MURE::fGlobalNuFissions
private

Total nu fission rate in the whole geometry (-6:-7).

vector<vector<Cell *> > MURE::fGroupCellVector
private

the vector of Group Cell

double MURE::fInitHNMassInTon
private

Initial mass of Heavy Nucleus in ton.

double MURE::fInterseptTNF
private

current intersept value for linear Tally Normalization Factor extrapolation

bool MURE::fIsAutoXSDIR
private

Whether the XSDIr must be automtically built or not.

vector<bool> MURE::fIsCooling
private

array (same dim as MCNP time) say that it is cooling period (no flux)

bool MURE::fIsCoolingUsed
private

true when cooling is set

bool MURE::fKeepOnlyFissionProductSelection
private

true if all fission products are not used for evolution

string MURE::fKeepOnlyFissionProductSelectionFN
private

The file name that contains the FP to keep.

double MURE::fKeff
private

Current Keff of the problem.

double MURE::fKeff_Err
private

Current Error on current Keff of the problem.

unsigned MURE::fLastCellNum
private

last Cell number used

unsigned MURE::fLastMaterialNum
private

last Material number used

unsigned MURE::fLastSurfaceNum
private

last Surface number used

int MURE::fLastTallyNum[8]
private

last Tally of type i number used

unsigned MURE::fLastTransformNum
private

last Transformation used

unsigned MURE::fLastUniverseNum
private

last Universe number used

string MURE::fListOfWantedNucleiFN
private

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

string MURE::fMassDataFileName
private

File where to find the nuclear mass data.

bool MURE::fMaterialControl
private

whether Keff control by a ControlMaterial is be used during evolution.

bool MURE::fMaterialUpdated
private

flag indicating that Materials have been updated

vector<Material *> MURE::fMaterialVector
private

the vector of all Material to write

bool MURE::fMCNP4B
private

True if MCNP 4B is used.

string MURE::fMCNPExec
private

name of MCNP exec

vector<double> MURE::fMCNPFissionsPerSecond
private

Vector of total number of fissions per seconds for each zai.

string MURE::fMCNPInputBaseFileName
private

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

string MURE::fMCNPInputFileName
private

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

double MURE::fMCNPNucleusThreshold
private

the threshold to decide to write a nucleus

string MURE::fMCNPRunDirectory
private

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

int MURE::fMCNPRunNumber
private

Current MCNP Run Number.

int MURE::fMCNPThermoRunNumber
private

Current ThermoHydraulics MCNP Run Number.

vector<double> MURE::fMCNPTimeForFit
private

used for Tally Normalization Factor extrapolation (vector of time)

double MURE::fMeanEnergySpectrum
private

The mean energy spectrum to consider (for FP yield)

vector<MeshTally*> MURE::fMeshTallyVector
private

the vector of all Mesh Tally to write

int MURE::fMessageLevel
private

message level treshold

string MURE::fMFileName
private

The name of the m file containing tallies.

string MURE::fMode
private

the mode MCNP card (N, N P, N E,P E,P, or N P E)

bool MURE::fMPI
private

True for a MCNP MPI parallel run.

string MURE::fMPIExec
private

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

int MURE::fMultiGroupDecadeMultiplcator
private

number of group/decades in multi-group run is multiply by this factor

bool MURE::fMultigroupTallies
private

True in multigroup calculation.

int MURE::fMureDataWritingVersion
private

The MURE version for data writing in evolving file.

bool MURE::fMUREInputGeometry
private

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

string MURE::fNaturalIsotopeMassFileName
private

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

double MURE::fNextMCNPTime
private

Next MCNP time in case of Evolution.

int MURE::fNprocessors
private

Number of processor in PVM/MPICH MCNP run.

int MURE::fNrk
private

Number of internal Runge-Kutta integration steps between two consecutive MCNP runs.

vector<double> MURE::fNSigmaFisPhiTotalOfNucleus
private

For a nucleus : sum of reaction rates.

string MURE::fNucleiChartFileName
private

File where to find radioactive decays.

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

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

int MURE::fNumberOfIterationNTH
private

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

double MURE::fNuSigmaFisPhiTotal
private

Nu*sigma*phi total.

int MURE::fOMP
private

number of Threads in OMP parallel compilation of mcnp.

string MURE::fOriginalSourceFile
private

Name of the Original source file.

vector<EvolutiveSystem *> MURE::fOutCoreEvolutiveSystemVector
private

the vector containing all theout core evolutive systems considered.

Shape_ptr MURE::fOutermostShape
private

The outer Shape to evaluate neutron leakage.

bool MURE::fPartialMCNPRun
private

True when doing partial run for error evalution.

string MURE::fPartialMCNPRunDir
private

Directory name for Partial Run.

bool MURE::fPartialParticleMCNPRun
private

True for partial particle number in a partial run mode, false for total particle.

double MURE::fPCEvaluationTime
private

Time at wich the Predictor-Corrector is done : either ~dT/2 or dT.

vector<Material*> MURE::fPerturbativeMaterial
private

Vector of Perturbative materials for evolution.

double MURE::fPower
private

Power of the critical reactor IN WATTS ! (EFR = 3.6e+9 W)

string MURE::fPRDMP
private

PRDMP argument (default=2J -1 1)

bool MURE::fPredictorCorrector
private

True if Predictor-Corrector evolution scheme is used.

bool MURE::fPredictorStep
private

True if the step is the Predictor step before a corrector one.

bool MURE::fPVM
private

True for a MCNP PVM parallel run.

long int MURE::fRandomSeedGenerator
private

first arg of DBCN card

string MURE::fReactionDataFile
private

File where to find if reaction are available or not.

int MURE::fReactionDepth
private

The maximum number of consecutive reactions.

TFunctor* MURE::fReactionListInitMethod
private

ReactionList Ini tMethod (e.g. InitJon())

double MURE::fReactionThreshold
private

the reaction ratio threshold for ReactionList

MCNPSource* MURE::fReactivityCoeffsSource
private

Source Used for reactivity coeffs calculations.

vector<ReactorMesh*> MURE::fReactorMesh
private

Vector containing ReactorMesh Objects if exist.

bool MURE::fRemove_r_files
private

flag to remove mcnp r files from mcnp running

int MURE::fRunMultiMCNP
private

Number of rub in a Multi MCNP mode.

double MURE::fSetAllFissionEnergies
private

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

bool MURE::fSetESpectrum
private

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

double MURE::fShortestHalfTimeThres
private

The shortest half time considered for a nucleus.

bool MURE::fSilentDebug
private

generally suppress the debug messages

bool MURE::fSmoothSigmaPhi
private

Whether or not to smooth SigmaPhi between 2 MCNP steps.

MCNPSource* MURE::fSource
private

Define a MCNP neutron source.

string MURE::fSourceFile
private

Name of the next source if using file source.

int MURE::fSourcePartialFactor
private

factor for multiplying source in the total run/partial run

double* MURE::fSourceSphereO
private

Sphere source center used in stochastic volume calculation.

double MURE::fSourceSphereR
private

Sphere source radius used in stochastic volume calculation.

vector<string> MURE::fSpecialCard
private

the vector of all Special card to write

string MURE::fSpecialIsomerFileName
private

file that explain the particular treatment of special isomers

vector<SpecialIsomer> MURE::fSpecialIsomerVector
private

vector of special Isomer treatment (like capture on Am241)

vector<string> MURE::fSpecialSurfaceCard
private

the vector of all Special Surface card

int MURE::fStartTime
private

The computer clock time at the start of the run.

vector<Surface *> MURE::fSurfaceVector
private

the vector of all Surface to write

vector<Shape *> MURE::fSurfofUnknownArea
private

Vector of Shape_ptr of Unknown area used in tallies.

double MURE::fTallyNormalizationFactor
private

factor to normalized mcnp tallies.

bool MURE::fTallyRebuild
private

Allows or not rebuild of tallies (necessary in thermal evolution)

vector<Tally*> MURE::fTallyVector
private

the vector of all Tally to write

TemperatureMap* MURE::fTemperatureMap
private

The temperature Map.

bool MURE::fThermoHydraulicsRequired
private

If we are running MCNP many times with ThermoHydraulics.

bool MURE::fTHMultigroupTallies
private

True in Thermal hydraulics multigroup calculation.

string MURE::fTimeUnit
private

use only for pretty print

double MURE::fTimeUnitConverter
private

use only for pretty print

vector<Cell *> MURE::fTrueCellVector
private

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

bool MURE::fU8StdTally
private

True if std tallies are used for U-238 in a multi-group evolution.

bool MURE::fUseEnergyBinsFile
private

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

bool MURE::fUsePrevSource
private

Whether MURE must use the preivous run source or not.

bool MURE::fUserDefaultHydraulicModel
private

Use specific hydraulics model for CHF.

string MURE::fUserGeometryInputFile
private

The input file for the user given MCNP geometry.

int MURE::fVolumeNPS
private

source neutron number for stochastic volume calculation

double MURE::fVolumeWarning
private

warning message threshold in stochastic volume precision

bool MURE::fWriteASCIIData
private

True if DATA_ files are wanted (ASCII MURE data)

bool MURE::fWriteBinaryData
private

True if BDATA_ files are wanted (binary MURE data)

bool MURE::fXe135Equilibrium
private

whether or not to use Xe-135 equilibrium treatment

double MURE::fXe135EquilibriumTime
private

the time from which Xe-135 equilibrium is "imposed"

string MURE::fXSDIRName
private

the xsdir name

vector<ZAI *> MURE::fZAIThatFission
private

Vector of all the zai which fission.


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

MURE Project, documentation generated by Doxygen 1.8.5 - Mon Nov 17 2014