MURE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
FuelReprocessing.hxx
Go to the documentation of this file.
1 #ifndef _FUELREPROCESSING_HXX_
2 #define _FUELREPROCESSING_HXX_
3 
9 #include <fstream>
10 #include <iostream>
11 #include <sstream>
12 #include <vector>
13 #include <string>
14 #include "MureHeaders.hxx"
15 using namespace std;
17 
90 {
91  public:
96 
97  virtual FuelReprocessing* Clone(){return new FuelReprocessing(*this);}
98 
99  virtual ~FuelReprocessing(){}
100 
105 
121  void AddReprocessing(Material *InMat,Cell *ToCell, Material *EquiliBriumMat=0, double EquilibriumTime=-1);
123 
132  void EmptyCell(Cell *DepletedCell,double CoolingTime, bool NewInterimStorage=true);
134 
154  void AddReprocessing(Cell *FromCell, Cell *ToCell,int level=0);
156 
161 
163 
167  virtual void CoreRefuel();
169  virtual void ContinuousCoreRefuel();
171  virtual void StepCoreRefuel();
173  virtual void DepletedFuelExtractor();
175  virtual void AddFreshFuel();
177 
190  virtual void ReprocessInterimStorage();
192 
232  void SetFissileFertile(int N, int* Zarray);
233 
235 
253  void SetExtractionFractionFromReprocessingPlant(int N, int* Zarray, double *Efficiency);
254 
256 
275  void SetExtractionFractionFromFuel(int N, int* Zarray, double *Efficiency);
276 
277  void UseReprocessedStorage(){fUseReprocessedStorage=true;}
278  int GetNumberOfReprocessedStorage(){return fReprocessedStorage.size();}
279 
281 
295  void SetFreshCellinReprocessedStorageLink(vector<int> Link){fFC_in_RS=Link;}
296 
298 
308  void SetReprocessedStorage2FreshCellLink(vector<int> Link){fRS_2_FC=Link;}
310 
315 
327  void SetRefuellingTime(vector<double> Time){fRefuellingTime=Time;}
328 
329  int GetReprocessingIndex(){return fRefuellingIndex;}
330  double GetCurentRefuellingTime();
331 
333 
340  void SetFuelFabricationTime(double Time=2*365.25*24*3600){fFuelFabricationTime=Time;}
341 
342  double GetFuelFabricationTime(){return fFuelFabricationTime;}
343 
348  void SetContinuousReprocessing(bool flag=true){fContinuousReprocessing=flag;}
349 
350  bool IsContinuousReprocessing(){return fContinuousReprocessing;}
351 
352  void SetContinuousReprocessingTimeVector(vector<vector<double> > ContinuousTime);
353  vector<vector<double> > &GetContinuousReprocessingTimeVector(){return fContinuousReprocessingTimeVector;}
354 
355 
360 
367  void SetStorageEvolution(bool flag=true){fEvolvingStorage=flag;}
368  bool IsStorageEvolution(){return fEvolvingStorage;}
369 
371 
378  void SetBuildMCNPFileBeforeReprocessing(bool build=true){fBuildMCNPFileBeforeReprocessing=build;}
379  bool GetBuildMCNPFileBeforeReprocessing(){return fBuildMCNPFileBeforeReprocessing;}
380 
382 
386  void SetMCNPInputFileNameBeforeReprocessing(string name="post"){fMCNPInputFileNameBeforeReprocessing=name;}
387 
388  string GetMCNPInputFileNameBeforeReprocessing(){return fMCNPInputFileNameBeforeReprocessing;}
389 
391 
394  virtual void BuildStorages();
395 
397 
409  void SetFuelForm(int Z, int A, double MolarProp);
410 
411  virtual void PrintStorageMass();
412  string PrintMass(double m);
413  virtual void InitIndexes();
414  virtual void PrintIndexes();
415 
417 
418  protected:
419  vector<double> fRefuellingTime;
421  vector<Material*> fFreshFuel;
422  vector<Cell*> fFreshCell;
423  vector<vector<Cell*> > fChainCell;
424  vector<Cell*> fDepletedCell;
425 
426  vector<Material*> fEquilibriumFreshFuel;
427  vector<double> fEquilibriumTime;
428 
429  vector<TemporalStorage*> fInterimStorage;
430  vector<TemporalStorage*> fReprocessedStorage;
433 
434  vector<int> fDP_2_IS;
435  vector<int> fFC_in_RS;
436  vector<int> fRS_2_FC;
438 
439  vector<vector<double> > fContinuousReprocessingTimeVector ;
441 
444 
445  vector<int> fZFissileFertile;
446 
447  vector<int> fZtoExtractFromFuel;
449 
450  vector<int> fZtoExtractFromRP;
452 
454 
456 
459 
463 
464  vector<double> fInitExtractedAtoms;
465 
466 };
467 
468 #endif
A Cell is a MCNP cell.
Definition: Cell.hxx:48
double fFuelFormMolProp
Molar proportion of the FuelFormZAI (2 for O2, 1 for C, ...)
Definition: FuelReprocessing.hxx:458
vector< int > fZtoExtractFromFuel
vector of Z of nuclei to extract when fuel is reprocessed
Definition: FuelReprocessing.hxx:447
bool IsContinuousReprocessing()
true for continuous reprocessing
Definition: FuelReprocessing.hxx:350
void SetStorageEvolution(bool flag=true)
Force the storage evolution.
Definition: FuelReprocessing.hxx:367
vector< TemporalStorage * > fReprocessedStorage
Reprocessed Storage vector.
Definition: FuelReprocessing.hxx:430
bool fEvolvingStorage
true if the outcore storage (interim &amp; waste) are evolving
Definition: FuelReprocessing.hxx:455
int fRefuellingIndex
The current reprocessing index in the fReprocessingTime vector.
Definition: FuelReprocessing.hxx:420
double fLastMassPutinWaste
Last mass put in Waste Storage (used only for print)
Definition: FuelReprocessing.hxx:462
double GetFuelFabricationTime()
Definition: FuelReprocessing.hxx:342
Storage are outcore containers.
Definition: Storage.hxx:26
int GetReprocessingIndex()
The current index in the fRefuellingTime vector.
Definition: FuelReprocessing.hxx:329
virtual ~FuelReprocessing()
Destructor.
Definition: FuelReprocessing.hxx:99
int GetNumberOfReprocessedStorage()
return the number of Reprocessed Storage
Definition: FuelReprocessing.hxx:278
vector< vector< double > > fContinuousReprocessingTimeVector
vector of Z and EvolutiveSystem dependant reprocessing time in case of continuous reprocessing ...
Definition: FuelReprocessing.hxx:439
vector< double > fRefuellingTime
vector of refuelling time
Definition: FuelReprocessing.hxx:419
void SetReprocessedStorage2FreshCellLink(vector< int > Link)
Set the links between Reprocessed Storages and Fresh Cells.
Definition: FuelReprocessing.hxx:308
bool GetBuildMCNPFileBeforeReprocessing()
Definition: FuelReprocessing.hxx:379
FuelReprocessing allows Fuel reprocessing during Evolution.
Definition: FuelReprocessing.hxx:89
bool fContinuousReprocessing
true for continuous reprocessing
Definition: FuelReprocessing.hxx:440
vector< TemporalStorage * > fInterimStorage
Interim Storage vector.
Definition: FuelReprocessing.hxx:429
vector< Material * > fEquilibriumFreshFuel
Fresh fuel material used when T&gt;fEquilibriumTime.
Definition: FuelReprocessing.hxx:426
void SetBuildMCNPFileBeforeReprocessing(bool build=true)
Builds MCNP file just before each refuelling.
Definition: FuelReprocessing.hxx:378
vector< vector< double > > & GetContinuousReprocessingTimeVector()
return the continuous reprocessing time vector
Definition: FuelReprocessing.hxx:353
vector< int > fDP_2_IS
vector linking Depleted Cell to Interim Storage
Definition: FuelReprocessing.hxx:434
File including all headers.
double fLastMassExtractedfromCore
Last mass extracted from core (used only for print)
Definition: FuelReprocessing.hxx:460
vector< double > fZEfficiencyExtractionFromRP
vector of extraction efficiency: 1=100%=this Z is completly extract, 0=0%
Definition: FuelReprocessing.hxx:451
void SetRefuellingTime(vector< double > Time)
Refuelling Time.
Definition: FuelReprocessing.hxx:327
void SetContinuousReprocessing(bool flag=true)
Reprocessing is continuous.
Definition: FuelReprocessing.hxx:348
TemporalStorage * fCoreMARS
Minor Act. Reprocessed Storage from the core.
Definition: FuelReprocessing.hxx:431
ZAI * fFuelFormZAI
The ZAI of the &quot;form&quot; of the fuel (O for oxide, C for Carbide, ...)
Definition: FuelReprocessing.hxx:457
A Material constituing a Cell.
Definition: Material.hxx:53
vector< int > fZFissileFertile
vector of Z of fissile or fertile nuclei
Definition: FuelReprocessing.hxx:445
void UseReprocessedStorage()
Build n Reprocessed Storage.
Definition: FuelReprocessing.hxx:277
string fMCNPInputFileNameBeforeReprocessing
the MCNP file generated just before the reprocessing will have this name, followed by the last MCNP r...
Definition: FuelReprocessing.hxx:443
A ZAI defined a (Z,A,Isomere) for a Nucleus.
Definition: ZAI.hxx:62
vector< int > fFC_in_RS
vector linking Reprocessed Storage to Fresh Cells
Definition: FuelReprocessing.hxx:435
vector< double > fInitExtractedAtoms
The initial number of atoms of the first extracted assemblies.
Definition: FuelReprocessing.hxx:464
bool fUseReprocessedStorage
True to build Reprocessed Storages.
Definition: FuelReprocessing.hxx:437
vector< Material * > fFreshFuel
the fresh fuel to add
Definition: FuelReprocessing.hxx:421
string GetMCNPInputFileNameBeforeReprocessing()
return the name of post evolution MCNP file.
Definition: FuelReprocessing.hxx:388
void SetMCNPInputFileNameBeforeReprocessing(string name="post")
Set the name of post evolution MCNP file.
Definition: FuelReprocessing.hxx:386
vector< Cell * > fDepletedCell
The cell vector that will be discharged.
Definition: FuelReprocessing.hxx:424
double fFuelFabricationTime
time to wait before doing something with reprocessed storage
Definition: FuelReprocessing.hxx:453
vector< Cell * > fFreshCell
The cell vector that receive fresh fuel.
Definition: FuelReprocessing.hxx:422
vector< int > fZtoExtractFromRP
vector of Z of nuclei to extract from depleted fuel to reprocess
Definition: FuelReprocessing.hxx:450
double fLastMassExtractedfromRP
Last mass extracted from Reprocessed Storage (used only for print)
Definition: FuelReprocessing.hxx:461
vector< int > fRS_2_FC
vector linking Reprocessed Storage to Fresh Cells
Definition: FuelReprocessing.hxx:436
virtual FuelReprocessing * Clone()
Correct way to copy a FuelReprocessing in case of derivation.
Definition: FuelReprocessing.hxx:97
bool fBuildMCNPFileBeforeReprocessing
must be true if you want to generate the MCNP file describing your system just before the reprocessin...
Definition: FuelReprocessing.hxx:442
void SetFuelFabricationTime(double Time=2 *365.25 *24 *3600)
Set the fuel fabrication time.
Definition: FuelReprocessing.hxx:340
Storage * fWasteStorage
Waste Storage.
Definition: FuelReprocessing.hxx:432
bool IsStorageEvolution()
return true when storages evolved
Definition: FuelReprocessing.hxx:368
TemporalStorage are outcore containers function of a Retreatment time.
Definition: Storage.hxx:92
vector< double > fEquilibriumTime
Time from which fEquilibriumFreshFueln is used instead of fFreshFuel.
Definition: FuelReprocessing.hxx:427
vector< vector< Cell * > > fChainCell
The cell vector that exchange fuel.
Definition: FuelReprocessing.hxx:423
void SetFreshCellinReprocessedStorageLink(vector< int > Link)
Set the links between Fresh Cells and Reprocessed Storages.
Definition: FuelReprocessing.hxx:295
vector< double > fZEfficiencyExtractionFromFuel
vector of extraction efficiency: 1=100%=this Z is completly extract, 0=0%
Definition: FuelReprocessing.hxx:448

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