MURE
Loading...
Searching...
No Matches
MURE.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _MURE_HXX_
20#define _MURE_HXX_
21
27#include <fstream>
28#include <iostream>
29#include <sstream>
30#include <vector>
31#include <string>
32
33#include "MUREGlobal.hxx"
34#include "TFunctor.hxx"
35
36#include "TemperatureMap.hxx"
37#include "BasePriority.hxx"
38#include "SpecialIsomer.hxx"
39
40#include "ConnectorPlugin.hxx"
41#include "EvolutionSolver.hxx"
42
43#include "SurfaceCard.hxx"
44#include "Shape.hxx"
45#include "Cell.hxx"
46#include "PinCell.hxx"
47
48#include "MCSource.hxx"
49//#include "ReactorMesh.hxx"
50#include "MureTally.hxx"
51#include "MeshTally.hxx"
53
54using namespace std;
55
57
83class MURE
84{
85 friend class MureTrojan;
86 public:
91 MURE(string name = "xsdir");
92 MURE(const MURE &m);
93 ~MURE();
94 void Delete(bool DeleteConnector = true);
95 void Copy(const MURE &m);
97
103
120
122
124
140 void SetMessageLevel(int level)
141 {
142 fMessageLevel = level;
143 }
145 {
146 return fMessageLevel;
147 }
148
150
155 void SetSilentDebug(bool flag = true)
156 {
157 fSilentDebug = flag;
158 }
160 {
161 return fSilentDebug;
162 }
163
165
171
183 void Evolution(
184 vector < double > T,
185 int Start = 0,
186 bool BrutalStop = false
187 );
188
190 {
191 return fEvolutionRequired;
192 }
193 void SetEvolutionRequired(bool flag = true)
194 {
195 fEvolutionRequired = flag;
196 }
197 void SetPower(double Power)
198 {
199 GetEvolutionSolver() -> SetPower(Power);
200 }
201
203 {
204 return fEvolutionSolver;
205 }
206
207 void AddList2DepletionTallyList(vector<ZAI *> NucleiList, int matnum);
209 bool IsInDepletionList(ZAI *deplzai, int matnum);
212 {
213 return int(fMatnumDepletionTallyList.size());
214 }
215 vector<vector<ZAI *>> GetDepletionTallyListZAI()
216 {
218 }
220 {
222 }
223
229
234 {
236 }
238
246 void SetAllFissionEnergies(double Energy = 2.0e08);
248 {
250 }
251
253
262 void SetFissionReleasedFile(string name);
264 {
265 return fFissionReleasedFN;
266 }
267
269
270
276
282 void SetSource(MCSource *source);
285
290 void SetModeN()
291 {
292 fMode = "N";
293 }
295 {
296 fMode = "N P";
297 }
299 {
300 fMode = "N E";
301 }
303 {
304 fMode = "N P E";
305 }
307 {
308 fMode = "P E";
309 }
310 void SetModeP()
311 {
312 fMode = "P";
313 }
314 void SetMode(string MyMode = "N")
315 {
316 fMode = MyMode;
317 }
318 string GetMode()
319 {
320 return fMode;
321 }
323
329
335 void SetSpectrumType(string type = "thermal");
336
338
342 {
343 return fMeanEnergySpectrum;
344 }
345
347
352 void SetTemperatureMap(double *T = nullptr, int NT = 0);
355 {
356 return fTemperatureMap;
357 }
359 {
360 return fBasePriority;
361 }
362 void SetBasePriority(BasePriority *UserBasePriority);
363
365
375 void SetReactionListInitMethod(TSpecificFunctor < ReactionList > *method)
376 {
378 }
380 {
382 }
383
385
390
392
400 void KeepOnlyFissionProductSelection(string name = "");
402 {
404 }
406 {
408 }
409 void SetReactionThreshold(double sigma = 1e-2)
410 {
411 fReactionThreshold = sigma + 1e-9;
412 }
414 {
415 return fReactionThreshold;
416 }
417
419
423 void SetMCNucleusThreshold(double epsilon = 1e-6)
424 {
425 fMCNucleusThreshold = epsilon;
426 }
428 {
429 return fMCNucleusThreshold;
430 }
432 {
434 }
436 {
438 }
439
441
455 void SetListOfWantedNucleiFN(string name)
456 {
458 }
460 {
461 return fListOfWantedNucleiFN;
462 }
463
465
470 void SetShortestHalfLife(double time = 3600)
471 {
473 }
475 {
477 }
478
480
485 void AddReactionNameForcedCut(string NewReactionNameForcedCut);
487
492 vector < string > GetReactionNamesForcedCutVector();
494
499 void SetReactionNumbersForcedCutVector(vector < int > ReactionNumbersForcedCutUser)
500 {
501 fReactionNumbersForcedCutVector = ReactionNumbersForcedCutUser;
502 }
504
509 void AddReactionNumberForcedCut(int NewReactionNumberForcedCut)
510 {
511 fReactionNumbersForcedCutVector.push_back(NewReactionNumberForcedCut);
512 }
514
519 {
521 }
523
527 vector < string > GetAllPossibleReactionNames();
528 void SetZAIsForcedCutVector(vector < ZAI *> ZAIsForceCutUser)
529 {
530 fZAIsForcedCutVector = ZAIsForceCutUser;
531 }
532 void AddZAIForcedCut(int Z, int A, int I = 0);
533 vector < ZAI *> GetZAIsForcedCutVector()
534 {
535 return fZAIsForcedCutVector;
536 }
537 void PutElasticXSinDATA(bool RegisterElasticXSinDATA = true)
538 {
539 fRegisterElasticXSinDATA = RegisterElasticXSinDATA;
540 }
542 {
544 }
545
547
553 void SetReactionDepth(int depth = 10000)
554 {
555 fReactionDepth = depth;
556 }
558 {
559 return fReactionDepth;
560 }
562
568
574 void SetDATADIR(string name = "");
575 string GetDATADIR()
576 {
577 return fDataDirectoryName;
578 }
579
581
586 string GetEnvVar(const std::string envName);
588 string GetDATAPATH();
589
591
596 void SetEnsdfDATADIR(string name = "");
598 {
600 }
602
613 void SetNucleiChartFileName(string name = "chart.jeff3.1.1");
614
616 {
617 return fNucleiChartFileName;
618 }
619
621
627 void SetReactionDataFileName(string name = "AvailableReactionChart.dat");
629 {
630 return fReactionDataFile;
631 }
632
634
639 void SetMassDataFileName(string name = "Mass.dat");
641 {
642 return fMassDataFileName;
643 }
644
646
651 void SetNaturalIsotopeMassFileName(string name = "NaturalIsotopeMass.dat");
653 {
655 }
656
658
664 void SetFPASCIIFileName(string name = "FPavailable.dat");
666 {
667 return (char *)(fFPASCIIFileName.c_str());
668 }
669
671
677 void SetFPBinaryFileName(string name = "FPyield.bin");
679 {
680 return (char *)(fFPBinaryFileName.c_str());
681 }
682 void SetBaseSummaryFileName(string name = "BaseSummary.dat");
684 {
685 return fBaseSummaryFileName;
686 }
687
688 void ReadSpecialIsomerFile(map<int, map<int, map<int, ZAI *> > > &TheChart);
689 void SetSpecialIsomerFileName(string name = "");
690 vector<SpecialIsomer> &GetSpecialIsomerVector()
691 {
692 return fSpecialIsomerVector;
693 }
695
701
704 void SetMCExec(string Exec)
705 {
706 fMCExec = Exec;
707 }
708 string GetMCExec()
709 {
710 return fMCExec;
711 }
712
714
718 void SetUseNewRandomSeed(long int dbcn = - 1);
719 long int GetRandomSeed()
720 {
722 }
723
725
733 void SetAutoXSDIR(bool cond = true)
734 {
735 fIsAutoXSDIR = cond;
736 }
738 {
739 return fIsAutoXSDIR;
740 }
741
742 void RemoveXSDIR();
743
744 void SetXSDIRName(string acefile = "xsdir")
745 {
746 fXSDIRName = acefile;
747 }
749 {
750 return fXSDIRName;
751 }
752
754
761 void SetMCRunDirectory(string name = "MUREOutput", string option = "");
763 {
764 return fMCRunDirectory;
765 }
766 void FindMCRunDirectory(string OriginalMCRunDir);
767 void BuildMCFile(string FileString = "");
768
770 {
771 return fMCInputBaseFileName;
772 }
774 {
775 return fMCInputFileName;
776 }
777 void SetMCInputFileName(string Name)
778 {
779 fMCInputBaseFileName = Name;
780 }
781 void SetRealMCInputFileName(string Name)
782 {
783 fMCInputFileName = Name;
784 }
787 void ConstructFileName(string FileName);
788 string ConstructFileName(string FileName, int EvoNum, int ThermoNum = - 1);
790 {
791 return fAutoNumberFileName;
792 }
793 void SetAutoNumberFileName(bool flag)
794 {
795 fAutoNumberFileName = flag;
796 }
797
798 void SetRunMultiMC(int n)
799 {
800 fRunMultiMC = n;
801 }
803 {
804 return fRunMultiMC;
805 }
806 void RunMultiMC(int n);
807 void RunMC();
809
814
816
827 void SetPVM(int n_processor);
828 bool IsPVM()
829 {
830 return fPVM;
831 }
832
834
844 void SetMPI(int n_processor, string MPIExec = "mpiexec");
845 bool IsMPI()
846 {
847 return fMPI;
848 }
849 string GetMPIExec()
850 {
851 return fMPIExec;
852 }
853
855
865 void SetOMP(int n_thread)
866 {
867 fOMP = n_thread;
868 }
869 int GetOMP()
870 {
871 return fOMP;
872 }
873
875 {
876 return fNprocessors;
877 }
879
884
886
890 void AddSpecialCard(string);
891 vector < string > &GetSpecialCard()
892 {
893 return fSpecialCard;
894 }
895 void SetSpecialCard(int i, string str)
896 {
897 fSpecialCard[i] = str;
898 }
899
900 void SetComment(string Comment = "This comment is never read...")
901 {
902 fComment = Comment;
903 }
904 string GetComment()
905 {
906 return fComment;
907 }
909
913 void AddSpecialSurface(string);
914
915 vector < string > GetSpecialSurfaceCard()
916 {
917 return fSpecialSurfaceCard;
918 }
920
921
927 {
928 return fMCNPThermoRunNumber;
929 }
930 void SetMCNPThermoRunNumber(int value = 0)
931 {
932 fMCNPThermoRunNumber = value;
933 }
935 {
937 }
938 //vector<ReactorMesh*> GetReactorMeshVector() {return fReactorMesh;} //!< Returns the reactor mesh vector
939 //void SetNewReactorMeshObject(ReactorMesh *RM) {fReactorMesh.push_back(RM);} //!< Add a new ReactorMesh Object into the vector
941
942 void SetCOBRACalculationRequired(int NumberOfIteration)
943 {
944 fNumberOfIterationNTH = NumberOfIteration; //@- say that COBRA Calculation is required during Fuel Depletion with NumberOfIterations N/TH a each fuel depletion step
947 }
948 void SetThermoHydraulicsRequired(bool flag = true)
949 {
950 fThermoHydraulicsRequired = flag; //@- say that thermo is needed
951 }
953 {
954 return fThermoHydraulicsRequired; //@- returns true if thermo is needed
955 }
957
964 //void BuildTHTalliesMultiGroup();
966
969 //void UpdateTHSigmaPhiMultiGroup();
971 {
972 fUserDefaultHydraulicModel = true; //@- use the default MURE team hydraulics models instead of COBRA ones
973 }
975
980 double GetKeff()
981 {
982 return fKeff;
983 }
984 double GetKeff_Err()
985 {
986 return fKeff_Err;
987 }
988 void SetKeff(double k)
989 {
990 fKeff = k;
991 }
992 void SetKeff_Err(double dk)
993 {
994 fKeff_Err = dk;
995 }
996 void UpdateKeff();
998
1004 void FindMissingVolume();
1005 void SetVolumeNPS(int nps = 400000)
1006 {
1007 fVolumeNPS = nps;
1008 }
1010 {
1011 return fVolumeNPS;
1012 }
1013 void SetVarianceVolumeWarning(double variance = 0.005)
1014 {
1015 fVarianceVolumeWarning = variance;
1016 }
1018 {
1019 return fVarianceVolumeWarning;
1020 }
1022
1029 {
1030 fOutermostShape = s;
1031 }
1033 {
1034 return fOutermostShape;
1035 }
1037 {
1038 fOutermostCell = c;
1040 }
1042 {
1043 return fOutermostCell;
1044 }
1045
1047 {
1048 fSourceSphereR = R;
1049 }
1051 {
1052 fSourceSphereO = O;
1053 }
1055 {
1056 return fSourceSphereR;
1057 }
1059 {
1060 return fSourceSphereO;
1061 }
1062
1063 void AddCellOfUnknownVolume(Cell *theCell);
1064 void AddShapeOfUnknownArea(Shape *theShape);
1065 vector < Cell *> &GetCellOfUnknownVolume()
1066 {
1067 return fCellOfUnknownVolume;
1068 }
1069 vector < Shape *> &GetShapeOfUnknownArea()
1070 {
1071 return fShapeOfUnknownArea;
1072 }
1073 Cell *FindCellOfUnknownVolume(int CellNo);
1075 {
1077 }
1079 {
1081 }
1082
1084
1085
1090 void StartGUI();
1091
1093 double GetTotalAtoms();
1094
1095 void WriteGlobalNucleiTree(string fname = "UnionOfAllTrees.dat");
1097 void AddToNucleiErrorMap(Nucleus *nuc, string ErrType)
1098 {
1099 fNucleiErrorMap[nuc] += " " + ErrType;
1100 }
1101 void SumUpNucleiError(ostream &Out = cerr) ;
1102 map < Nucleus *, string > &GetNucleiErrorMap()
1103 {
1104 return fNucleiErrorMap;
1105 }
1106 vector < Nucleus_ptr > &GetGlobalNucleiVector()
1107 {
1108 return fGlobalNucleiVector;
1109 }
1110
1112 {
1113 return fIsBaseSummaryRead;
1114 }
1115 void ReadBaseSummary();
1116 string GetBaseSummaryLine(int i);
1117 void AddLineToBaseSummary(string line);
1119 {
1121 }
1123 {
1125 }
1126 void CheckExtensions();
1128
1130 {
1131 fMUREInputGeometry = false;
1132 }
1134 {
1135 return ! fMUREInputGeometry;
1136 }
1137 void SetUserGeometryInputFile(string name);
1139 {
1141 }
1142
1143 void SaveBackupMureFile(string TheFileName);
1144
1145 string GetTotalRunTime();
1146 double GetRunTime()
1147 {
1148 return (time(nullptr) - fStartTime);
1149 }
1150
1151 void Dump();
1152 void CheckMandatoryPointeur();
1153 double FindFissileEnrichment(double DesiredKeff, double EnrichmentFirstGuess, Material *Fertile, Material *Fissile, Material *&Target);
1154
1156 {
1158 }
1160 {
1162 }
1164 {
1166 }
1168 {
1170 }
1172
1177
1178 void AddTally(MureTally *T);
1179 void AddMeshTally(MeshTally *MT);
1180 vector < MeshTally *> &GetMeshTally()
1181 {
1182 return fMeshTallyVector;
1183 }
1184 vector < MureTally *> &GetTallyVector()
1185 {
1186 return fTallyVector;
1187 }
1188 void ResetDetectorVector();
1189 MureTally *FindTally(int TallyNo);
1190
1192
1196 int NextTallyNum(int i = 0);
1197 void AddTimeEnergyGrid(MureTimeEnergyGrid *TheEnergyGrid);
1198 vector < MureTimeEnergyGrid *> GetTimeEnergyGrids();
1201 {
1203 }
1206 {
1207 fSetESpectrum = true;
1208 }
1210 {
1211 return fSetESpectrum;
1212 }
1213 void UseEnergyBinsFile(string Filename);
1214 vector < double > &GetEnergyBins()
1215 {
1216 return fEnergyBins;
1217 }
1219 {
1220 return fUseEnergyBinsFile;
1221 }
1223 {
1224 fESpectrumTallyNumber = num;
1225 }
1227 {
1228 return fESpectrumTallyNumber;
1229 }
1231
1236
1237 void SetMaterialNum(int num)
1238 {
1239 fLastMaterialNum = num;
1240 }
1242 {
1243 return fLastMaterialNum;
1244 }
1245
1246
1247 int NextCellNum();
1248 int NextSurfaceNum();
1249 int NextMaterialNum();
1250 int NextUniverseNum();
1251
1252 int NextTransformationNum();
1253 void SetLastTallyNum(int Num);
1254
1255 vector < Cell *> &GetCellVector()
1256 {
1257 return fCellVector;
1258 }
1259 void AddCell(Cell *theCell)
1260 {
1261 fCellVector.push_back(theCell);
1262 }
1263 Cell *FindCell(Cell *TheCell);
1264 Cell *FindCell(int CellNo);
1265 vector < Cell *> &GetTrueCellVector()
1266 {
1267 return fTrueCellVector;
1268 }
1269
1270 vector < PinCell *> &GetPinCellVector()
1271 {
1272 return fPinCellVector;
1273 }
1274 void AddPinCell(PinCell *thePinCell)
1275 {
1276 fPinCellVector.push_back(thePinCell);
1277 }
1279 PinCell *FindPinCell(int Universe);
1280
1281 vector < Material *> &GetMaterialVector()
1282 {
1283 return fMaterialVector;
1284 }
1285 void AddMaterial(Material *theMaterial);
1286 void RemoveMaterial(Material *TheMaterial);
1287 Material *FindMaterial(Material *TheMaterial);
1288 Material *FindMaterial(int MaterialNumber);
1289
1291 {
1292 fAddMaterial = false;
1293 }
1295 {
1296 return fAddMaterial;
1297 }
1298
1299 void AddSurfaceCard(SurfaceCard *card);
1300 void RemoveSurfaceCard(vector < SurfaceCard *> ::iterator it);
1301 vector < SurfaceCard *> &GetMureSurfaceCardVector()
1302 {
1303 return fSurfaceCardVector;
1304 }
1306
1308 {
1309 fTransformationVector.push_back(tr);
1310 }
1311 vector < Transformation *> &GetTransformationVector()
1312 {
1313 return fTransformationVector;
1314 }
1315 Transformation *FindTransformation(int transformation_number);
1317
1322 void SetBetaCalculation(bool flag = true)
1323 {
1325 }
1327 {
1329 }
1330 bool IsNucleusUsedForBeta(int Z, int A);
1331 void CalculateBetaI();
1333 void ResetAllBetaValues();
1336 {
1338 };
1340 {
1342 };
1344
1345
1346 private:
1347 void PrintBanner();
1348 static bool fIsBannerPrinted;
1349
1353
1355
1361
1362 string fComment;
1363
1364 vector < Cell *> fCellVector;
1365 vector < PinCell *> fPinCellVector;
1366 vector < Material *> fMaterialVector;
1368 vector < Nucleus_ptr > fGlobalNucleiVector;
1369 vector < Cell *> fTrueCellVector;
1370 vector < Cell *> fCellOfUnknownVolume;
1371 vector < Shape *> fShapeOfUnknownArea;
1372
1373 vector < SurfaceCard *> fSurfaceCardVector;
1374 vector < MureTally *> fTallyVector;
1375 vector < MeshTally *> fMeshTallyVector;
1376 vector < Transformation *> fTransformationVector;
1377
1385
1387 map < Nucleus *, string > fNucleiErrorMap;
1399
1401 vector < SpecialIsomer > fSpecialIsomerVector;
1404 vector < ZAI *> fZAIsForcedCutVector;
1406
1407 string fXSDIRName;
1409
1410 string fMCExec;
1411
1417
1425 vector < string > fBaseSummary;
1429
1430 string fMode;
1431 vector < string > fSpecialSurfaceCard;
1432 vector < string > fSpecialCard;
1434
1440
1441 double fKeff;
1442 double fKeff_Err;
1443
1448 vector < MureTimeEnergyGrid *> fTimeEnergyGrids;
1449 vector < double > fEnergyBins;
1453
1455 string fMPIExec;
1456 bool fPVM;
1457 bool fMPI;
1458 int fOMP;
1462
1464
1467
1470
1473
1476
1478
1480
1483 vector< vector<ZAI *> > fZAIDepletionTallyList;
1485
1487};
1488
1489#endif
Header file for BasePriority class.
Header file for Cell class.
Header file for ConnectorPlugin abstract class.
Header file for EvolutionSolver Class.
Header file for Monte-Carlo Source abstract class.
Header file for Mesh Tally classes (TMeshTally and FMeshTally).
Header file for TallyMultiplicator and MureTally classes.
Header file for MureTimeEnergyGrid Abstract class.
Header file for PinCell class.
Header file for Shape class and Shape_ptr type.
Header file for SpecialIsomer class.
Header file for SurfaceCard class.
Header file for TFunctor class and TSpecificFunctor template.
Header file for TemperatureMap class.
Define priorites of nuclear databases to choose nuclei from BaseSummary.dat file.
Definition BasePriority.hxx:44
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
Shape_ptr GetShape()
Definition Cell.hxx:130
Define a Connector plugin.
Definition ConnectorPlugin.hxx:55
EvolutionSolver class performs the fuel evolution.
Definition EvolutionSolver.hxx:69
Define a Monte-Carlo Source.
Definition MCSource.hxx:53
MURE class allow to make connections between classes.
Definition MURE.hxx:84
double GetReactionThreshold()
Definition MURE.hxx:413
vector< MeshTally * > fMeshTallyVector
the vector of all Mesh Tally to write
Definition MURE.hxx:1375
void AddPinCell(PinCell *thePinCell)
Definition MURE.hxx:1274
MureTally * FindTally(int TallyNo)
return the tally that has the number TallyNo
Definition MURE_misc.cxx:874
void StartGUI()
Start the TCL GUI (Examtree.tcl) to see the Nueclei Tree.
Definition MURE_misc.cxx:592
int NextUniverseNum()
returns the next Universe number available
Definition MURE_misc.cxx:98
bool fIsBaseSummaryRead
Flag to say if Base summary has been read in or not.
Definition MURE.hxx:1426
double GetKeff_Err()
Definition MURE.hxx:984
bool IsMCNPUserDefinedGeometry()
Definition MURE.hxx:1133
vector< int > fReactionNumbersForcedCutVector
List of reactions type that should not be considered even if the cross section are bigger than fReact...
Definition MURE.hxx:1403
int GetMaximumNumberOfDigitInEvolution()
get the maximum Number of digits to number evolution (default = 3)
Definition MURE.hxx:786
void SetMaterialForPartialTallyNormalization(int matnum)
Definition MURE_misc.cxx:1484
double GetTotalAtoms()
Sum all the evolving atoms in the problem.
Definition MURE_misc.cxx:67
vector< ZAI * > fGlobalZAIDepletionTallyList
Definition MURE.hxx:1482
void AddSpecialSurface(string)
Add string card associated to the MC's Surface definitions.
Definition MURE_misc.cxx:141
void ReadSpecialIsomerFile(map< int, map< int, map< int, ZAI * > > > &TheChart)
Read Special Isomer File (see SpecialIsomer class)
Definition MURE_misc.cxx:1416
double GetSourceSphereRadius()
Definition MURE.hxx:1054
char * GetFPBinaryFileName()
Definition MURE.hxx:678
void SetShortestHalfLife(double time=3600)
Set the shortest half time to consider for evolution.
Definition MURE.hxx:470
bool fMUREInputGeometry
True if the geometry is a MURE geometry and false for a user defined MCNP geometry.
Definition MURE.hxx:1465
void SetAllFissionEnergies(double Energy=2.0e08)
Set the fission energy released for all nuclei.
Definition MURE_misc.cxx:966
int fVolumeNPS
source neutron number for stochastic volume calculation
Definition MURE.hxx:1412
void SetVolumeNPS(int nps=400000)
Definition MURE.hxx:1005
string GetMassDataFileName()
Definition MURE.hxx:640
bool fIsFromVolumeCalculation
Flag that control copy/delete of MURE depending on the call time.
Definition MURE.hxx:1416
string fMCInputBaseFileName
The Base Name of the input file name generated for MC (such as "inp")
Definition MURE.hxx:1381
bool GetSilentDebug()
Definition MURE.hxx:159
void SetReactionDataFileName(string name="AvailableReactionChart.dat")
Set Name of the Available reaction file for the chart.
Definition MURE_misc.cxx:271
void SumAllCellToBetaCalculation()
Sums all beta by cell to obtain the total one.
Definition MURE_misc.cxx:1169
bool fMaterialUpdated
flag indicating that Materials have been updated
Definition MURE.hxx:1354
void SetReactionThreshold(double sigma=1e-2)
Definition MURE.hxx:409
vector< Cell * > & GetTrueCellVector()
Definition MURE.hxx:1265
bool IsESpectrum()
Definition MURE.hxx:1209
void SetBetaCalculation(bool flag=true)
Definition MURE.hxx:1322
double GetShortestHalfLife()
Definition MURE.hxx:474
void IntegrateMassInEvolvingCells()
Sum all the evolving masses in the problem.
bool IsAutoNumberFileName()
Definition MURE.hxx:789
void AddToNucleiErrorMap(Nucleus *nuc, string ErrType)
Definition MURE.hxx:1097
ConnectorPlugin * GetConnectorPlugin()
returns the Connector's Plugin
Definition MURE_misc.cxx:1540
string GetListOfWantedNucleiFN()
Definition MURE.hxx:459
void SetRealMCInputFileName(string Name)
Definition MURE.hxx:781
void SetNucleiChartFileName(string name="chart.jeff3.1.1")
Set Name of the decay mode file.
Definition MURE_misc.cxx:265
vector< Cell * > & GetCellOfUnknownVolume()
Definition MURE.hxx:1065
void SetSerpentDopplerBroadening()
Definition MURE.hxx:1155
string fFPBinaryFileName
Name Binary file for Fission Products.
Definition MURE.hxx:1423
void RemoveSurfaceCard(vector< SurfaceCard * > ::iterator it)
remove a Surface to the Surface Vector.
Definition MURE_misc.cxx:155
void ResetDetectorVector()
Remove all tallies.
Definition MURE_constructor.cxx:667
int NextTallyNum(int i=0)
returns the next Tally number of type i available
Definition MURE_misc.cxx:105
void KeepOnlyFissionProductSelection(string name="")
Use only some fission products for evolution.
Definition MURE_misc.cxx:982
vector< PinCell * > & GetPinCellVector()
Definition MURE.hxx:1270
string GetNaturalIsotopeMassFileName()
Definition MURE.hxx:652
bool fAddMaterial
false if you don't want to add material in fMaterialVector
Definition MURE.hxx:1367
void SetMode(string MyMode="N")
Definition MURE.hxx:314
string GetNucleiChartFileName()
Definition MURE.hxx:615
void SetTallyNormalizationFactor(double val)
set Flux normalization value.
Definition MURE.hxx:233
void ReadBaseSummary()
Read the whole base summary file to increase speed.
Definition MURE_misc.cxx:1072
void AddTransformation(Transformation *tr)
Definition MURE.hxx:1307
void SetModeNP()
Definition MURE.hxx:294
void SetFromVolumeCalculation(bool flag)
Definition MURE.hxx:1074
int fMCNPThermoRunNumber
Current ThermoHydraulics MCNP Run Number.
Definition MURE.hxx:1439
PinCell * FindPinCell(PinCell *pin)
Definition MURE_misc.cxx:827
string GetTotalRunTime()
Returns a string that tells how long it is since MURE's code is running.
Definition MURE_misc.cxx:998
bool fUserDefaultHydraulicModel
Use specific hydraulics model for CHF.
Definition MURE.hxx:1438
void SetModePE()
Definition MURE.hxx:306
void SetMCInputFileName(string Name)
Definition MURE.hxx:777
void AddShapeOfUnknownArea(Shape *theShape)
add theShep to the UnkownSurface Shape vector
Definition MURE_misc.cxx:209
void SetTemperatureMap(double *T=nullptr, int NT=0)
Set The TemperatureMap.
Definition MURE_misc.cxx:316
bool IsMPI()
Definition MURE.hxx:845
int NextCellNum()
returns the next Cell number available
Definition MURE_misc.cxx:77
int GetVolumeNPS()
Definition MURE.hxx:1009
string fFissionReleasedFN
The name of fission energy released file.
Definition MURE.hxx:1396
string GetMCInputBaseFileName()
Definition MURE.hxx:769
bool fAutoNumberFileName
whether or not use automatic numbering of evolving MC input files (e.g. XXX for inp base name)
Definition MURE.hxx:1383
void AddList2DepletionTallyList(vector< ZAI * > NucleiList, int matnum)
Definition MURE_evol.cxx:101
bool fKeepOnlyFissionProductSelection
true if all fission products are not used for evolution
Definition MURE.hxx:1397
void AddLineToBaseSummary(string line)
Add a line to the read base summary.
Definition MURE_misc.cxx:1102
int NextMaterialNum()
returns the next Material number available
Definition MURE_misc.cxx:91
void SetESpectrumTallyNumber(int num)
Definition MURE.hxx:1222
double GetFissionEnergies()
Definition MURE.hxx:247
int fESpectrumTallyNumber
Number of the Tally for Energy flux spectrum.
Definition MURE.hxx:1447
int fLastUniverseNum
last Universe number used
Definition MURE.hxx:1359
bool IsSameTimeEnergyGridForAllTallies()
Definition MURE.hxx:1200
vector< Transformation * > fTransformationVector
the vector geometrical transformation
Definition MURE.hxx:1376
Shape_ptr fOutermostShape
The outer Shape to evaluate neutron leakage or volume.
Definition MURE.hxx:1451
vector< ZAI * > GetZAIsForcedCutVector()
Add a nuclei to the list of nuclei that have to be cut regardless of their half life.
Definition MURE.hxx:533
double fReactionThreshold
the reaction ratio threshold for ReactionList
Definition MURE.hxx:1389
void SetKeff_Err(double dk)
Definition MURE.hxx:992
void SetUserDefaultHydraulicModel()
Build automatic tallies in multigroup run without using the perturbative materials.
Definition MURE.hxx:970
string fSpecialIsomerFileName
file that explain the particular treatment of special isomers
Definition MURE.hxx:1400
void CheckMandatoryPointeur()
Verify the mandatory pointeur exists (such as MCSource, EvolutionSolver and ConnectrPlugin)
Definition MURE_misc.cxx:1508
Shape_ptr GetOutermostShape()
Definition MURE.hxx:1032
string fUserGeometryInputFile
The input file for the user given MCNP geometry.
Definition MURE.hxx:1466
double GetKeff()
Definition MURE.hxx:980
double fKeff
Current Keff of the problem.
Definition MURE.hxx:1441
vector< int > GetReactionNumbersForcedCutVector()
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nucle...
Definition MURE.hxx:518
void SetSilentDebug(bool flag=true)
Set the Silent Debug mode on.
Definition MURE.hxx:155
bool IsBaseSummaryRead()
Definition MURE.hxx:1111
void SetFissionReleasedFile(string name)
Set the fission energy released from a file.
Definition MURE_misc.cxx:974
bool IsBetaCalculation()
Definition MURE.hxx:1326
void BuildMCFile(string FileString="")
Generate and Write input file on disk for the MC code (find missing volumes before)
Definition MURE_buildfile.cxx:51
vector< SurfaceCard * > & GetMureSurfaceCardVector()
Definition MURE.hxx:1301
void SetReactionListInitMethod(TSpecificFunctor< ReactionList > *method)
Set the ReactionList Init Method.
Definition MURE.hxx:375
string GetDATADIR()
Definition MURE.hxx:575
void SetMaterialNum(int num)
Definition MURE.hxx:1237
vector< string > fSpecialCard
the vector of all Special card to write
Definition MURE.hxx:1432
vector< Cell * > fCellVector
the vector of all Cell to write
Definition MURE.hxx:1364
bool IsSerpentDopplerBroadening()
Definition MURE.hxx:1159
vector< Shape * > fShapeOfUnknownArea
Vector of Shape_ptr of Unknown area used in tallies.
Definition MURE.hxx:1371
void UseEnergyBinsFile(string Filename)
uses the filename provided for building the energy binning. (single column file with energies in eV)!
Definition MURE_misc.cxx:904
void SetFPASCIIFileName(string name="FPavailable.dat")
Set Name ASCII file for Fission Products.
Definition MURE_misc.cxx:291
void SetMCExec(string Exec)
Set Name of MC exec.
Definition MURE.hxx:704
Material * FindMaterial(Material *TheMaterial)
return the material of same number than TheMaterial
Definition MURE_misc.cxx:796
vector< MureTally * > fTallyVector
the vector of all Tally to write
Definition MURE.hxx:1374
int fReactionDepth
The maximum number of consecutive reactions.
Definition MURE.hxx:1392
void SetExtendedReactionList()
Definition MURE.hxx:431
double fSourceSphereR
Sphere source radius used in stochastic volume calculation.
Definition MURE.hxx:1414
double * fSourceSphereO
Sphere source center used in stochastic volume calculation.
Definition MURE.hxx:1415
vector< int > fFirstThermalZIndexInBaseSummary
Store line number where to go to find Z entries for thermal data in Base Summary.
Definition MURE.hxx:1428
void SetMessageLevel(int level)
Set the minimal level of printed messages.
Definition MURE.hxx:140
void DontAddMaterial()
Definition MURE.hxx:1290
vector< string > fBaseSummary
Table to put the Base summary file in memory for quick access.
Definition MURE.hxx:1425
TemperatureMap * fTemperatureMap
The temperature Map.
Definition MURE.hxx:1386
void SetXSDIRName(string acefile="xsdir")
Definition MURE.hxx:744
void IncreaseMCNPThermoRunNumber()
Definition MURE.hxx:934
void SetLastTallyNum(int Num)
Set the last tally number to Num (for MCNP user input geometry)
Definition MURE_misc.cxx:119
bool IsVolumeCalculationNeeded()
return true if a volume is missing for a cell in which a tally is asked
~MURE()
Destructor (call Delete method)
Definition MURE_constructor.cxx:504
bool fSilentDebug
generally suppress the debug messages
Definition MURE.hxx:1352
void AddZAIForcedCut(int Z, int A, int I=0)
Definition MURE_misc.cxx:1641
int fLastMaterialNum
last Material number used
Definition MURE.hxx:1358
vector< Cell * > & GetCellVector()
Definition MURE.hxx:1255
bool GetDisableViolentSimplifyNode()
Definition MURE.hxx:1167
double fSetAllFissionEnergies
If > zero, then we will override correct fission energies with this value.
Definition MURE.hxx:1395
int GetReactionDepth()
Definition MURE.hxx:557
vector< SpecialIsomer > fSpecialIsomerVector
vector of special Isomer treatment (like capture on Am241)
Definition MURE.hxx:1401
int fMessageLevel
message level treshold
Definition MURE.hxx:1351
void SetKeff(double k)
Definition MURE.hxx:988
void RunMultiMC(int n)
Run n MC codes and adds MC detector output file to make one (mean and error of the n runs for all tal...
Definition MURE_misc.cxx:392
vector< PinCell * > fPinCellVector
the vector of all PinCell to write
Definition MURE.hxx:1365
void SetMaximumNumberOfDigitInEvolution(int maxi)
set the maximum Number of digits to number evolution (default = 3)
Definition MURE.hxx:785
int fLastCellNum
last Cell number used
Definition MURE.hxx:1356
vector< Shape * > & GetShapeOfUnknownArea()
Definition MURE.hxx:1069
Cell * fOutermostCell
Definition MURE.hxx:1452
void AddMeshTally(MeshTally *MT)
Add a MeshTally to Mure (for MCNP)
Definition MURE_misc.cxx:190
bool IsInDepletionList(ZAI *deplzai, int matnum)
Definition MURE_evol.cxx:54
void ClearSurfaceCardVector()
Definition MURE_misc.cxx:174
vector< ZAI * > fZAIsForcedCutVector
List of ZAI that should not be considered even if their half life are longer than fShortestHalfTimeTh...
Definition MURE.hxx:1404
void SetFPBinaryFileName(string name="FPyield.bin")
Set Name Binary file for Fission Products.
Definition MURE_misc.cxx:297
bool fEvolutionRequired
If an Evolution is required (i.e. many MC's run steps)
Definition MURE.hxx:1474
string fDataDirectoryName
data directory name for all data files
Definition MURE.hxx:1378
void SetSpectrumType(string type="thermal")
Set the spectrum type.
Definition MURE_misc.cxx:302
void SetAutoXSDIR(bool cond=true)
Tells MURE to build automatically the xsdir/xsdata file.
Definition MURE.hxx:733
void AddMaterial(Material *theMaterial)
Add a Material to the Material Vector.
Definition MURE_misc.cxx:652
void Dump()
Dump a MURE object.
Definition MURE_misc.cxx:885
bool fSetESpectrum
flag for tallying Energy Bins in all "True" Cells (Cells which do contain a non void material)
Definition MURE.hxx:1444
double fKeff_Err
Current Error on current Keff of the problem.
Definition MURE.hxx:1442
MureTimeEnergyGrid * FindTimeEnergyGrid(int num)
return the TimeEnergyGrid of number num
Definition MURE_misc.cxx:1559
void SetCOBRACalculationRequired(int NumberOfIteration)
Definition MURE.hxx:942
bool IsUseEnergyBinsFile()
Definition MURE.hxx:1218
void SetEvolutionRequired(bool flag=true)
Definition MURE.hxx:193
double GetMCNucleusThreshold()
Definition MURE.hxx:427
long int GetRandomSeed()
Definition MURE.hxx:719
vector< int > GetMaterialForPartialTallyNormalization()
Definition MURE.hxx:1339
string fMCInputFileName
The final file name for MC (such as inpXXX for step XXX of an Evolution)
Definition MURE.hxx:1382
void AddReactionNameForcedCut(string NewReactionNameForcedCut)
Set Reactions that have to be cut regardless of the cross sections and for all nuclei.
Definition MURE_misc.cxx:1585
double fMCNucleusThreshold
the threshold to decide to write a nucleus in MC's input file
Definition MURE.hxx:1394
vector< Material * > fMaterialVector
the vector of all Material to write
Definition MURE.hxx:1366
bool IsNucleusUsedForBeta(int Z, int A)
Check on used or unused nucleus in delayed neutron fraction calculation.
Definition MURE_misc.cxx:1145
void SetRunMultiMC(int n)
Definition MURE.hxx:798
void ConstructFileName(string FileName)
Construct MC input filename.
Definition MURE_buildfile.cxx:371
void RemoveXSDIR()
remove xsdir/xsdata file.
Definition MURE_misc.cxx:1520
string fNaturalIsotopeMassFileName
File where to find the nuclear mass data for natural isotopes.
Definition MURE.hxx:1421
string GetEnvVar(const std::string envName)
Get environment variable such as DATAPATH.
Definition MURE_misc.cxx:1651
string GetMPIExec()
Definition MURE.hxx:849
string fEnsdfDataDirectoryName
data directory name for ENSDF data (added B.LENIAU)
Definition MURE.hxx:1379
string fKeepOnlyFissionProductSelectionFN
The file name that contains the FP to keep.
Definition MURE.hxx:1398
int GetFirstThermalZIndexInBaseSummary(int z)
Definition MURE.hxx:1122
void SetOutermostShape(Shape_ptr s)
Set the most outer shape.
Definition MURE.hxx:1028
MCSource * fReactivityCoeffsSource
Source Used for reactivity coeffs calculations.
Definition MURE.hxx:1463
BasePriority * GetBasePriority()
Definition MURE.hxx:358
void Delete(bool DeleteConnector=true)
Delete MURE either soft or hard and preserve ConnectorPlugin if !DeleteConnector.
Definition MURE_constructor.cxx:509
bool IsAllowedToAddMaterial()
Definition MURE.hxx:1294
double GetSpectrumType()
returns the average energy for a spectrum type.
Definition MURE.hxx:341
string fMCExec
name of MC exec(mcnp5, sss2, ...)
Definition MURE.hxx:1410
void SetMassDataFileName(string name="Mass.dat")
Set name of the isotopes mass file.
Definition MURE_misc.cxx:277
vector< string > GetAllPossibleReactionNames()
Get list of All Possible Reactions that can be taken into account by SMURE.
Definition MURE_misc.cxx:1625
void WriteGlobalNucleiTree(string fname="UnionOfAllTrees.dat")
write the union of all nuclear trees (evolving nuclei in globalnucleivector)
Definition MURE_misc.cxx:675
int GetMessageLevel()
Definition MURE.hxx:144
vector< string > & GetSpecialCard()
Definition MURE.hxx:891
void PrintDepletionTallyList()
Definition MURE_evol.cxx:118
bool fUseEnergyBinsFile
flag for using a user provided data file with desired energy binning.
Definition MURE.hxx:1445
void CalculateBetaI()
Method called in MURE input file to calculate NOW the delayed neutron fractions.
Definition MURE_misc.cxx:1183
void SetReactionNumbersForcedCutVector(vector< int > ReactionNumbersForcedCutUser)
Set list of Reactions that have to be cut regardless of the cross sections and for all nuclei.
Definition MURE.hxx:499
string fMassDataFileName
File where to find the nuclear mass data.
Definition MURE.hxx:1420
void FindMCRunDirectory(string OriginalMCRunDir)
Find the MC Run Directory according to evoluion step (PC, Partial run, ...)
Definition MURE_misc.cxx:1014
bool IsElasticXSinDATA()
Definition MURE.hxx:541
vector< int > fMatnumDepletionTallyList
List of ZAIs that should be tallied in multigroup mode.
Definition MURE.hxx:1484
vector< MureTimeEnergyGrid * > GetTimeEnergyGrids()
return the Time and/or Energy grid for tallies
Definition MURE_misc.cxx:1553
void BuildCOBRAFiles()
Build COBRA files.
void SetSource(MCSource *source)
Set the MC particle source.
Definition MURE_misc.cxx:1496
void SetSourceSphereRadius(double R)
Definition MURE.hxx:1046
void SetListOfWantedNucleiFN(string name)
Set the List of Wanted Nuclei file name.
Definition MURE.hxx:455
long int fRandomSeedGenerator
the random seed value
Definition MURE.hxx:1460
void SetMaterialForPartialTallyNormalization(vector< int > matnum)
Definition MURE.hxx:1335
void RunMC()
Run MC code!!!!
Definition MURE_misc.cxx:489
bool fMPI
True for a MC MPI parallel run.
Definition MURE.hxx:1457
int GetESpectrumTallyNumber()
Definition MURE.hxx:1226
vector< double > fEnergyBins
vector of Energies in eV read from the fEnergyBinsFileName file that will be put in a MureTimeEnergyG...
Definition MURE.hxx:1449
void AddSurfaceCard(SurfaceCard *card)
Add a SurfaceCard to the SurfaceCard Vector.
Definition MURE_misc.cxx:147
Cell * FindCell(Cell *TheCell)
return the Cell of same number than TheCell
Definition MURE_misc.cxx:816
vector< Nucleus_ptr > fGlobalNucleiVector
Union of all the nuclei used in all the evolving materials.
Definition MURE.hxx:1368
string GetReactionDataFileName()
Definition MURE.hxx:628
EvolutionSolver * fEvolutionSolver
The evolution pointer connector.
Definition MURE.hxx:1475
char * GetFPASCIIFileName()
Definition MURE.hxx:665
void AddZAI2GlobalDepletionTallyList(ZAI Nuclei)
bool fForceConstRandomSeedForMultiRun
Definition MURE.hxx:1461
string GetMCRunDirectory()
Definition MURE.hxx:762
string GetRealMCInputFileName()
Definition MURE.hxx:773
void SetZAIsForcedCutVector(vector< ZAI * > ZAIsForceCutUser)
Definition MURE.hxx:528
double GetRunTime()
Definition MURE.hxx:1146
void AddToGlobalNucleiVector(Nucleus_ptr &nuc)
add a nucleus to GlobalNucleiVector
Definition MURE_misc.cxx:603
void PutElasticXSinDATA(bool RegisterElasticXSinDATA=true)
Definition MURE.hxx:537
double fVarianceVolumeWarning
warning message threshold in stochastic volume precision
Definition MURE.hxx:1413
bool IsOnlyFissionProductSelection()
Definition MURE.hxx:405
void SetDATADIR(string name="")
Set the data directory path to name.
Definition MURE_misc.cxx:224
void CheckNucleusDataBaseError()
Check for nuclei error in data base (T, base name, ...)
Definition MURE_buildfile.cxx:58
string fXSDIRName
the xsdir/ACElib name
Definition MURE.hxx:1407
map< Nucleus *, string > fNucleiErrorMap
Map to store problems about nuclei (Errors in Nucleus::FindCode, more precisely)
Definition MURE.hxx:1387
int fStartTime
The computer clock time at the start of the MURE run.
Definition MURE.hxx:1350
bool fIsConnectorPluginCalled
Definition MURE.hxx:1472
void SetMCNPThermoRunNumber(int value=0)
Definition MURE.hxx:930
void SetMPI(int n_processor, string MPIExec="mpiexec")
Set the processor number in MPICH mode.
Definition MURE_misc.cxx:946
void SetVarianceVolumeWarning(double variance=0.005)
Definition MURE.hxx:1013
vector< MureTimeEnergyGrid * > fTimeEnergyGrids
Definition MURE.hxx:1448
int fRunMultiMC
Number of run in a Multi MC mode.
Definition MURE.hxx:1459
void SetSameTimeEnergyGridForAllTallies()
set that all tallies must use the same TimeEnergyGrid
Definition MURE_misc.cxx:1568
vector< SurfaceCard * > fSurfaceCardVector
the vector of all Surface to write (in the MC output format)
Definition MURE.hxx:1373
bool GetExtendedReactionList()
Definition MURE.hxx:435
vector< MeshTally * > & GetMeshTally()
Definition MURE.hxx:1180
int GetOMP()
Definition MURE.hxx:869
void SetSourceSphereCenter(double *O)
Definition MURE.hxx:1050
BasePriority * fBasePriority
The Base Priority wish.
Definition MURE.hxx:1388
Transformation * FindTransformation(int transformation_number)
return the transformation with this number
Definition MURE_misc.cxx:855
void SetThermoHydraulicsRequired(bool flag=true)
Definition MURE.hxx:948
vector< double > fNSigmaFisPhiTotalOfNucleus
For a nucleus : sum of reaction rates.
Definition MURE.hxx:1469
void SetAutoNumberFileName(bool flag)
Definition MURE.hxx:793
vector< int > fMaterialForTallyNormalization
Material numbers to be used for partial normalization to power.
Definition MURE.hxx:1481
int fLastTallyNum[8]
last Tally of type i number used
Definition MURE.hxx:1360
double FindFissileEnrichment(double DesiredKeff, double EnrichmentFirstGuess, Material *Fertile, Material *Fissile, Material *&Target)
Definition MURE_misc.cxx:1313
void SetMCRunDirectory(string name="MUREOutput", string option="")
Set the MC run directory name.
Definition MURE_misc.cxx:330
void Copy(const MURE &m)
Copy MURE object.
Definition MURE_constructor.cxx:218
bool fDisableViolentSimplifyNode
Material number for which tallying of isotopes should happen.
Definition MURE.hxx:1486
vector< int > GetDepletionTallyListINT()
Definition MURE.hxx:219
void SetBasePriority(BasePriority *UserBasePriority)
Set the BasePriority.
Definition MURE_misc.cxx:773
EvolutionSolver * GetEvolutionSolver()
Definition MURE.hxx:202
vector< Material * > & GetMaterialVector()
Definition MURE.hxx:1281
int fLastTransformNum
last Transformation used
Definition MURE.hxx:1433
vector< SpecialIsomer > & GetSpecialIsomerVector()
Definition MURE.hxx:690
void SetOMP(int n_thread)
Set the processor number in OpenMP mode.
Definition MURE.hxx:865
string fBaseSummaryFileName
Name of the Base Summary file to find info on availlable data bases.
Definition MURE.hxx:1424
void AddCellOfUnknownVolume(Cell *theCell)
add thecell to the UnkownVolume cell vector
Definition MURE_misc.cxx:196
string GetXSDIRName()
Definition MURE.hxx:748
int fNbOfDigitInEvo
Number of digits to number evolution (default = 3)
Definition MURE.hxx:1384
void SaveBackupMureFile(string TheFileName)
Backup copy of the MURE source file (.cxx) in the MC run directory.
Definition MURE_misc.cxx:924
void AddTimeEnergyGrid(MureTimeEnergyGrid *TheEnergyGrid)
add a Time and/or Energy grid for tallies
Definition MURE_misc.cxx:1547
bool fIsAutoXSDIR
Whether the XSDIr must be automtically built or not.
Definition MURE.hxx:1408
MCSource * GetSource()
Get the MC particle source.
Definition MURE_misc.cxx:1502
void AddTally(MureTally *T)
Add a Tally to Mure.
Definition MURE_misc.cxx:184
Cell * GetOutermostCell()
Definition MURE.hxx:1041
void SetNaturalIsotopeMassFileName(string name="NaturalIsotopeMass.dat")
Set name of the NATURAL isotopes mass file.
Definition MURE_misc.cxx:283
vector< double > & GetEnergyBins()
Definition MURE.hxx:1214
void SetUseNewRandomSeed(long int dbcn=- 1)
Use a new Random Seed number in MC run.
Definition MURE_misc.cxx:954
vector< MureTally * > & GetTallyVector()
Definition MURE.hxx:1184
int fOMP
number of Threads in OpenMP parallel compilation of MC.
Definition MURE.hxx:1458
int NextSurfaceNum()
returns the next Surface number available
Definition MURE_misc.cxx:84
bool fBetaCalculationRequired
True if delayed neutron fraction calculation wanted.
Definition MURE.hxx:1468
void Evolution(vector< double > T, int Start=0, bool BrutalStop=false)
Perform the evolution.
Definition MURE_evol.cxx:44
void SetEnsdfDATADIR(string name="")
Set the ENSDF data directory path to name.
Definition MURE_misc.cxx:251
vector< string > GetReactionNamesForcedCutVector()
Get list of Reactions that have been set to be cut regardless of the cross sections and for all nucle...
Definition MURE_misc.cxx:1605
void SetMCNucleusThreshold(double epsilon=1e-6)
Set threshold to decide to write a nucleus in the MC input.
Definition MURE.hxx:423
void UpdateKeff()
Read MC's Output file to set Keff value (can be used without evolution)
Definition MURE_evol.cxx:49
string fNucleiChartFileName
File where to find radioactive decays modes &branching ratios.
Definition MURE.hxx:1418
int GetFirstContinuousZIndexInBaseSummary(int z)
Definition MURE.hxx:1118
void SetUserGeometryInputFile(string name)
set the file name of the user defined MCNP geometry
Definition MURE_misc.cxx:991
int fNprocessors
Number of processor in PVM/MPICH/OpenMP MC run.
Definition MURE.hxx:1454
int fNumberOfIterationNTH
Number of Neutronics/thermalhydraulics iterations required at each fuel depletion step.
Definition MURE.hxx:1437
int GetSizeOfDepletionTallyList()
Definition MURE.hxx:211
void SetSpecialCard(int i, string str)
Definition MURE.hxx:895
vector< string > fSpecialSurfaceCard
the vector of all Special Surface card
Definition MURE.hxx:1431
bool IsEvolutionRequired()
Definition MURE.hxx:189
static bool fIsBannerPrinted
Print the banner only once.
Definition MURE.hxx:1348
vector< string > GetSpecialSurfaceCard()
Definition MURE.hxx:915
string fFPASCIIFileName
Name ASCII file for Fission Products.
Definition MURE.hxx:1422
void SetComment(string Comment="This comment is never read...")
Definition MURE.hxx:900
bool fIsSameTimeEnergyGridForAllTallies
Definition MURE.hxx:1450
string fMode
the mode MCNP card (N, N P, N E, P E, P, or N P E). For Serpent, only mode N is taken.
Definition MURE.hxx:1430
int GetMaterialNum()
Definition MURE.hxx:1241
ConnectorPlugin * fConnectorPlugin
Pointer to couple MURE with MCNP, Serpent...
Definition MURE.hxx:1471
void SetDisableViolentSimplifyNode(bool flag)
Definition MURE.hxx:1163
double * GetSourceSphereCenter()
Definition MURE.hxx:1058
int GetNProcessors()
Definition MURE.hxx:874
string GetComment()
Definition MURE.hxx:904
vector< int > fFirstContinuousZIndexInBaseSummary
Store line number where to go to find Z entries for continuous energy in Base Summary.
Definition MURE.hxx:1427
string GetDATAPATH()
Get environment DATAPATH variable.
Definition MURE_misc.cxx:1672
void SetModeNPE()
Definition MURE.hxx:302
void SetPVM(int n_processor)
Set the processor number in PVM mode.
Definition MURE_misc.cxx:939
void RemoveMaterial(Material *TheMaterial)
Remove a Material from the Material vector.
Definition MURE_constructor.cxx:651
string GetMCExec()
Definition MURE.hxx:708
void SetModeNE()
Definition MURE.hxx:298
void FindMissingVolume()
Find Missing volume (call ConnectorPlugin method)
Definition MURE_misc.cxx:1489
vector< vector< ZAI * > > GetDepletionTallyListZAI()
Definition MURE.hxx:215
void SetModeN()
Definition MURE.hxx:290
void SetOutermostCell(Cell *c)
Definition MURE.hxx:1036
string fEnergyBinsFileName
name of the user provided data file with desired energy binning.
Definition MURE.hxx:1446
TFunctor * fReactionListInitMethod
ReactionList Init tMethod (e.g. InitPTO())
Definition MURE.hxx:1390
bool fThermoHydraulicsRequired
If we are running MCNP many times with ThermoHydraulics.
Definition MURE.hxx:1435
string GetUserGeometryInputFile()
Definition MURE.hxx:1138
bool fCOBRACalculationRequired
If we are running iteration between MCNP and COBRA.
Definition MURE.hxx:1436
string GetEnsdfDATADIR()
Definition MURE.hxx:597
bool GetFromVolumeCalculation()
Definition MURE.hxx:1078
int NextTransformationNum()
returns the next Transformation number available
Definition MURE_misc.cxx:129
bool fPVM
True for a MC PVM parallel run.
Definition MURE.hxx:1456
friend class MureTrojan
Definition MURE.hxx:85
Cell * FindCellOfUnknownVolume(int CellNo)
Definition MURE_misc.cxx:843
string GetMode()
Definition MURE.hxx:318
void CheckExtensions()
Check if two different nuclei have the same extension and correct if necessary.
Definition MURE_buildfile.cxx:83
vector< Transformation * > & GetTransformationVector()
Definition MURE.hxx:1311
void SetESpectrum()
Definition MURE.hxx:1205
string fMCRunDirectory
name of the directory in which the MC output files are written
Definition MURE.hxx:1380
bool fRegisterElasticXSinDATA
true if elastic scattering cross section registered in the DATA file next to other XSs
Definition MURE.hxx:1405
TemperatureMap * GetTemperatureMap()
Definition MURE.hxx:354
void AddSpecialCard(string)
Add General card to MC.
Definition MURE_misc.cxx:136
void SumUpNucleiError(ostream &Out=cerr)
Write in the chosen output the list of the nuclei with problems, and the type of these problems.
Definition MURE_misc.cxx:784
void AddCell(Cell *theCell)
Definition MURE.hxx:1259
bool IsAutoXSDIR()
Definition MURE.hxx:737
string GetKeepOnlyFissionProductSelectionFN()
Definition MURE.hxx:401
string fMPIExec
MPI Exec name to launch MC (mpiexec, mpirun, ...)
Definition MURE.hxx:1455
void ResetAllBetaValues()
put to zero all values (used at each calculation done : needed if severals calculations of beta are r...
Definition MURE_misc.cxx:1293
int GetMCNPThermoRunNumber()
Definition MURE.hxx:926
string fListOfWantedNucleiFN
File name of the list of wanted nuclei (and ONLY these)
Definition MURE.hxx:1402
void PrintBanner()
Print a banner at start of MURE.
Definition MURE_misc.cxx:1684
double fMeanEnergySpectrum
The mean energy spectrum to consider (for FP yield)
Definition MURE.hxx:1393
double GetVarianceVolumeWarning()
Definition MURE.hxx:1017
void SetSpecialIsomerFileName(string name="")
Set Special Isomer File name (see SpecialIsomer class)
Definition MURE_misc.cxx:1472
string GetBaseSummaryLine(int i)
Get the ith base summary line.
Definition MURE_misc.cxx:1123
bool IsThermoHydraulicsRequired()
Definition MURE.hxx:952
string fComment
first line comment in MC file
Definition MURE.hxx:1362
string GetBaseSummaryFileName()
Definition MURE.hxx:683
vector< vector< ZAI * > > fZAIDepletionTallyList
List of ZAIs that should be tallied in multigroup mode for each material.
Definition MURE.hxx:1483
void SetBaseSummaryFileName(string name="BaseSummary.dat")
set the BaseSummary.dat file name
Definition MURE_misc.cxx:577
vector< Cell * > fTrueCellVector
Vector of all true Cells (which are non void) which shall be written to MC (which fNumber is not nega...
Definition MURE.hxx:1369
int GetRunMultiMC()
Definition MURE.hxx:802
void SetMCNPUserDefinedGeometry()
Definition MURE.hxx:1129
void AddReactionNumberForcedCut(int NewReactionNumberForcedCut)
Add a new Reaction that have to be cut regardless of the cross sections and for all nuclei.
Definition MURE.hxx:509
void SetReactionDepth(int depth=10000)
Set the maximum number of consecutive reactions to consider for evolution.
Definition MURE.hxx:553
double fShortestHalfTimeThres
The shortest half life considered for a nucleus.
Definition MURE.hxx:1391
bool fSerpentDopplerBroadening
Definition MURE.hxx:1477
int fLastSurfaceNum
last Surface number used
Definition MURE.hxx:1357
string fReactionDataFile
File where to find if reaction are available or not.
Definition MURE.hxx:1419
bool IsPVM()
Definition MURE.hxx:828
TFunctor * GetReactionListInitMethod()
Definition MURE.hxx:379
bool fExtendedReactionList
Definition MURE.hxx:1479
vector< Nucleus_ptr > & GetGlobalNucleiVector()
Definition MURE.hxx:1106
map< Nucleus *, string > & GetNucleiErrorMap()
Definition MURE.hxx:1102
string GetFissionReleasedFile()
Definition MURE.hxx:263
void SetPower(double Power)
Definition MURE.hxx:197
void SetConnectorPlugin(ConnectorPlugin *plugin)
Set the output plugin's connector.
Definition MURE_misc.cxx:1532
void SetModeP()
Definition MURE.hxx:310
vector< Cell * > fCellOfUnknownVolume
Vector of Cell of Unknown volume used in tallies.
Definition MURE.hxx:1370
A Material constituing a Cell.
Definition Material.hxx:83
Define a MeshTally class (abstract).
Definition MeshTally.hxx:45
Define a MURE Tally.abstract class.
Definition MureTally.hxx:141
Define a Time and/or Energy Grid for tallies (abstract class)
Definition MureTimeEnergyGrid.hxx:40
A real Nucleus with a Temperature.
Definition Nucleus.hxx:71
PinCell class allows to create cylindrical cell set included as Matrioshka.
Definition PinCell.hxx:53
Abstract class to define geometrical shapes.
Definition Shape.hxx:85
SurfaceCard class is used to define geometrical math surface for MC output format.
Definition SurfaceCard.hxx:42
Abstract class to define Functor (function of function).
Definition TFunctor.hxx:37
The good way of handling temperature from data base.
Definition TemperatureMap.hxx:47
Spatial Transformation for cell or universe.
Definition Transformation.hxx:59
A ZAI defined a (Z, A, Isomere) for a Nucleus.
Definition ZAI.hxx:118
the namespace of the Standard C++

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