MURE
|
MURE class allow to make connections between classes. More...
#include <MURE.hxx>
Public Member Functions | |
Constructor &destructor | |
MURE (string name="xsdir") | |
Default constructor. | |
MURE (const MURE &m) | |
Copy constructor (call Copy method) | |
~MURE () | |
Destructor (call Delete method) | |
void | Delete (bool DeleteConnector=true) |
Delete MURE either soft or hard and preserve ConnectorPlugin if !DeleteConnector. | |
void | Copy (const MURE &m) |
Copy MURE object. | |
Output control | |
void | SetConnectorPlugin (ConnectorPlugin *plugin) |
Set the output plugin's connector. | |
ConnectorPlugin * | GetConnectorPlugin () |
returns the Connector's Plugin | |
void | SetMessageLevel (int level) |
Set the minimal level of printed messages. | |
int | GetMessageLevel () |
void | SetSilentDebug (bool flag=true) |
Set the Silent Debug mode on. | |
bool | GetSilentDebug () |
Evolution methods | |
void | Evolution (vector< double > T, int Start=0, bool BrutalStop=false) |
Perform the evolution. | |
bool | IsEvolutionRequired () |
void | SetEvolutionRequired (bool flag=true) |
void | SetPower (double Power) |
EvolutionSolver * | GetEvolutionSolver () |
void | AddList2DepletionTallyList (vector< ZAI * > NucleiList, int matnum) |
void | AddZAI2GlobalDepletionTallyList (ZAI Nuclei) |
bool | IsInDepletionList (ZAI *deplzai, int matnum) |
void | PrintDepletionTallyList () |
int | GetSizeOfDepletionTallyList () |
vector< vector< ZAI * > > | GetDepletionTallyListZAI () |
vector< int > | GetDepletionTallyListINT () |
Flux normalization | |
void | SetTallyNormalizationFactor (double val) |
set Flux normalization value. | |
void | SetAllFissionEnergies (double Energy=2.0e08) |
Set the fission energy released for all nuclei. | |
double | GetFissionEnergies () |
void | SetFissionReleasedFile (string name) |
Set the fission energy released from a file. | |
string | GetFissionReleasedFile () |
MC neutron source | |
void | SetSource (MCSource *source) |
Set the MC particle source. | |
MCSource * | GetSource () |
Get the MC particle source. | |
Particle modes (i.e. which particles are transported, (MCNP only)) | |
void | SetModeN () |
void | SetModeNP () |
void | SetModeNE () |
void | SetModeNPE () |
void | SetModePE () |
void | SetModeP () |
void | SetMode (string MyMode="N") |
string | GetMode () |
Reactions, spectrum, temperatures, data base | |
void | SetSpectrumType (string type="thermal") |
Set the spectrum type. | |
double | GetSpectrumType () |
returns the average energy for a spectrum type. | |
void | SetTemperatureMap (double *T=nullptr, int NT=0) |
Set The TemperatureMap. | |
void | SetTemperatureMap (TemperatureMap *TM) |
TemperatureMap * | GetTemperatureMap () |
BasePriority * | GetBasePriority () |
void | SetBasePriority (BasePriority *UserBasePriority) |
Set the BasePriority. | |
void | SetReactionListInitMethod (TSpecificFunctor< ReactionList > *method) |
Set the ReactionList Init Method. | |
TFunctor * | GetReactionListInitMethod () |
Nuclei Tree Seclection | |
void | KeepOnlyFissionProductSelection (string name="") |
Use only some fission products for evolution. | |
string | GetKeepOnlyFissionProductSelectionFN () |
bool | IsOnlyFissionProductSelection () |
void | SetReactionThreshold (double sigma=1e-2) |
double | GetReactionThreshold () |
void | SetMCNucleusThreshold (double epsilon=1e-6) |
Set threshold to decide to write a nucleus in the MC input. | |
double | GetMCNucleusThreshold () |
void | SetExtendedReactionList () |
bool | GetExtendedReactionList () |
void | SetListOfWantedNucleiFN (string name) |
Set the List of Wanted Nuclei file name. | |
string | GetListOfWantedNucleiFN () |
void | SetShortestHalfLife (double time=3600) |
Set the shortest half time to consider for evolution. | |
double | GetShortestHalfLife () |
void | AddReactionNameForcedCut (string NewReactionNameForcedCut) |
Set Reactions that have to be cut regardless of the cross sections and for all nuclei. | |
vector< string > | GetReactionNamesForcedCutVector () |
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei. | |
void | SetReactionNumbersForcedCutVector (vector< int > ReactionNumbersForcedCutUser) |
Set list of Reactions that have to be cut regardless of the cross sections and for all nuclei. | |
void | AddReactionNumberForcedCut (int NewReactionNumberForcedCut) |
Add a new Reaction that have to be cut regardless of the cross sections and for all nuclei. | |
vector< int > | GetReactionNumbersForcedCutVector () |
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei. | |
vector< string > | GetAllPossibleReactionNames () |
Get list of All Possible Reactions that can be taken into account by SMURE. | |
void | SetZAIsForcedCutVector (vector< ZAI * > ZAIsForceCutUser) |
void | AddZAIForcedCut (int Z, int A, int I=0) |
vector< ZAI * > | GetZAIsForcedCutVector () |
Add a nuclei to the list of nuclei that have to be cut regardless of their half life. | |
void | PutElasticXSinDATA (bool RegisterElasticXSinDATA=true) |
bool | IsElasticXSinDATA () |
void | SetReactionDepth (int depth=10000) |
Set the maximum number of consecutive reactions to consider for evolution. | |
int | GetReactionDepth () |
Data files &directories | |
void | SetDATADIR (string name="") |
Set the data directory path to name. | |
string | GetDATADIR () |
string | GetEnvVar (const std::string envName) |
Get environment variable such as DATAPATH. | |
string | GetDATAPATH () |
Get environment DATAPATH variable. | |
void | SetEnsdfDATADIR (string name="") |
Set the ENSDF data directory path to name. | |
string | GetEnsdfDATADIR () |
void | SetNucleiChartFileName (string name="chart.jeff3.1.1") |
Set Name of the decay mode file. | |
string | GetNucleiChartFileName () |
void | SetReactionDataFileName (string name="AvailableReactionChart.dat") |
Set Name of the Available reaction file for the chart. | |
string | GetReactionDataFileName () |
void | SetMassDataFileName (string name="Mass.dat") |
Set name of the isotopes mass file. | |
string | GetMassDataFileName () |
void | SetNaturalIsotopeMassFileName (string name="NaturalIsotopeMass.dat") |
Set name of the NATURAL isotopes mass file. | |
string | GetNaturalIsotopeMassFileName () |
void | SetFPASCIIFileName (string name="FPavailable.dat") |
Set Name ASCII file for Fission Products. | |
char * | GetFPASCIIFileName () |
void | SetFPBinaryFileName (string name="FPyield.bin") |
Set Name Binary file for Fission Products. | |
char * | GetFPBinaryFileName () |
void | SetBaseSummaryFileName (string name="BaseSummary.dat") |
set the BaseSummary.dat file name | |
string | GetBaseSummaryFileName () |
void | ReadSpecialIsomerFile (map< int, map< int, map< int, ZAI * > > > &TheChart) |
Read Special Isomer File (see SpecialIsomer class) | |
void | SetSpecialIsomerFileName (string name="") |
Set Special Isomer File name (see SpecialIsomer class) | |
vector< SpecialIsomer > & | GetSpecialIsomerVector () |
MC code related methods (exec, output dir, ...) | |
void | SetMCExec (string Exec) |
Set Name of MC exec. | |
string | GetMCExec () |
void | SetUseNewRandomSeed (long int dbcn=- 1) |
Use a new Random Seed number in MC run. | |
long int | GetRandomSeed () |
void | SetAutoXSDIR (bool cond=true) |
Tells MURE to build automatically the xsdir/xsdata file. | |
bool | IsAutoXSDIR () |
void | RemoveXSDIR () |
remove xsdir/xsdata file. | |
void | SetXSDIRName (string acefile="xsdir") |
string | GetXSDIRName () |
void | SetMCRunDirectory (string name="MUREOutput", string option="") |
Set the MC run directory name. | |
string | GetMCRunDirectory () |
void | FindMCRunDirectory (string OriginalMCRunDir) |
Find the MC Run Directory according to evoluion step (PC, Partial run, ...) | |
void | BuildMCFile (string FileString="") |
Generate and Write input file on disk for the MC code (find missing volumes before) | |
string | GetMCInputBaseFileName () |
string | GetRealMCInputFileName () |
void | SetMCInputFileName (string Name) |
void | SetRealMCInputFileName (string Name) |
void | SetMaximumNumberOfDigitInEvolution (int maxi) |
set the maximum Number of digits to number evolution (default = 3) | |
int | GetMaximumNumberOfDigitInEvolution () |
get the maximum Number of digits to number evolution (default = 3) | |
void | ConstructFileName (string FileName) |
Construct MC input filename. | |
string | ConstructFileName (string FileName, int EvoNum, int ThermoNum=- 1) |
Construct a temporary MC input filename. | |
bool | IsAutoNumberFileName () |
void | SetAutoNumberFileName (bool flag) |
void | SetRunMultiMC (int n) |
int | GetRunMultiMC () |
void | RunMultiMC (int n) |
Run n MC codes and adds MC detector output file to make one (mean and error of the n runs for all tallys &keff). | |
void | RunMC () |
Run MC code!!!! | |
MC Parallel Run Mode | |
void | SetPVM (int n_processor) |
Set the processor number in PVM mode. | |
bool | IsPVM () |
void | SetMPI (int n_processor, string MPIExec="mpiexec") |
Set the processor number in MPICH mode. | |
bool | IsMPI () |
string | GetMPIExec () |
void | SetOMP (int n_thread) |
Set the processor number in OpenMP mode. | |
int | GetOMP () |
int | GetNProcessors () |
MC special methods | |
void | AddSpecialCard (string) |
Add General card to MC. | |
vector< string > & | GetSpecialCard () |
void | SetSpecialCard (int i, string str) |
void | SetComment (string Comment="This comment is never read...") |
string | GetComment () |
void | AddSpecialSurface (string) |
Add string card associated to the MC's Surface definitions. | |
vector< string > | GetSpecialSurfaceCard () |
Thermal-hydraulics methods | |
int | GetMCNPThermoRunNumber () |
void | SetMCNPThermoRunNumber (int value=0) |
void | IncreaseMCNPThermoRunNumber () |
void | BuildCOBRAFiles () |
Build COBRA files. | |
void | SetCOBRACalculationRequired (int NumberOfIteration) |
void | SetThermoHydraulicsRequired (bool flag=true) |
bool | IsThermoHydraulicsRequired () |
void | SetUserDefaultHydraulicModel () |
Build automatic tallies in multigroup run without using the perturbative materials. | |
Keff methods | |
double | GetKeff () |
double | GetKeff_Err () |
void | SetKeff (double k) |
void | SetKeff_Err (double dk) |
void | UpdateKeff () |
Read MC's Output file to set Keff value (can be used without evolution) | |
Volume calculation | |
bool | IsVolumeCalculationNeeded () |
return true if a volume is missing for a cell in which a tally is asked | |
void | FindMissingVolume () |
Find Missing volume (call ConnectorPlugin method) | |
void | SetVolumeNPS (int nps=400000) |
int | GetVolumeNPS () |
void | SetVarianceVolumeWarning (double variance=0.005) |
double | GetVarianceVolumeWarning () |
void | SetOutermostShape (Shape_ptr s) |
Set the most outer shape. | |
Shape_ptr | GetOutermostShape () |
void | SetOutermostCell (Cell *c) |
Cell * | GetOutermostCell () |
void | SetSourceSphereRadius (double R) |
void | SetSourceSphereCenter (double *O) |
double | GetSourceSphereRadius () |
double * | GetSourceSphereCenter () |
void | AddCellOfUnknownVolume (Cell *theCell) |
add thecell to the UnkownVolume cell vector | |
void | AddShapeOfUnknownArea (Shape *theShape) |
add theShep to the UnkownSurface Shape vector | |
vector< Cell * > & | GetCellOfUnknownVolume () |
vector< Shape * > & | GetShapeOfUnknownArea () |
Cell * | FindCellOfUnknownVolume (int CellNo) |
void | SetFromVolumeCalculation (bool flag) |
bool | GetFromVolumeCalculation () |
Miscellaneous methods | |
void | StartGUI () |
Start the TCL GUI (Examtree.tcl) to see the Nueclei Tree. | |
void | IntegrateMassInEvolvingCells () |
Sum all the evolving masses in the problem. | |
double | GetTotalAtoms () |
Sum all the evolving atoms in the problem. | |
void | WriteGlobalNucleiTree (string fname="UnionOfAllTrees.dat") |
write the union of all nuclear trees (evolving nuclei in globalnucleivector) | |
void | AddToGlobalNucleiVector (Nucleus_ptr &nuc) |
add a nucleus to GlobalNucleiVector | |
void | AddToNucleiErrorMap (Nucleus *nuc, string ErrType) |
void | SumUpNucleiError (ostream &Out=cerr) |
Write in the chosen output the list of the nuclei with problems, and the type of these problems. | |
map< Nucleus *, string > & | GetNucleiErrorMap () |
vector< Nucleus_ptr > & | GetGlobalNucleiVector () |
bool | IsBaseSummaryRead () |
void | ReadBaseSummary () |
Read the whole base summary file to increase speed. | |
string | GetBaseSummaryLine (int i) |
Get the ith base summary line. | |
void | AddLineToBaseSummary (string line) |
Add a line to the read base summary. | |
int | GetFirstContinuousZIndexInBaseSummary (int z) |
int | GetFirstThermalZIndexInBaseSummary (int z) |
void | CheckExtensions () |
Check if two different nuclei have the same extension and correct if necessary. | |
void | CheckNucleusDataBaseError () |
Check for nuclei error in data base (T, base name, ...) | |
void | SetMCNPUserDefinedGeometry () |
bool | IsMCNPUserDefinedGeometry () |
void | SetUserGeometryInputFile (string name) |
set the file name of the user defined MCNP geometry | |
string | GetUserGeometryInputFile () |
void | SaveBackupMureFile (string TheFileName) |
Backup copy of the MURE source file (.cxx) in the MC run directory. | |
string | GetTotalRunTime () |
Returns a string that tells how long it is since MURE's code is running. | |
double | GetRunTime () |
void | Dump () |
Dump a MURE object. | |
void | CheckMandatoryPointeur () |
Verify the mandatory pointeur exists (such as MCSource, EvolutionSolver and ConnectrPlugin) | |
double | FindFissileEnrichment (double DesiredKeff, double EnrichmentFirstGuess, Material *Fertile, Material *Fissile, Material *&Target) |
void | SetSerpentDopplerBroadening () |
bool | IsSerpentDopplerBroadening () |
void | SetDisableViolentSimplifyNode (bool flag) |
bool | GetDisableViolentSimplifyNode () |
Tally methods | |
void | AddTally (MureTally *T) |
Add a Tally to Mure. | |
void | AddMeshTally (MeshTally *MT) |
Add a MeshTally to Mure (for MCNP) | |
vector< MeshTally * > & | GetMeshTally () |
vector< MureTally * > & | GetTallyVector () |
void | ResetDetectorVector () |
Remove all tallies. | |
MureTally * | FindTally (int TallyNo) |
return the tally that has the number TallyNo | |
int | NextTallyNum (int i=0) |
returns the next Tally number of type i available | |
void | AddTimeEnergyGrid (MureTimeEnergyGrid *TheEnergyGrid) |
add a Time and/or Energy grid for tallies | |
vector< MureTimeEnergyGrid * > | GetTimeEnergyGrids () |
return the Time and/or Energy grid for tallies | |
MureTimeEnergyGrid * | FindTimeEnergyGrid (int num) |
return the TimeEnergyGrid of number num | |
bool | IsSameTimeEnergyGridForAllTallies () |
void | SetSameTimeEnergyGridForAllTallies () |
set that all tallies must use the same TimeEnergyGrid | |
void | SetESpectrum () |
bool | IsESpectrum () |
void | UseEnergyBinsFile (string Filename) |
uses the filename provided for building the energy binning. (single column file with energies in eV)! | |
vector< double > & | GetEnergyBins () |
bool | IsUseEnergyBinsFile () |
void | SetESpectrumTallyNumber (int num) |
int | GetESpectrumTallyNumber () |
Vector management | |
void | SetMaterialNum (int num) |
int | GetMaterialNum () |
int | NextCellNum () |
returns the next Cell number available | |
int | NextSurfaceNum () |
returns the next Surface number available | |
int | NextMaterialNum () |
returns the next Material number available | |
int | NextUniverseNum () |
returns the next Universe number available | |
int | NextTransformationNum () |
returns the next Transformation number available | |
void | SetLastTallyNum (int Num) |
Set the last tally number to Num (for MCNP user input geometry) | |
vector< Cell * > & | GetCellVector () |
void | AddCell (Cell *theCell) |
Cell * | FindCell (Cell *TheCell) |
return the Cell of same number than TheCell | |
Cell * | FindCell (int CellNo) |
return the Cell of number CellNo | |
vector< Cell * > & | GetTrueCellVector () |
vector< PinCell * > & | GetPinCellVector () |
void | AddPinCell (PinCell *thePinCell) |
PinCell * | FindPinCell (PinCell *pin) |
PinCell * | FindPinCell (int Universe) |
vector< Material * > & | GetMaterialVector () |
void | AddMaterial (Material *theMaterial) |
Add a Material to the Material Vector. | |
void | RemoveMaterial (Material *TheMaterial) |
Remove a Material from the Material vector. | |
Material * | FindMaterial (Material *TheMaterial) |
return the material of same number than TheMaterial | |
Material * | FindMaterial (int MaterialNumber) |
return the material of number MaterialNumber | |
void | DontAddMaterial () |
bool | IsAllowedToAddMaterial () |
void | AddSurfaceCard (SurfaceCard *card) |
Add a SurfaceCard to the SurfaceCard Vector. | |
void | RemoveSurfaceCard (vector< SurfaceCard * > ::iterator it) |
remove a Surface to the Surface Vector. | |
vector< SurfaceCard * > & | GetMureSurfaceCardVector () |
void | ClearSurfaceCardVector () |
void | AddTransformation (Transformation *tr) |
vector< Transformation * > & | GetTransformationVector () |
Transformation * | FindTransformation (int transformation_number) |
return the transformation with this number | |
Friends | |
class | MureTrojan |
fraction of delayed neutron calculation | |
static bool | fIsBannerPrinted = false |
Print the banner only once. | |
int | fStartTime |
The computer clock time at the start of the MURE run. | |
int | fMessageLevel |
message level treshold | |
bool | fSilentDebug |
generally suppress the debug messages | |
bool | fMaterialUpdated |
flag indicating that Materials have been updated | |
int | fLastCellNum |
last Cell number used | |
int | fLastSurfaceNum |
last Surface number used | |
int | fLastMaterialNum |
last Material number used | |
int | fLastUniverseNum |
last Universe number used | |
int | fLastTallyNum [8] |
last Tally of type i number used | |
string | fComment |
first line comment in MC file | |
vector< Cell * > | fCellVector |
the vector of all Cell to write | |
vector< PinCell * > | fPinCellVector |
the vector of all PinCell to write | |
vector< Material * > | fMaterialVector |
the vector of all Material to write | |
bool | fAddMaterial |
false if you don't want to add material in fMaterialVector | |
vector< Nucleus_ptr > | fGlobalNucleiVector |
Union of all the nuclei used in all the evolving materials. | |
vector< Cell * > | fTrueCellVector |
Vector of all true Cells (which are non void) which shall be written to MC (which fNumber is not negative) | |
vector< Cell * > | fCellOfUnknownVolume |
Vector of Cell of Unknown volume used in tallies. | |
vector< Shape * > | fShapeOfUnknownArea |
Vector of Shape_ptr of Unknown area used in tallies. | |
vector< SurfaceCard * > | fSurfaceCardVector |
the vector of all Surface to write (in the MC output format) | |
vector< MureTally * > | fTallyVector |
the vector of all Tally to write | |
vector< MeshTally * > | fMeshTallyVector |
the vector of all Mesh Tally to write | |
vector< Transformation * > | fTransformationVector |
the vector geometrical transformation | |
string | fDataDirectoryName |
data directory name for all data files | |
string | fEnsdfDataDirectoryName |
data directory name for ENSDF data (added B.LENIAU) | |
string | fMCRunDirectory |
name of the directory in which the MC output files are written | |
string | fMCInputBaseFileName |
The Base Name of the input file name generated for MC (such as "inp") | |
string | fMCInputFileName |
The final file name for MC (such as inpXXX for step XXX of an Evolution) | |
bool | fAutoNumberFileName |
whether or not use automatic numbering of evolving MC input files (e.g. XXX for inp base name) | |
int | fNbOfDigitInEvo |
Number of digits to number evolution (default = 3) | |
TemperatureMap * | fTemperatureMap |
The temperature Map. | |
map< Nucleus *, string > | fNucleiErrorMap |
Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely) | |
BasePriority * | fBasePriority |
The Base Priority wish. | |
double | fReactionThreshold |
the reaction ratio threshold for ReactionList | |
TFunctor * | fReactionListInitMethod |
ReactionList Init tMethod (e.g. InitPTO()) | |
double | fShortestHalfTimeThres |
The shortest half life considered for a nucleus. | |
int | fReactionDepth |
The maximum number of consecutive reactions. | |
double | fMeanEnergySpectrum |
The mean energy spectrum to consider (for FP yield) | |
double | fMCNucleusThreshold |
the threshold to decide to write a nucleus in MC's input file | |
double | fSetAllFissionEnergies |
If > zero, then we will override correct fission energies with this value. | |
string | fFissionReleasedFN |
The name of fission energy released file. | |
bool | fKeepOnlyFissionProductSelection |
true if all fission products are not used for evolution | |
string | fKeepOnlyFissionProductSelectionFN |
The file name that contains the FP to keep. | |
string | fSpecialIsomerFileName |
file that explain the particular treatment of special isomers | |
vector< SpecialIsomer > | fSpecialIsomerVector |
vector of special Isomer treatment (like capture on Am241) | |
string | fListOfWantedNucleiFN |
File name of the list of wanted nuclei (and ONLY these) | |
vector< int > | fReactionNumbersForcedCutVector |
List of reactions type that should not be considered even if the cross section are bigger than fReactionThreshold. Given by SMURE reaction number and not MT number. | |
vector< ZAI * > | fZAIsForcedCutVector |
List of ZAI that should not be considered even if their half life are longer than fShortestHalfTimeThres. | |
bool | fRegisterElasticXSinDATA |
true if elastic scattering cross section registered in the DATA file next to other XSs | |
string | fXSDIRName |
the xsdir/ACElib name | |
bool | fIsAutoXSDIR |
Whether the XSDIr must be automtically built or not. | |
string | fMCExec |
name of MC exec(mcnp5, sss2, ...) | |
int | fVolumeNPS |
source neutron number for stochastic volume calculation | |
double | fVarianceVolumeWarning |
warning message threshold in stochastic volume precision | |
double | fSourceSphereR |
Sphere source radius used in stochastic volume calculation. | |
double * | fSourceSphereO |
Sphere source center used in stochastic volume calculation. | |
bool | fIsFromVolumeCalculation |
Flag that control copy/delete of MURE depending on the call time. | |
string | fNucleiChartFileName |
File where to find radioactive decays modes &branching ratios. | |
string | fReactionDataFile |
File where to find if reaction are available or not. | |
string | fMassDataFileName |
File where to find the nuclear mass data. | |
string | fNaturalIsotopeMassFileName |
File where to find the nuclear mass data for natural isotopes. | |
string | fFPASCIIFileName |
Name ASCII file for Fission Products. | |
string | fFPBinaryFileName |
Name Binary file for Fission Products. | |
string | fBaseSummaryFileName |
Name of the Base Summary file to find info on availlable data bases. | |
vector< string > | fBaseSummary |
Table to put the Base summary file in memory for quick access. | |
bool | fIsBaseSummaryRead |
Flag to say if Base summary has been read in or not. | |
vector< int > | fFirstContinuousZIndexInBaseSummary |
Store line number where to go to find Z entries for continuous energy in Base Summary. | |
vector< int > | fFirstThermalZIndexInBaseSummary |
Store line number where to go to find Z entries for thermal data in Base Summary. | |
string | fMode |
the mode MCNP card (N, N P, N E, P E, P, or N P E). For Serpent, only mode N is taken. | |
vector< string > | fSpecialSurfaceCard |
the vector of all Special Surface card | |
vector< string > | fSpecialCard |
the vector of all Special card to write | |
int | fLastTransformNum |
last Transformation used | |
bool | fThermoHydraulicsRequired |
If we are running MCNP many times with ThermoHydraulics. | |
bool | fCOBRACalculationRequired |
If we are running iteration between MCNP and COBRA. | |
int | fNumberOfIterationNTH |
Number of Neutronics/thermalhydraulics iterations required at each fuel depletion step. | |
bool | fUserDefaultHydraulicModel |
Use specific hydraulics model for CHF. | |
int | fMCNPThermoRunNumber |
Current ThermoHydraulics MCNP Run Number. | |
double | fKeff |
Current Keff of the problem. | |
double | fKeff_Err |
Current Error on current Keff of the problem. | |
bool | fSetESpectrum |
flag for tallying Energy Bins in all "True" Cells (Cells which do contain a non void material) | |
bool | fUseEnergyBinsFile |
flag for using a user provided data file with desired energy binning. | |
string | fEnergyBinsFileName |
name of the user provided data file with desired energy binning. | |
int | fESpectrumTallyNumber |
Number of the Tally for Energy flux spectrum. | |
vector< MureTimeEnergyGrid * > | fTimeEnergyGrids |
vector< double > | fEnergyBins |
vector of Energies in eV read from the fEnergyBinsFileName file that will be put in a MureTimeEnergyGrid by a tally | |
bool | fIsSameTimeEnergyGridForAllTallies |
Shape_ptr | fOutermostShape |
The outer Shape to evaluate neutron leakage or volume. | |
Cell * | fOutermostCell |
int | fNprocessors |
Number of processor in PVM/MPICH/OpenMP MC run. | |
string | fMPIExec |
MPI Exec name to launch MC (mpiexec, mpirun, ...) | |
bool | fPVM |
True for a MC PVM parallel run. | |
bool | fMPI |
True for a MC MPI parallel run. | |
int | fOMP |
number of Threads in OpenMP parallel compilation of MC. | |
int | fRunMultiMC |
Number of run in a Multi MC mode. | |
long int | fRandomSeedGenerator |
the random seed value | |
bool | fForceConstRandomSeedForMultiRun |
MCSource * | fReactivityCoeffsSource |
Source Used for reactivity coeffs calculations. | |
bool | fMUREInputGeometry |
True if the geometry is a MURE geometry and false for a user defined MCNP geometry. | |
string | fUserGeometryInputFile |
The input file for the user given MCNP geometry. | |
bool | fBetaCalculationRequired |
True if delayed neutron fraction calculation wanted. | |
vector< double > | fNSigmaFisPhiTotalOfNucleus |
For a nucleus : sum of reaction rates. | |
ConnectorPlugin * | fConnectorPlugin |
Pointer to couple MURE with MCNP, Serpent... | |
bool | fIsConnectorPluginCalled |
bool | fEvolutionRequired |
If an Evolution is required (i.e. many MC's run steps) | |
EvolutionSolver * | fEvolutionSolver |
The evolution pointer connector. | |
bool | fSerpentDopplerBroadening |
bool | fExtendedReactionList |
vector< int > | fMaterialForTallyNormalization |
Material numbers to be used for partial normalization to power. | |
vector< ZAI * > | fGlobalZAIDepletionTallyList |
vector< vector< ZAI * > > | fZAIDepletionTallyList |
List of ZAIs that should be tallied in multigroup mode for each material. | |
vector< int > | fMatnumDepletionTallyList |
List of ZAIs that should be tallied in multigroup mode. | |
bool | fDisableViolentSimplifyNode |
Material number for which tallying of isotopes should happen. | |
void | SetBetaCalculation (bool flag=true) |
bool | IsBetaCalculation () |
bool | IsNucleusUsedForBeta (int Z, int A) |
Check on used or unused nucleus in delayed neutron fraction calculation. | |
void | CalculateBetaI () |
Method called in MURE input file to calculate NOW the delayed neutron fractions. | |
void | SumAllCellToBetaCalculation () |
Sums all beta by cell to obtain the total one. | |
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 | |
void | SetMaterialForPartialTallyNormalization (int matnum) |
void | SetMaterialForPartialTallyNormalization (vector< int > matnum) |
vector< int > | GetMaterialForPartialTallyNormalization () |
void | PrintBanner () |
Print a banner at start of MURE. | |
MURE class allow to make connections between classes.
The aim of this class is to keep track of object/pointer used in order to take all the input information into account. One has to used the global pointer (very ugly) gMURE to interact with all MURE classes. It is a kind of Super Class knowing every body. There are 2 very important pointeurs fEvolutionSolver and fConnectorPlugin ; the first one controls all evolution parameters. One access to it via gMURE->GetEvolutionSolver(). see EvolutionSolver class for more details. The second one MUST be used in conjunction to a namespace and allows the coupling of MURE object to other codes (for example MCNP or Serpent) ; Any MURE input file MUST DEFINE a Connector and set it to MURE.
MURE::MURE | ( | string | name = "xsdir" | ) |
Default constructor.
MURE::MURE | ( | const MURE & | m | ) |
Copy constructor (call Copy method)
MURE::~MURE | ( | ) |
Destructor (call Delete method)
|
inline |
void MURE::AddCellOfUnknownVolume | ( | Cell * | theCell | ) |
add thecell to the UnkownVolume cell vector
void MURE::AddLineToBaseSummary | ( | string | line | ) |
Add a line to the read base summary.
void MURE::AddList2DepletionTallyList | ( | vector< ZAI * > | NucleiList, |
int | matnum | ||
) |
void MURE::AddReactionNameForcedCut | ( | string | NewReactionNameForcedCut | ) |
Set Reactions that have to be cut regardless of the cross sections and for all nuclei.
Sigma for these reactions are considered to be zero for all the rest of the simulation. Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)
|
inline |
void MURE::AddSpecialCard | ( | string | card | ) |
void MURE::AddSpecialSurface | ( | string | card | ) |
void MURE::AddSurfaceCard | ( | SurfaceCard * | card | ) |
Add a SurfaceCard to the SurfaceCard Vector.
void MURE::AddTally | ( | MureTally * | T | ) |
Add a Tally to Mure.
void MURE::AddTimeEnergyGrid | ( | MureTimeEnergyGrid * | TheEnergyGrid | ) |
add a Time and/or Energy grid for tallies
void MURE::AddToGlobalNucleiVector | ( | Nucleus_ptr & | nuc | ) |
add a nucleus to GlobalNucleiVector
|
inline |
< add a ZAI to NucleiErrorMap with its problem type
|
inline |
< Add a (geometrical) transformation to the vector
void MURE::AddZAI2GlobalDepletionTallyList | ( | ZAI | Nuclei | ) |
void MURE::AddZAIForcedCut | ( | int | Z, |
int | A, | ||
int | I = 0 |
||
) |
void MURE::BuildCOBRAFiles | ( | ) |
Build COBRA files.
void MURE::BuildMCFile | ( | string | FileString = "" | ) |
Generate and Write input file on disk for the MC code (find missing volumes before)
void MURE::CalculateBetaI | ( | ) |
Method called in MURE input file to calculate NOW the delayed neutron fractions.
void MURE::CheckExtensions | ( | ) |
Check if two different nuclei have the same extension and correct if necessary.
void MURE::CheckMandatoryPointeur | ( | ) |
Verify the mandatory pointeur exists (such as MCSource, EvolutionSolver and ConnectrPlugin)
void MURE::CheckNucleusDataBaseError | ( | ) |
Check for nuclei error in data base (T, base name, ...)
void MURE::ClearSurfaceCardVector | ( | ) |
void MURE::ConstructFileName | ( | string | FileName | ) |
Construct MC input filename.
string MURE::ConstructFileName | ( | string | FileName, |
int | EvoNum, | ||
int | ThermoNum = - 1 |
||
) |
Construct a temporary MC input filename.
void MURE::Delete | ( | bool | DeleteConnector = true | ) |
Delete MURE either soft or hard and preserve ConnectorPlugin if !DeleteConnector.
|
inline |
< The Material vector is not fill: the puspose is to avoid an error when using OpenMP 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 Monte-Carlo (MC) transport run is performed or a cooling period begins; if the time vector does not begin by 0, this value is added. Between these times, fuel evolution is performed. This method performs evolution for each EvolutiveSystem (i.e. each evolving Material). See EvolutionSolver class for more details.
The Start argument is the step number at which step evolution should restart (default is 0). Useful only when one wishes to start off the evolution again from a given step. Of course, previous steps (before Start) must exist in the MC run directory because material compositions is read from the MURE (B)DATA_XXX output files!
T | Time vector at which MC runs are done or Cooling periods are started (in seconds) |
Start | Number of the first MC step to restart evolution; |
BrutalStop | Stop evolution when keff falls below BrutalStopValue (if 0, do not care about keff) |
Cell * MURE::FindCellOfUnknownVolume | ( | int | CellNo | ) |
double MURE::FindFissileEnrichment | ( | double | DesiredKeff, |
double | EnrichmentFirstGuess, | ||
Material * | Fertile, | ||
Material * | Fissile, | ||
Material *& | Target | ||
) |
Material * MURE::FindMaterial | ( | int | MaterialNumber | ) |
return the material of number MaterialNumber
return the material of same number than TheMaterial
void MURE::FindMCRunDirectory | ( | string | OriginalMCRunDir | ) |
Find the MC Run Directory according to evoluion step (PC, Partial run, ...)
void MURE::FindMissingVolume | ( | ) |
Find Missing volume (call ConnectorPlugin method)
PinCell * MURE::FindPinCell | ( | int | Universe | ) |
MureTally * MURE::FindTally | ( | int | TallyNo | ) |
return the tally that has the number TallyNo
MureTimeEnergyGrid * MURE::FindTimeEnergyGrid | ( | int | num | ) |
return the TimeEnergyGrid of number num
Transformation * MURE::FindTransformation | ( | int | transformation_number | ) |
return the transformation with this number
vector< string > MURE::GetAllPossibleReactionNames | ( | ) |
Get list of All Possible Reactions that can be taken into account by SMURE.
Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)
|
inline |
< returns the BasePriority
|
inline |
< return the BaseSummary.dat file name
string MURE::GetBaseSummaryLine | ( | int | i | ) |
Get the ith base summary line.
|
inline |
|
inline |
< First line of MC file
ConnectorPlugin * MURE::GetConnectorPlugin | ( | ) |
returns the Connector's Plugin
|
inline |
< returns the Data directory where data files are stored
string MURE::GetDATAPATH | ( | ) |
Get environment DATAPATH variable.
|
inline |
|
inline |
|
inline |
|
inline |
< Energy read from file define in UseEnergyBinsFile (Energy are in ev !!!)
|
inline |
string MURE::GetEnvVar | ( | const std::string | envName | ) |
Get environment variable such as DATAPATH.
if env variable not set, the string is "VARIABLE.Not_Set.Error"
|
inline |
< set the number of theEnergy spectrum global tally
|
inline |
< get the EvolutionSolver, the class managing the evolution
|
inline |
|
inline |
< Use to find faster z entries for continuous energy in Base Summary
|
inline |
< Use to find faster z entries for thermal data in Base Summary
|
inline |
< Get fission energy released used for all nuclei
|
inline |
< Get fission energy released file used
|
inline |
< returns ASCII file name for FP
|
inline |
< returns Binary file name for FP yield
|
inline |
|
inline |
< Returns the global nuclei vector
|
inline |
< return the file name that contains the FP to keep
|
inline |
< returns the value of the total combinated estimation of the Keff of the current run
|
inline |
< returns the error associated to the value of the total combinated estimation of the Keff of the current run
|
inline |
< returns the List of Wanted Nuclei file name
|
inline |
< returns the name of the isotopes masses file
|
inline |
|
inline |
< set last Material number
|
inline |
get the maximum Number of digits to number evolution (default = 3)
|
inline |
<Get the name of the MC exec.
|
inline |
< returns MC input Base file name (e.g. "inp" for an evo step inpXXX).
|
inline |
< returns current MCNP run number for thermo
|
inline |
< returns the threshold to decide to write a nucleus
|
inline |
< Returns MC run directory name.
|
inline |
< returns the minimal level of printed messages
|
inline |
< returns particle transported mode
|
inline |
< return mpiexec name
|
inline |
< return the Surface Vector.
|
inline |
< returns the name of the natural isotopes masses file
|
inline |
< return processors number for pvm/mpich run
|
inline |
< Get Name of the decay mode file.
|
inline |
< Returns the Nucleus Error storing map
|
inline |
< return thread number for parallel MC run
|
inline |
< returns the most outer cell
|
inline |
< returns the most outer shape_ptr
|
inline |
|
inline |
< Name of the Available reaction file for the chart.
|
inline |
< return the maximum number of consecutive reactions
|
inline |
< return the fReactionListInitMethod
vector< string > MURE::GetReactionNamesForcedCutVector | ( | ) |
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei.
Sigma for these reactions are considered to be zero for all the rest of the simulation. Reaction are named by their SMURE name in the form similar to (N_2N) or (N_alpha) (n, gamma) is (N_gamma)
|
inline |
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nuclei.
Reaction are the MT number. (n, gamma) is 102, ...
|
inline |
< Get the reaction ratio threshold for ReactionList
|
inline |
< returns real MC input file name(eg. inpXXX).
|
inline |
< get the number of run in multi MC
|
inline |
< returns the difference between the start system clock time and now
|
inline |
|
inline |
< return the shortest half time to consider for evolution.
|
inline |
< return true for if SilentDebug is on
|
inline |
MCSource * MURE::GetSource | ( | ) |
Get the MC particle source.
|
inline |
< set the center of the source Sphere (stochastic volume calculation)
|
inline |
< set the radius of the source Sphere (stochastic volume calculation)
|
inline |
< the vector of all Special card to write
|
inline |
< return the SpecialIsomer vector
|
inline |
< the vector of all Special Surface card
|
inline |
returns the average energy for a spectrum type.
It returns 0.025eV, 500keV or 14MeV depending on the value set by MURE::SetSpectrumType
|
inline |
< Get the MureTally vector (abstract and must be overriden by MCNP/Serpent tallies)
|
inline |
< returns the Temperature Map
vector< MureTimeEnergyGrid * > MURE::GetTimeEnergyGrids | ( | ) |
return the Time and/or Energy grid for tallies
double MURE::GetTotalAtoms | ( | ) |
Sum all the evolving atoms in the problem.
string MURE::GetTotalRunTime | ( | ) |
Returns a string that tells how long it is since MURE's code is running.
|
inline |
< return geometrical transformation vector
|
inline |
< return True Cells vectors, i.e cells that are really in a geometry
|
inline |
|
inline |
< Get the warning message threshold in stochastic volume precision
|
inline |
< Get source neutron number for stochastic volume calculation
|
inline |
< return the xsdir/xsdata name
|
inline |
Add a nuclei to the list of nuclei that have to be cut regardless of their half life.
Get list of nuclei that have to be cut regardless of their half life
|
inline |
< This is used in ThermoCoupling.cxx
void MURE::IntegrateMassInEvolvingCells | ( | ) |
Sum all the evolving masses in the problem.
|
inline |
|
inline |
< return whether or not automatic numbering of MC/Thermo input file is performed
|
inline |
< whether or not MURE builds its own xsdir/xsdata file.
|
inline |
< Is the base summary has been read ?
|
inline |
< if delayed neutron fraction calculation wanted - Flag needed before running MC
|
inline |
return TRUE if the Elastic XS are tallied and register in DATA for all evolving material
|
inline |
< say if tally for energy flux spectrum in all cells to true.
|
inline |
< returns true if evolution is needed
bool MURE::IsInDepletionList | ( | ZAI * | deplzai, |
int | matnum | ||
) |
|
inline |
< return true for a user defined MCNP geometry
|
inline |
< return whether MC's MPI is wanted
bool MURE::IsNucleusUsedForBeta | ( | int | Z, |
int | A | ||
) |
Check on used or unused nucleus in delayed neutron fraction calculation.
|
inline |
< return true if all fission products are not used for evolution
|
inline |
< return whether MC's PVM is wanted
|
inline |
< True if all tallies use the same TimeEnergyGrid
|
inline |
|
inline |
|
inline |
< say if an specific energy binning has been provided.
bool MURE::IsVolumeCalculationNeeded | ( | ) |
return true if a volume is missing for a cell in which a tally is asked
void MURE::KeepOnlyFissionProductSelection | ( | string | name = "" | ) |
Use only some fission products for evolution.
By default, all fission products available in nuclear library are used. But because it can take a very long time to run MC (lot of tallies), a first (approximated) run can be done using a selection of FP (see UserGuide). Only the selection of FP evolved, but other FP are included for neutron flux calculation. If user want to provide an other list of evolving FP, he/she can use file with Z A of each wanted FP THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.
name | : the file containing wanted fission products to erase default selection. |
int MURE::NextCellNum | ( | ) |
returns the next Cell number available
int MURE::NextMaterialNum | ( | ) |
returns the next Material number available
int MURE::NextSurfaceNum | ( | ) |
returns the next Surface number available
int MURE::NextTallyNum | ( | int | i = 0 | ) |
int MURE::NextTransformationNum | ( | ) |
returns the next Transformation number available
int MURE::NextUniverseNum | ( | ) |
returns the next Universe number available
|
private |
Print a banner at start of MURE.
void MURE::PrintDepletionTallyList | ( | ) |
|
inline |
Force to register the ElasticXS in DATA for all evolving materials
void MURE::ReadBaseSummary | ( | ) |
Read the whole base summary file to increase speed.
void MURE::ReadSpecialIsomerFile | ( | map< int, map< int, map< int, ZAI * > > > & | TheChart | ) |
Read Special Isomer File (see SpecialIsomer class)
void MURE::RemoveSurfaceCard | ( | vector< SurfaceCard * > ::iterator | it | ) |
remove a Surface to the Surface Vector.
void MURE::RemoveXSDIR | ( | ) |
remove xsdir/xsdata file.
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::ResetDetectorVector | ( | ) |
Remove all tallies.
void MURE::RunMC | ( | ) |
Run MC code!!!!
void MURE::RunMultiMC | ( | int | n | ) |
Run n MC codes and adds MC detector output file to make one (mean and error of the n runs for all tallys &keff).
void MURE::SaveBackupMureFile | ( | string | TheFileName | ) |
Backup copy of the MURE source file (.cxx) in the MC 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 data given in this ref., these values overide the linear fit. Using this method allow to impose a global value for fission energy released (for all fissile nuclei). THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.
Energy | : the fission energy released for all material in eV (Default=200MeV). |
|
inline |
< set whether or not automatic numbering of MC/Thermo input file is performed
|
inline |
Tells MURE to build automatically the xsdir/xsdata file.
This method allow to build a specific xsdir/xsdata file (containing path to ACE lib) for the nuclei used by the MURE input file. MURE is looking for information in the BaseSummary.dat file (path to that file is set via gMURE->SetDATADIR()). If no xsdir/xsdata exists in the running directory (set via gMURE->SetMCRunDirectory()), the xsdir/xsdata is built, else the existing one is used. By default, MCNP::Connector set the name of the built file to xsdir and Serpent::Connector set it to xsdata.
void MURE::SetBasePriority | ( | BasePriority * | UserBasePriority | ) |
Set the BasePriority.
void MURE::SetBaseSummaryFileName | ( | string | name = "BaseSummary.dat" | ) |
set the BaseSummary.dat file name
|
inline |
< use if delayed neutron fraction calculation wanted - Flag needed before running MC
|
inline |
|
inline |
< The First comment line of MC file
void MURE::SetConnectorPlugin | ( | ConnectorPlugin * | plugin | ) |
Set the output plugin's connector.
The call to this method is MANDATORY ; it is use to choose which kind of output is used between MCNP or Serpent code. It MUST BE USED BEFORE ANY MCSource ; the better is to put the following lines just after the main declaration:
The namespace XXX is either "MCNP" or "Serpent" ; this will define either a "MCNP" connector, either a "Serpent" Connector.
plugin | : a MCNP::Connector or a Serpent::Connector. |
void MURE::SetDATADIR | ( | string | name = "" | ) |
Set the data directory path to name.
if name is not provided (default),
|
inline |
void MURE::SetEnsdfDATADIR | ( | string | name = "" | ) |
Set the ENSDF data directory path to name.
if name is not provide, it is set to fDataDirectoryName/ENSDF/
|
inline |
< set flag to tally for energy flux spectrum in all cells to true.
|
inline |
< set the number of theEnergy spectrum global tally
|
inline |
< say that evolution is needed or not
|
inline |
void MURE::SetFissionReleasedFile | ( | string | name | ) |
Set the fission energy released from a file.
By default, Fission energy released are taken from a linear interpolation of data in W.H. Walerk, Mass balance estimate of energy per fission in reactors AECL-3109, 1968.
Use this method to give explicit values for nuclei described in the provided file. The file must contain Z A fission_energy_released_in_eV for each wanted isotopes. THIS METHOD MUST BE CALLED BEFORE ANY Material DECLARATION.
name | : the file containing fission energy released. |
void MURE::SetFPASCIIFileName | ( | string | name = "FPavailable.dat" | ) |
Set Name ASCII file for Fission Products.
This file has contains for some fissiles, the FP yield record position and availlable energies in the binary file. It has been made by the MURE/Evo/FP/GenerateFPYield ; data are extracted from endfb6-y.asc. WARNING: The data directory path has to be set by SetDATADIR().
void MURE::SetFPBinaryFileName | ( | string | name = "FPyield.bin" | ) |
Set Name Binary file for Fission Products.
This file contains for some fissiles, the FP yield at availlable energies. It has been made by the MURE/Evo/FP/GenerateFPYield ; data are extracted from endfb6-y.asc. WARNING: The data directory path has to be set by SetDATADIR().
|
inline |
|
inline |
< Set the Keff to k
|
inline |
< Set the Keff error to dk
void MURE::SetLastTallyNum | ( | int | Num | ) |
Set the last tally number to Num (for MCNP user input geometry)
|
inline |
Set the List of Wanted Nuclei file name.
WARNING: USE WITH CARE!!!
This method allows user to specify the wanted nuclei for a evolution: ONLY nuclei defined as "Z A" in this file are used in the evolution. If nuclei X and Y are in the file and if the initial composition contains only X, then Y will be present in the evolution tree if and only if Y is a direct daugther (reaction or decay) of X. But if X->T->Y (decay or reaction) then Y will not be produced. The given list of nuclei will also imposed the allowed reactions: for examples, capture on X is allowed only if X(Z, A) and Y(Z, A+1) is in the file ; THUS TO ALLOW FISSION YOU MUST PROVIDE AT LEAST A SMALL SET OF FP in in the file.
YOU ALSO MUST DEFINE IN THIS FILE THE NUCLEI OF YOUR INITIAL COMPOSITIONS.
void MURE::SetMassDataFileName | ( | string | name = "Mass.dat" | ) |
Set name of the isotopes mass file.
This has been made from "The 2003 Atomic Mass Evaluation" of the National Nuclear Data Center of BNL. WARNING: The data directory path has to be set by SetDATADIR().
void MURE::SetMaterialForPartialTallyNormalization | ( | int | matnum | ) |
|
inline |
|
inline |
< set last Material number
|
inline |
set the maximum Number of digits to number evolution (default = 3)
|
inline |
Set Name of MC exec.
By default, MCNP::Connector set it to "mcnp5" and Serpent::Connector set it to "sss2"
|
inline |
< Set MC Input Base File Name (e.g. "inp" for an evo step inpXXX).
|
inline |
< returns current MCNP run number for thermo
|
inline |
< Tell that it is a user defined MCNP geometry
|
inline |
Set threshold to decide to write a nucleus in the MC input.
When writing a evolving material, a nucleus is written only if its normalized proportion p *Sigma_tot is greater than the threshold epsilon
void MURE::SetMCRunDirectory | ( | string | name = "MUREOutput" , |
string | option = "" |
||
) |
Set the MC run directory name.
This is used for evolution.
name | : Name of the directory where all input (for MC) and output files are written. |
option | : what to do with an eventually already existing directory: if option="create", the existing directory is removed (and its content is lost) ; if option="keep", the existing directory (and its content) is kept else [default] a question is asked. |
|
inline |
Set the minimal level of printed messages.
This method control the MURE output message verbosity. Low level correspond to a complete verbose output. Possible value are
LOG_LEVEL_DEBUG or 0, LOG_LEVEL_WARNING or 2, LOG_LEVEL_IMPORTANT_WARNING or 3, LOG_LEVEL_ALERT or 4, and LOG_LEVEL_ERROR or 5.
In general the level 3(=LOG_LEVEL_IMPORTANT_WARNING) is enough to have all important informations. The default value is 2(=LOG_LEVEL_WARNING). If you call this method in the middle of your code, message level will be default up to the line where it is called: put it at the begining of your main to be effective from the beginning.
level | : the level of message |
|
inline |
< Set a general run mode (for MCNP only)
|
inline |
< Set the Neutron mode (default and only possibility for Serpent)
|
inline |
< Set the Neutron Electron mode (ignored for Serpent output)
|
inline |
< Set the Neutron Photon mode (ignored for Serpent output)
|
inline |
< Set the Neutron Photon Electron mode (ignored for Serpent output)
|
inline |
< Set the Photon mode (ignored for Serpent output)
|
inline |
< Set the Photon Electron mode (ignored for Serpent output)
void MURE::SetMPI | ( | int | n_processor, |
string | MPIExec = "mpiexec" |
||
) |
Set the processor number in MPICH mode.
Set the processor number in MPICH mode. In order to run MC code in parallel (MPICH), you have to specify the wanted processor number to MC's exec.
TO BE NOTICED : this is effective ONLY if the MC exec is compiled with MPI support.
n_processor | : number of processor to use |
MPIExec | : MPI exec name to launch mcnp/serpent (mpirun, mpiexec, ...). |
void MURE::SetNaturalIsotopeMassFileName | ( | string | name = "NaturalIsotopeMass.dat" | ) |
Set name of the NATURAL isotopes mass file.
This file has been made, by hand, from NNCD nuclear wallet card, to give mass to natural isotopes (i.e. with A=0). To be noticed that these isotopes cannot evolve WARNING: The data directory path has to be set by SetDATADIR().
void MURE::SetNucleiChartFileName | ( | string | name = "chart.jeff3.1.1" | ) |
Set Name of the decay mode file.
Name of the ascii file containing all decay modes (including spontaneus fission) of all nuclei. The default value, chart.jeff3.1.1 is a compilation from Jeff 3.1/ensdf/LNHB and Nubase-2003 library ; it is extracted from M.A. Kellett, O. Bersillon, R.W. Mills, NUCLEAR ENERGY AGENCY, NEA No. 6287, OECD 2009. This file contains Z A nucleus_symbol isomeric_state period in second (or 0 for stable) decay_mode_i:branching_ration_in-%. (or s for stable).
User can provide a other file that have the same format (look to this file for example). WARNING: The data directory path has to be set by SetDATADIR().
|
inline |
Set the processor number in OpenMP mode.
Set the processor number in OpenMP mode. In order to run MC code in multithreading (OpenMP), you have to specify the number of thread for the MC's exec.
TO BE NOTICED : this is effective ONLY if the MC exec is compiled with multi-threading support. This can be used together with MPI.
n_thread | : number of thread to use |
< set the number of threads for parallel MC run
|
inline |
|
inline |
Set the most outer shape.
The most external shape has to be defined when using for example poison control ; indeed, a keff evaluation is done using formula keff=(creation)/(absorption+leakage). The leakage are evaluated using F2 tally on the most outer shape of the geometry (i.e. the whole exterior). It can be also used for volume calculation
s | : the most outer Shape_ptr (exterior) |
|
inline |
< set the reactor power (in watts)
void MURE::SetPVM | ( | int | n_processor | ) |
Set the processor number in PVM mode.
Set the processor number in PVM mode. In order to run MC in parallel (PVM), you have to specify the wanted processor number to MC's PVM exec. In case of MCNP4B the method for calling MCNP's PVM exec is different (don't use "x" in proc number: for MCNP4B, one use mcnp task n_processor n=... whereas for mcnp4C and above, one use mcnp task n_processorx1 n=...).
TO BE NOTICED : this is effective ONLY if the MC exec is compiled with PVM support.
n_processor | : number of processor to use |
void MURE::SetReactionDataFileName | ( | string | name = "AvailableReactionChart.dat" | ) |
Set Name of the Available reaction file for the chart.
This file is built by MURE/Evo/utils/CheckReaction and has to be put in the data directory. The aim of this file is to take all isotopes of "chart.jeff3.1.1" or file provided by user and to say whether or not cross-sections are available (cross-sections are read in BaseSummary.dat). WARNING: The data directory path has to be set by SetDATADIR().
|
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)
depth | : the maximum number of consecutive reactions(default=10000) |
|
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.
method | : a pointer on the ReactionList Init Method |
|
inline |
Set list of Reactions that have to be cut regardless of the cross sections and for all nuclei.
Sigma for these reactions are considered zero. Reaction are named by their SMURE number and not their MT number. (n, gamma) is 1 and not 102
|
inline |
< Set the reaction ratio threshold for ReactionList
|
inline |
< Set Real MC Input File Name (e.g. inpXXX).
|
inline |
< set the number of run in multi MC runs
void MURE::SetSameTimeEnergyGridForAllTallies | ( | ) |
set that all tallies must use the same TimeEnergyGrid
|
inline |
|
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.
time | : the shortest half time in second (default=3600s) |
|
inline |
Set the Silent Debug mode on.
If SetMessageLevel is set to LOG_LEVEL_DEBUG, all LOG_DEBUG are printed. But if SetSilentDebug is used, only LOG_DEBUG of methods where a "int DODEBUG=1" is inserted are printed. Thus, using LOG_DEBUG, avoid to comment all "cout" when no debugging is wanted.
void MURE::SetSource | ( | MCSource * | source | ) |
Set the MC particle source.
The source declaration should be either a MCNPSource, either a SerpentSource ; for the latter only neutron are transported. You MUST use a SerpentSource withe the Serpent namespace and a MCNPSource with the MCNP namespace.
source | : either a MCNPSource or a SerpentSource |
|
inline |
< set the center of the source Sphere (stochastic volume calculation)
|
inline |
< set the radius of the source Sphere (stochastic volume calculation)
|
inline |
< the vector of all Special card to write
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 allows to take fission yield at 0.025eV, 500keV or 14MeV respectively. (To be noticed, if FP yield are not allways given for all these energies ; then the closest energy is chosen).
type | : the spectrum type (thermal", "fast", or "spallation") |
|
inline |
set Flux normalization value.
The call to this method, by default, do not keep the power constant, but the flux.
val | : the number of particule per sec |
void MURE::SetTemperatureMap | ( | double * | T = nullptr , |
int | NT = 0 |
||
) |
Set The TemperatureMap.
if NT=0, default temperature map is built (19 temperatures from 0, 300, 400...1900K) .
T | : array of temperature (the map) |
NT | : size of this array |
void MURE::SetTemperatureMap | ( | TemperatureMap * | TM | ) |
|
inline |
void MURE::SetUseNewRandomSeed | ( | long int | dbcn = - 1 | ) |
Use a new Random Seed number in MC run.
Set the random seed to dbcn if >0, else take a random value=1+2*rand().
dbcn | : the random seed use in the MC run. |
|
inline |
Build automatic tallies in multigroup run without using the perturbative materials.
Automatic tallies used in an reaction rates calculation (phi(E)) are build It doesn't build perturbatives materials which are used in a case of a fuel depletion IT MUST BE CALLED CAREFULLY it is used in some case of thermal coupling when the number of materials are very important and can overload the maximum number of materials allowed in MCNP (100, 000) Updates phi(E) in multigroup run.
Only if BuildTHTalliesMultiGroup() is used
void MURE::SetUserGeometryInputFile | ( | string | name | ) |
set the file name of the user defined MCNP geometry
|
inline |
< set the warning message threshold in stochastic volume precision
|
inline |
< Set source neutron number for stochastic volume calculation
|
inline |
< set the xsdir/xsdata name
|
inline |
Set list of nuclei that have to be cut regardless of their half life
void MURE::StartGUI | ( | ) |
Start the TCL GUI (Examtree.tcl) to see the Nueclei Tree.
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 list of the nuclei with problems, and the type of these problems.
void MURE::UpdateKeff | ( | ) |
Read MC's Output file to set Keff value (can be used without evolution)
void MURE::UseEnergyBinsFile | ( | string | Filename | ) |
uses the filename provided for building the energy binning. (single column file with energies in eV)!
void MURE::WriteGlobalNucleiTree | ( | string | fname = "UnionOfAllTrees.dat" | ) |
write the union of all nuclear trees (evolving nuclei in globalnucleivector)
|
friend |
|
private |
false if you don't want to add material in fMaterialVector
|
private |
whether or not use automatic numbering of evolving MC input files (e.g. XXX for inp base name)
|
private |
The Base Priority wish.
|
private |
Table to put the Base summary file in memory for quick access.
|
private |
Name of the Base Summary file to find info on availlable data bases.
|
private |
True if delayed neutron fraction calculation wanted.
|
private |
Vector of Cell of Unknown volume used in tallies.
|
private |
If we are running iteration between MCNP and COBRA.
|
private |
first line comment in MC file
|
private |
|
private |
data directory name for all data files
|
private |
Material number for which tallying of isotopes should happen.
disable the violent symplification in Node::Simplify for 1st attempt to obtain cell volumes
|
private |
vector of Energies in eV read from the fEnergyBinsFileName file that will be put in a MureTimeEnergyGrid by a tally
|
private |
name of the user provided data file with desired energy binning.
|
private |
data directory name for ENSDF data (added B.LENIAU)
|
private |
Number of the Tally for Energy flux spectrum.
|
private |
If an Evolution is required (i.e. many MC's run steps)
|
private |
The evolution pointer connector.
|
private |
|
private |
Store line number where to go to find Z entries for continuous energy in Base Summary.
|
private |
Store line number where to go to find Z entries for thermal data in Base Summary.
|
private |
The name of fission energy released file.
|
private |
|
private |
Name ASCII file for Fission Products.
|
private |
Name Binary file for Fission Products.
|
private |
Union of all the nuclei used in all the evolving materials.
|
private |
|
private |
Whether the XSDIr must be automtically built or not.
|
staticprivate |
Print the banner only once.
|
private |
Flag to say if Base summary has been read in or not.
|
private |
|
private |
Flag that control copy/delete of MURE depending on the call time.
|
private |
|
private |
true if all fission products are not used for evolution
|
private |
The file name that contains the FP to keep.
|
private |
Current Keff of the problem.
|
private |
Current Error on current Keff of the problem.
|
private |
last Cell number used
|
private |
last Material number used
|
private |
last Surface number used
|
private |
last Tally of type i number used
|
private |
last Transformation used
|
private |
last Universe number used
|
private |
File name of the list of wanted nuclei (and ONLY these)
|
private |
File where to find the nuclear mass data.
|
private |
Material numbers to be used for partial normalization to power.
|
private |
flag indicating that Materials have been updated
|
private |
List of ZAIs that should be tallied in multigroup mode.
|
private |
name of MC exec(mcnp5, sss2, ...)
|
private |
The Base Name of the input file name generated for MC (such as "inp")
|
private |
The final file name for MC (such as inpXXX for step XXX of an Evolution)
|
private |
Current ThermoHydraulics MCNP Run Number.
|
private |
the threshold to decide to write a nucleus in MC's input file
|
private |
name of the directory in which the MC output files are written
|
private |
The mean energy spectrum to consider (for FP yield)
|
private |
the vector of all Mesh Tally to write
|
private |
message level treshold
|
private |
|
private |
True for a MC MPI parallel run.
|
private |
MPI Exec name to launch MC (mpiexec, mpirun, ...)
|
private |
|
private |
File where to find the nuclear mass data for natural isotopes.
|
private |
Number of digits to number evolution (default = 3)
|
private |
Number of processor in PVM/MPICH/OpenMP MC run.
|
private |
For a nucleus : sum of reaction rates.
|
private |
File where to find radioactive decays modes &branching ratios.
|
private |
Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely)
|
private |
Number of Neutronics/thermalhydraulics iterations required at each fuel depletion step.
|
private |
number of Threads in OpenMP parallel compilation of MC.
|
private |
|
private |
True for a MC PVM parallel run.
|
private |
the random seed value
|
private |
File where to find if reaction are available or not.
|
private |
The maximum number of consecutive reactions.
|
private |
ReactionList Init tMethod (e.g. InitPTO())
|
private |
List of reactions type that should not be considered even if the cross section are bigger than fReactionThreshold. Given by SMURE reaction number and not MT number.
|
private |
the reaction ratio threshold for ReactionList
|
private |
Source Used for reactivity coeffs calculations.
|
private |
true if elastic scattering cross section registered in the DATA file next to other XSs
|
private |
Number of run in a Multi MC mode.
|
private |
|
private |
If > zero, then we will override correct fission energies with this value.
|
private |
flag for tallying Energy Bins in all "True" Cells (Cells which do contain a non void material)
|
private |
Vector of Shape_ptr of Unknown area used in tallies.
|
private |
The shortest half life considered for a nucleus.
|
private |
generally suppress the debug messages
|
private |
Sphere source center used in stochastic volume calculation.
|
private |
Sphere source radius used in stochastic volume calculation.
|
private |
the vector of all Special card to write
|
private |
file that explain the particular treatment of special isomers
|
private |
vector of special Isomer treatment (like capture on Am241)
|
private |
the vector of all Special Surface card
|
private |
The computer clock time at the start of the MURE run.
|
private |
the vector of all Surface to write (in the MC output format)
|
private |
the vector of all Tally to write
|
private |
The temperature Map.
|
private |
If we are running MCNP many times with ThermoHydraulics.
|
private |
|
private |
the vector geometrical transformation
|
private |
Vector of all true Cells (which are non void) which shall be written to MC (which fNumber is not negative)
|
private |
flag for using a user provided data file with desired energy binning.
|
private |
Use specific hydraulics model for CHF.
|
private |
The input file for the user given MCNP geometry.
|
private |
warning message threshold in stochastic volume precision
|
private |
source neutron number for stochastic volume calculation
|
private |
the xsdir/ACElib name
|
private |
List of ZAIs that should be tallied in multigroup mode for each material.
|
private |
List of ZAI that should not be considered even if their half life are longer than fShortestHalfTimeThres.