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... | |
EvolutionControl * | GetEvolutionControl () |
returns the EvolutionControl object More... | |
void | SetMaterialControl () |
Set the MaterialControl mode. More... | |
bool | GetMaterialControl () |
Say if MaterialControl mode is used. More... | |
ControlMaterial * | GetControlMaterial () |
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... | |
MCNPSource * | GetSource () |
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... | |
TemperatureMap * | GetTemperatureMap () |
returns the Temperature Map More... | |
BasePriority * | GetBasePriority () |
returns the BasePriority More... | |
void | SetBasePriority (BasePriority *UserBasePriority) |
Set the BasePriority. More... | |
void | SetReactionListInitMethod (TSpecificFunctor< ReactionList > *method) |
Set the ReactionList Init Method. More... | |
TFunctor * | GetReactionListInitMethod () |
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_ptr > | GetGlobalNucleiVector () |
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... | |
Cell * | FindCell (Cell *TheCell) |
return the Cell of same number than TheCell More... | |
Cell * | FindCell (int CellNo) |
return the Cell of number CellNo More... | |
Material * | FindMaterial (Material *TheMaterial) |
return the material of same number than TheMaterial More... | |
Material * | FindMaterial (int MaterialNumber) |
return the material of number MaterialNumber More... | |
Material * | FindPerturbativeMaterial (Nucleus_ptr TheNucleus) |
return the perturbative material which contains Nucleus. More... | |
Material * | FindPerturbativeMaterial (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... | |
MCNPSource * | fSource |
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_ptr > | fGlobalNucleiVector |
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... | |
TemperatureMap * | fTemperatureMap |
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... | |
BasePriority * | fBasePriority |
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... | |
TFunctor * | fReactionListInitMethod |
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... | |
EvolutionControl * | fEvolutionControl |
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... | |
MCNPSource * | fReactivityCoeffsSource |
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< SpecialIsomer > | fSpecialIsomerVector |
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... | |
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.
MURE::MURE | ( | string | name = "xsdir" | ) |
Default constructor. All "numbers" are set to 0.
MURE::MURE | ( | const MURE & | m | ) |
Copy constructor.
MURE::~MURE | ( | ) |
Destructor.
|
inline |
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.
TheCell | : The cell to add. |
GroupNumber | : The group number. |
|
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::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 | ) |
void MURE::AddToGlobalNucleiVector | ( | Nucleus_ptr & | nuc | ) |
add a nucleus to GlobalNucleiVector
|
inline |
|
inline |
add a ZAI to NucleiErrorMap with its problem type
|
inline |
Adds values of Nu tot sigma phi of a cell to the total value.
void MURE::AddUnknownVolume | ( | Cell * | theCell | ) |
add thecell to the UnkownVolume cell vector
void MURE::AddZAIThatFissions | ( | ZAI * | zai | ) |
Add a zai to the nucleithatfission vector.
|
inline |
void MURE::Annihilate | ( | ) |
Total destruction of a MURE - materials, cells, surfaces, etc.
|
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.
|
private |
Check if no proportions are negative.
|
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.
|
private |
copy part of the MCNP user defined geometry
|
private |
Delete vectors of this (partial destruction of MURE)
|
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:
T
vectorThe 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.
T | Time cutting vector for MCNP steps (in seconds) |
Start | Number of first MCNP steps; useful for restarting (previous steps have to be present in the MCNP run directory) |
BrutalStop | Stop evolution when keff falls below BrutalStopValue (if 0, do not care about keff) |
|
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.
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.
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].
void MURE::FindTallyInMCNPUserFile | ( | ) |
find the user tally numbers in the user defined MCNP geometry
|
inline |
Finish evolution by a MCNP run.
|
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
flag | : true if the fit is wanted. |
void MURE::FitTallyNormalizationFactor | ( | ) |
Find the fitting parameters for TNF.
It is used in GetTallyNormalizationFactor().
|
inline |
returns the value of global total absorptions (code -2) in the whole geometry.
|
inline |
returns the BasePriority
|
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).
|
inline |
return the cell vector of the group GroupNumber
|
inline |
First line of MCNP file.
ControlMaterial * MURE::GetControlMaterial | ( | ) |
returns the material defined as neutron poison by the user.
|
inline |
return the global reaction rates when evolution is controled by ControlMaterial
|
inline |
return the global reaction rates when evolution is controled by ControlMaterial
|
inline |
return the vector of control rod cells
|
inline |
return Tibor's flag
|
inline |
returns Current MCNP time in case of Evolution
|
inline |
returns current Runge Kutta number
|
inline |
returns current Runge Kutta step
|
inline |
returns Current time in case of Evolution
|
inline |
returns the Data directory where data files are stored
|
inline |
|
inline |
returns the EvolutionControl object
|
inline |
returns the vector containing all the evolutive systems considered.
|
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 |
returns the fission rate
|
inline |
Get fission energy released used for all nuclei.
|
inline |
Get fission energy released file used.
|
inline |
returns the number of points used for fitting XS
|
inline |
returns ASCII file name for FP
|
inline |
returns Binary file name for FP
|
inline |
Returns the global nuclei vector.
|
inline |
returns the mass of heavy nuclei in tons
|
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 |
Say if MaterialControl mode is used.
|
inline |
set Material number
|
inline |
Get the name of the MCNP exec.
|
inline |
returns the ith total number of fissions/s.
i | : ZAI number in the ZAIThatFission vector |
|
inline |
returns the size of fissions/s zai vector.
This vector scores the total number of fissions/s for each zai
|
inline |
returns mcnp input Base file name (e.g. "inp" for an evo step inpXXX).
|
inline |
returns the threshold to decide to write a nucleus
|
inline |
Returns mcnp run directory name.
|
inline |
returns current MCNP run number
|
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.
|
inline |
returns the minimal level of printed messages
|
inline |
Returns filename of MCNP "m" file.
|
inline |
returns MCNP mode (particle transported)
|
inline |
returns the (n,2n) rate
|
inline |
returns the (n,3n) rate
|
inline |
returns the name of the natural isotopes masses file
|
inline |
returns the neutron losses (escape)
|
inline |
returns Next MCNP time in case of Evolution
|
inline |
return processors number for pvm/mpich run
|
inline |
Returns the value of the number of internal Runge-Kutta integration steps between two consecutive MCNP runs.
|
inline |
Set Name of the decay mode file.
|
inline |
Returns the Error storing map.
|
inline |
returns the fission*Nu
|
inline |
return thread number for parallel mcnp run
|
inline |
returns the vector containing all the OutCore evolutive systems considered.
|
inline |
returns the most outer shape_ptr
|
inline |
return corrector evaluation time
|
inline |
returns perturbative material vector
|
inline |
returns the reactor power (in watts)
|
inline |
Name of the Available reaction file for the chart.
|
inline |
return the maximum number of consecutive reactions
|
inline |
return the fReactionListInitMethod
|
inline |
Get the reaction ratio threshold for ReactionList.
|
inline |
Returns the reactor mesh vector.
|
inline |
returns mcnp input file name(eg. inpXXX).
|
inline |
returns flag to remove MCNP "r" file during the evolution
|
inline |
returns the difference between the start system clock time and now
|
inline |
return the shortest half time to consider for evolution.
|
inline |
return true for if SilentDebug is on
|
inline |
Get the (true) MCNP neutron source (kcode, ...)
|
inline |
return the name of the input source file for kcode run
|
inline |
return the fSourcePartialFactor for Partial Run mode
|
inline |
|
inline |
returns the mean energy of the spectrum.
This enrgy is only used for the fission products yield (see MURE::SetSpectrumType)
double MURE::GetTallyNormalizationFactor | ( | ) |
returns the tally normalization factor
|
inline |
|
inline |
returns the Temperature Map
|
inline |
use only for pretty print
|
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.
|
inline |
fms
|
inline |
return true if an old "s" file is used as MCNP source
|
inline |
return the time from which equilibrium is "imposed"
|
inline |
return the XSDIR name
|
inline |
Returns the vector of Zai that can undergo fission (fZAIThatFission vector).
|
inline |
This is used in ThermoCoupling.cxx.
|
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
|
inline |
returns true if evolution is needed
|
inline |
returns whether or not fit SigmaPhi between 2 MCNP steps.
|
inline |
True if the in PCE, fit of sigma*phi is done for the corrector step.
|
inline |
return whether the TNF has to be fitted.
|
inline |
return true if MCNP version is 4b (change the way of calling TASK)
|
inline |
return true for a user defined MCNP geometry
|
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.
|
inline |
return true if all fission products are not used for evolution
|
inline |
return whereas Partial Run mode is used
|
inline |
return whereas in a Partial Run mode, it is the Partial or the full run
|
inline |
return true when PC method is used
|
inline |
return true for the predictor step
|
inline |
|
inline |
|
inline |
return true for Thermal hydraulics Multi group flux MCNP run
|
inline |
Return whether the ascii evolution output (DATA) should be printed.
|
inline |
Return whether the binary evolution output (BDATA) should be printed.
|
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.
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.
|
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::RemoveSurface | ( | vector< Surface * >::iterator | it | ) |
|
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.
Energy | : the fission energy released for all material in eV (Default=200MeV). |
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 MCNP
|
inline |
Set the Brutal Stop Value.
Allow to manualy set the Brutal Stop Keff Values and enable Brutal Stop.
brutalstopvalue | : Value bellow the evolution will stop (Brutaly) |
|
inline |
|
inline |
First line of MCNP file.
|
inline |
Set global reaction rates when evolution is controled by ControlMaterial.
r | : the wanted Reaction. |
rate | : the value. |
|
inline |
Set global reaction rates when evolution is controled by ControlMaterial.
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
|
inline |
|
inline |
set Current MCNP time in case of Evolution
|
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,
|
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()
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/
|
inline |
set flag to tally for energy flux spectrum in all cells to true.
|
inline |
set the EvolutionControl object
|
inline |
say that evolution is needed or not
|
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.
name | : the file containing fission energy released. |
|
inline |
set the number of points used for fitting XS
|
inline |
set to flag if the in PCE, fFitSigmaPhiPC
|
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, ...
|
inline |
Set the Keff to k.
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 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().
|
inline |
Set the MaterialControl mode.
|
inline |
set Material number
|
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
See also MURE::SetNrk() or MURE::SetDTRK()
dtmax | : the approximate Maximum Runge-Kutta step in s (default dtmax=-1, i.e. used MURE::SetNrk() ). |
|
inline |
Set the name of MCNP exec.
|
inline |
|
inline |
Set MCNP Input Base File Name (e.g. "inp" for an evo step inpXXX).
|
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.
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. |
|
inline |
returns current MCNP run number for thermo
|
inline |
Tell that it is a user defined MCNP geometry.
|
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.
level | : the level of message |
|
inline |
Set a general MCNP run mode.
|
inline |
Set the Neutron mode (default)
|
inline |
Set the Neutron Electron mode.
|
inline |
Set the Neutron Photon mode.
|
inline |
Set the Neutron Photon Electron mode.
|
inline |
Set the Photon mode (Add By Leniau B.)
|
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.
n_processor | : number of processor to use |
MPIExec | : MPI exec name to launch mcnp (mpirun, mpiexec, ...). |
|
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().
|
inline |
Add a new ReactorMesh Object into the vector.
|
inline |
set Next MCNP time in case of Evolution
|
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()
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().
|
inline |
set the number of threads for parallel mcnp run
|
inline |
set the name of the original input source file for kcode run
|
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).
s | : the most outer Shape_ptr (exterior) |
|
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
|
inline |
Set The Partial Run directory name.
|
inline |
set the reactor power (in watts)
|
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:
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=...)
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().
|
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 the reaction ratio threshold for ReactionList.
|
inline |
Set Real MCNP Input File Name (e.g. inpXXX).
|
inline |
remove MCNP "r" file during the evolution
|
inline |
set the number of run in multi MCNP
|
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 methodes where a "int DODEBUG=1" is inserted are printed. Thus, using LOG_DEBUG, avoid to comment all "cout" when no debugging is wanted.
|
inline |
Set the (true) MCNP neutron source (kcode, ...)
|
inline |
set the name of the input source file for kcode run
|
inline |
set the fSourcePartialFactor for Partial Run mode
|
inline |
set the center of the source Sphere (stochastic volume calculation)
|
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).
type | : the spectrum type (thermal", "fast", or "spallation") |
|
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.
T | : array of temperature (the map) |
NT | : size of this array |
|
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().
dbcn | : if dbcn>0, set the DBCN 1st entry card to dbcn |
|
inline |
say whether or not to use an old "s" file
|
inline |
void MURE::SetUserGeometryInputFile | ( | string | name | ) |
set the file name of the user defined MCNP geometry
|
inline |
Set source neutron number for stochastic volume calculation.
|
inline |
set the warning message threshold in stochastic volume precision
|
inline |
Set if the ascii evolution output (DATA) should be printed.
|
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 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
where
if the ratio between the 2 flux is greater than 1.5 else
and I-135 calculation is calculated in the same way (but not used in Bateman eqs where the "normal" way seems to work).
t | : the threshold time (in s) from which the equilibrium is imposed |
|
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).
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)
|
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)!
|
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 Range | 1e-4 eV to 1 eV | 1eV to 10eV | 10eV to 10keV | 10keV to 0.1MeV | 0.1MeV to 20MeV |
bins/decade | 100 | 500 | 5000 | 1000 | 500 |
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.
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).
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.
|
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).
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 |
|
private |
write MCNP materials on the disk
|
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.
|
private |
write MCNP surface on the disk
|
private |
false if you don't want to add material in fMaterialVector
|
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 |
Flag to say if Base summary has been read in or not.
|
private |
True if delayed neutron fraction calculation wanted.
|
private |
brutally stop the evolution if Keff falls below BrutalStopValue
|
private |
The brutal stop value.
|
private |
If we are running iteration between MCNP and COBRA.
|
private |
first line comment in MCNP file
|
private |
The central value of Keff around which the user wishes to keep reactivity constant. FMS.
|
private |
Global reaction rates when evolution is controled by ControlMaterial.
|
private |
The cell that is a control rod.
|
private |
Flag to say if Tibor's correction to tallies will be used or not.
|
private |
Current MCNP time in case of Evolution.
|
private |
Current Runge Kutta Number.
|
private |
Current Runge Kutta step.
|
private |
Current time in case of Evolution.
|
private |
data directory name for all data files
|
private |
The precision with which the user wishes to remain around the value of Keff = 1. FMS testing.
|
private |
the maximum DT for RK intergartion.
|
private |
wanted DT for RK intergartion.
|
private |
Bin array for the energies.
|
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 |
Control the Evolution.
|
private |
If we are running MCNP many times - Evolution.
|
private |
the vector containing all the evolutive systems considered.
|
private |
The envolution ends on a MCNP run.
|
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 |
The number of point taken for the fit.
|
private |
Whether or not fit SigmaPhi between 2 MCNP steps.
|
private |
True if the in PCE, fit of sigma*phi is done for the corrector step.
|
private |
True when TNF extrapolation is used.
|
private |
used for Tally Normalization Factor extrapolation (vector of TNF)
|
private |
current slope value for linear Tally Normalization Factor extrapolation
|
private |
Name ASCII file for Fission Products.
|
private |
Name Binary file for Fission Products.
|
private |
flag to know if the Copy method has been used (for destructor)
|
private |
flag to know if the RebuildTallies method has been used (for RebuildPerturbativeMaterials)
|
private |
Global total absorption rate of the whole geometry (code -2).
|
private |
Total fission rate in the whole geometry (-6).
|
private |
Number of the Tally counting neutron loss in the whole geometry.
|
private |
Total n2n rate in the whole geometry.
|
private |
Total n3n rate in the whole geometry.
|
private |
Total neutron loss in the whole geometry.
|
private |
Union of all the nuclei used in all the evolving materials.
|
private |
Total nu fission rate in the whole geometry (-6:-7).
|
private |
Initial mass of Heavy Nucleus in ton.
|
private |
current intersept value for linear Tally Normalization Factor extrapolation
|
private |
Whether the XSDIr must be automtically built or not.
|
private |
array (same dim as MCNP time) say that it is cooling period (no flux)
|
private |
true when cooling is set
|
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 |
whether Keff control by a ControlMaterial is be used during evolution.
|
private |
flag indicating that Materials have been updated
|
private |
True if MCNP 4B is used.
|
private |
name of MCNP exec
|
private |
Vector of total number of fissions per seconds for each zai.
|
private |
The Base Name of the input file name generated for MCNP (such as "inp")
|
private |
The final file name for MCNP (such as inpXXX for step XXX of an Evolution)
|
private |
the threshold to decide to write a nucleus
|
private |
name of the directory in which the MCNP output files are written
|
private |
Current MCNP Run Number.
|
private |
Current ThermoHydraulics MCNP Run Number.
|
private |
used for Tally Normalization Factor extrapolation (vector of time)
|
private |
The mean energy spectrum to consider (for FP yield)
|
private |
message level treshold
|
private |
The name of the m file containing tallies.
|
private |
the mode MCNP card (N, N P, N E,P E,P, or N P E)
|
private |
True for a MCNP MPI parallel run.
|
private |
MPI Exec name to launch mcnp (mpiexec, mpirun, ...)
|
private |
number of group/decades in multi-group run is multiply by this factor
|
private |
True in multigroup calculation.
|
private |
The MURE version for data writing in evolving file.
|
private |
True if the geometry is a MURE geometry and false for a user defined MCNP geometry.
|
private |
File where to find the nuclear mass data for natural isotopes.
|
private |
Next MCNP time in case of Evolution.
|
private |
Number of processor in PVM/MPICH MCNP run.
|
private |
Number of internal Runge-Kutta integration steps between two consecutive MCNP runs.
|
private |
For a nucleus : sum of reaction rates.
|
private |
File where to find radioactive decays.
|
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 |
Nu*sigma*phi total.
|
private |
number of Threads in OMP parallel compilation of mcnp.
|
private |
Name of the Original source file.
|
private |
the vector containing all theout core evolutive systems considered.
|
private |
True when doing partial run for error evalution.
|
private |
Directory name for Partial Run.
|
private |
True for partial particle number in a partial run mode, false for total particle.
|
private |
Time at wich the Predictor-Corrector is done : either ~dT/2 or dT.
|
private |
Vector of Perturbative materials for evolution.
|
private |
Power of the critical reactor IN WATTS ! (EFR = 3.6e+9 W)
|
private |
PRDMP argument (default=2J -1 1)
|
private |
True if Predictor-Corrector evolution scheme is used.
|
private |
True if the step is the Predictor step before a corrector one.
|
private |
True for a MCNP PVM parallel run.
|
private |
first arg of DBCN card
|
private |
File where to find if reaction are available or not.
|
private |
The maximum number of consecutive reactions.
|
private |
ReactionList Ini tMethod (e.g. InitJon())
|
private |
the reaction ratio threshold for ReactionList
|
private |
Source Used for reactivity coeffs calculations.
|
private |
Vector containing ReactorMesh Objects if exist.
|
private |
flag to remove mcnp r files from mcnp running
|
private |
Number of rub in a Multi MCNP mode.
|
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 |
The shortest half time considered for a nucleus.
|
private |
generally suppress the debug messages
|
private |
Whether or not to smooth SigmaPhi between 2 MCNP steps.
|
private |
Define a MCNP neutron source.
|
private |
Name of the next source if using file source.
|
private |
factor for multiplying source in the total run/partial run
|
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 run.
|
private |
Vector of Shape_ptr of Unknown area used in tallies.
|
private |
factor to normalized mcnp tallies.
|
private |
Allows or not rebuild of tallies (necessary in thermal evolution)
|
private |
The temperature Map.
|
private |
If we are running MCNP many times with ThermoHydraulics.
|
private |
True in Thermal hydraulics multigroup calculation.
|
private |
use only for pretty print
|
private |
use only for pretty print
|
private |
Vector of all true Cells (which are non void) which shall be written to MCNP (which fNumber is not negative.
|
private |
True if std tallies are used for U-238 in a multi-group evolution.
|
private |
flag for using a user provided data file with desired energy binning.
|
private |
Whether MURE must use the preivous run source or not.
|
private |
Use specific hydraulics model for CHF.
|
private |
The input file for the user given MCNP geometry.
|
private |
source neutron number for stochastic volume calculation
|
private |
warning message threshold in stochastic volume precision
|
private |
True if DATA_ files are wanted (ASCII MURE data)
|
private |
True if BDATA_ files are wanted (binary MURE data)
|
private |
whether or not to use Xe-135 equilibrium treatment
|
private |
the time from which Xe-135 equilibrium is "imposed"
|
private |
the xsdir name
|
private |
Vector of all the zai which fission.