MURE
Loading...
Searching...
No Matches
BlanketReprocessing.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 _BLANKETPROCESSING_HXX_
20#define _BLANKETPROCESSING_HXX_
21
27#include <fstream>
28#include <iostream>
29#include <sstream>
30#include <vector>
31#include <string>
32#include <algorithm>
33
34#include "FuelReprocessing.hxx"
35
36class Cell;
37class Material;
38class TemporalStorage;
39class ZAI;
40
41using namespace std;
42
44
82{
83 public:
87 {
88 return new BlanketReprocessing(*this);
89 }
90
92
98 void SetBlanketCell(Cell *blanket, double CoolingTime);
100
110 void SetBlanketFreshFuel(Material *BlanketFreshFuel, Material *EquiliBriumMat = nullptr, double EquilibriumTime = - 1);
111
113
120 void SetBlanketFuelFabricationTime(double Time = 2 * 365.25 * 24 * 3600)
121 {
123 }
125 {
127 }
128
130
139 void SetBlanketRefuellingTime(vector < double > Time)
140 {
141 fBlkRefuellingTime = Time;
142 }
143
145 {
146 return fBlkRefuellingIndex;
147 }
149
150 void DepletedFuelExtractor() override;
152
153 void ReprocessInterimStorage() override;
155
156 void AddFreshFuel() override;
157 void AddFreshBlanketFuel();
158
160
183 void SetExtractionFractionFromBlkRP(int N, int *Zarray, double *Efficiency);
185
197 void SetBlanketFuelForm(int Z, int A, double MolarProp);
198
200
203 void BuildStorages() override;
204
205 void PrintStorageMass() override;
206 void InitIndexes() override;
207 void PrintIndexes() override;
208
209
210
211 private:
212 vector < double > fBlkRefuellingTime;
214
215 vector < int > fZtoExtractFromBlkRP;
217
220
223
227
229
233
237
239};
240
241#endif
Header file for FuelReprocessing class.
BlanketReprocessing allows Fuel reprocessing in Core and in Blanket during Evolution.
Definition BlanketReprocessing.hxx:82
void AddFreshFuel() override
Add fresh fuel in "Fresh" CORE cells.
Definition BlanketReprocessing.cxx:205
void SetBlanketFuelForm(int Z, int A, double MolarProp)
Set the chemical form of the blanket fuel.
Definition BlanketReprocessing.cxx:576
double fBlkFuelFormMolProp
Molar proportion of the fBlkFuelFormZAI (2 for O2, 1 for C, ...)
Definition BlanketReprocessing.hxx:231
BlanketReprocessing()
Default Constructor.
Definition BlanketReprocessing.cxx:39
TemporalStorage * fMARS
Minor Act. Reprocessed Storage vector.
Definition BlanketReprocessing.hxx:226
void PrintIndexes() override
Print storage indexes (debug method)
Definition BlanketReprocessing.cxx:711
ZAI * fBlkFuelFormZAI
The ZAI of the "form" of the fuel (O for oxide, C for Carbide, ...)
Definition BlanketReprocessing.hxx:230
void SetBlanketFreshFuel(Material *BlanketFreshFuel, Material *EquiliBriumMat=nullptr, double EquilibriumTime=- 1)
Set Blanket Fresh Fuel.
Definition BlanketReprocessing.cxx:583
double fInitExtractedAtomsBlk
The initial number of atoms of the first extracted blanket.
Definition BlanketReprocessing.hxx:238
Material * fBlkEquilibriumFreshFuel
Fresh fuel material used when T>fBlkEquilibriumTime.
Definition BlanketReprocessing.hxx:221
vector< double > fBlkRefuellingTime
vector of blanket refuelling time
Definition BlanketReprocessing.hxx:212
double fLastMassExtractedfromBlk
Last mass extracted from blanket (used only for print)
Definition BlanketReprocessing.hxx:234
void PrintStorageMass() override
print storage masses
Definition BlanketReprocessing.cxx:591
FuelReprocessing * Clone() override
Definition BlanketReprocessing.hxx:86
void BuildStorages() override
Build Interim &Waste Storage.
Definition BlanketReprocessing.cxx:89
double fLastMassExtractedfromBlkRP
Last mass extracted from Blanket Reprocessed Storage (used only for print)
Definition BlanketReprocessing.hxx:235
Material * fBlkFreshFuel
the fresh fuel to add to the blanket
Definition BlanketReprocessing.hxx:218
TemporalStorage * fFissileFertileRS
Fissile &Fertile blanket Storage vector.
Definition BlanketReprocessing.hxx:225
int fBlkRefuellingIndex
The current reprocessing index in the fBlkRefuellingTime vector.
Definition BlanketReprocessing.hxx:213
double GetBlanketFuelFabricationTime()
Definition BlanketReprocessing.hxx:124
void AddFreshBlanketFuel()
Add fresh fuel in "Fresh" Blanket cell.
Definition BlanketReprocessing.cxx:223
void InitIndexes() override
Init storage indexes when starting an evolution from T>0.
Definition BlanketReprocessing.cxx:656
double GetCurentBlanketRefuellingTime()
Current Blanket refuelling time.
Definition BlanketReprocessing.cxx:567
double fLastMassPutinWasteBlk
Last mass put in Waste Storage (used only for print)
Definition BlanketReprocessing.hxx:236
void SetBlanketCell(Cell *blanket, double CoolingTime)
Define the Blanket Cell.
Definition BlanketReprocessing.cxx:143
vector< double > fZEfficiencyExtractionFromBlkRP
vector of extraction efficiency: 1=100%=this Z is completly extract, 0=0%
Definition BlanketReprocessing.hxx:216
double fBlkEquilibriumTime
Time from which fBlkEquilibriumFreshFuel is used instead of fBlkFreshFuel.
Definition BlanketReprocessing.hxx:222
double fBlkFuelFabricationTime
time to wait before doing something with blanket MARS
Definition BlanketReprocessing.hxx:228
vector< int > fZtoExtractFromBlkRP
vector of Z of nuclei to extract from blanket reprocessed Storage
Definition BlanketReprocessing.hxx:215
void BlanketReprocessInterimStorage()
Reprocess BLANKET I.S.
Definition BlanketReprocessing.cxx:388
Cell * fBlkCell
The blanket cell.
Definition BlanketReprocessing.hxx:219
void BlanketDepletedFuelExtractor()
Extract depleted fuel from BLANKET cells to BLANKET I.S.
Definition BlanketReprocessing.cxx:165
double fTmpCoolingTime
This the cooling time of fBlkInterimStorage.
Definition BlanketReprocessing.hxx:232
TemporalStorage * fBlkInterimStorage
Interim blanket Storage vector.
Definition BlanketReprocessing.hxx:224
int GetBlanketReprocessingIndex()
Definition BlanketReprocessing.hxx:144
void SetBlanketFuelFabricationTime(double Time=2 *365.25 *24 *3600)
Set the blanket fuel fabrication time.
Definition BlanketReprocessing.hxx:120
void ReprocessInterimStorage() override
Reprocess CORE I.S.
Definition BlanketReprocessing.cxx:380
void SetExtractionFractionFromBlkRP(int N, int *Zarray, double *Efficiency)
Set the Depleted Fuel extraction fraction from blanket RP.
Definition BlanketReprocessing.cxx:556
void SetBlanketRefuellingTime(vector< double > Time)
Blanket Refuelling Time.
Definition BlanketReprocessing.hxx:139
void DepletedFuelExtractor() override
Extract depleted fuel from CORE cells to CORE I.S.
Definition BlanketReprocessing.cxx:151
A Cell is composed from a Shape and a Material.
Definition Cell.hxx:84
FuelReprocessing allows Fuel reprocessing during Evolution.
Definition FuelReprocessing.hxx:119
A Material constituing a Cell.
Definition Material.hxx:83
TemporalStorage are outcore containers function of a Retreatment time.
Definition Storage.hxx:127
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