79 double HMMass,
double CapacityFactor = 1);
98 double HMMass,
double CapacityFactor = 1);
117 double HMMass,
double BurnUp);
137 double Power,
double HMMass,
double BurnUp,
double CapacityFactor);
156 double power,
double HMMass,
double BurnUp,
double CapacityFactor);
174 cSecond cycletime,
double HMMass,
double BurnUp);
200 bool IsFuelFixed()
const {
return fFixedFuel; }
201 double GetHeavyMetalMass()
const {
return fHeavyMetalMass; }
202 double GetBurnUp()
const {
return fBurnUp; }
203 double GetCapacityFactor()
const {
return fCapacityFactor; }
204 double GetPower()
const {
return fPower; }
206 #ifndef __ROOTCLING__ 207 map<cSecond, double> GetPowerEvolution(){
return fPowerEvolution;}
208 map<cSecond, double> GetHMMassEvolution(){
return fHMMassEvolution;}
209 map<cSecond, double> GetSchedulePowerEvolution(){
return fSchedulePowerEvolution;}
210 map<cSecond, double> GetScheduleHMMassEvolution(){
return fScheduleHMMassEvolution;}
215 CLASSBackEnd* GetOutBackEndFacility()
const {
return fOutBackEndFacility; }
232 #ifndef __ROOTCLING__ 233 void SetReactorScheduler(
ReactorScheduler* reactorscheduler) { fReactorScheduler = reactorscheduler; }
235 void SetHMMass(
double Mass) {fHeavyMetalMass = Mass;}
236 void SetCycleTime(
double cycletime);
237 void SetPower(
double Power);
238 void SetBurnUp(
double BU);
241 void SetIVBeginCycle(
IsotopicVector isotopicvector) { fIVBeginCycle = isotopicvector;}
242 void SetIVOutCycle(
IsotopicVector isotopicvector){ fIVOutCycle = isotopicvector;}
243 void SetIVInCycle(
IsotopicVector isotopicvector) { fIVInCycle = isotopicvector;}
248 #ifndef __ROOTCLING__ 250 void SetOutBackEndFacility(
CLASSBackEnd* pool) { fOutBackEndFacility = pool; }
251 void SetStorage(
Storage* storage) { fStorage = storage; fIsStorage =
true;}
256 using CLASSFacility::SetName;
257 using CLASSFacility::GetName;
275 #ifndef __ROOTCLING__ 277 void AddScheduleEntry(
cSecond time,
ReactorModel* Model,
double BurnUp,
double Power,
double HMMass)
279 {
ERROR<<
"You must add a FabicationPlant to Reactor " <<GetName()
280 <<
"\n"<<
"Use YourReactor->AddFabricationPlant(YourFP);"<<endl;exit(0);}
281 fReactorScheduler->AddEntry( time, Model, BurnUp, Power*fCapacityFactor, HMMass);
282 fSchedulePowerEvolution.insert( pair<cSecond, double>(time, Power*fCapacityFactor));
283 fScheduleHMMassEvolution.insert( pair<cSecond, double>(time, HMMass));
287 void AddScheduleEntry(
cSecond time,
EvolutionData* Model,
double BurnUp,
double Power,
double HMMass)
289 fReactorScheduler->AddEntry( time,
new ReactorModel(Model), BurnUp, Power*fCapacityFactor, HMMass);
290 fSchedulePowerEvolution.insert( pair<cSecond, double>(time, Power*fCapacityFactor));
291 fScheduleHMMassEvolution.insert( pair<cSecond, double>(time, HMMass));
295 void AddScheduleEntry(
cSecond time,
PhysicsModels* Model,
double BurnUp,
double Power,
double HMMass)
296 {
if(!fFabricationPlant)
297 {
ERROR<<
"You must add a FabicationPlant to Reactor " <<GetName()
298 <<
"\n"<<
"Use YourReactor->AddFabricationPlant(YourFP);"<<endl;exit(0);}
299 fReactorScheduler->AddEntry( time,
new ReactorModel(Model), BurnUp, Power*fCapacityFactor, HMMass);
300 fSchedulePowerEvolution.insert( pair<cSecond, double>(time, Power*fCapacityFactor));
301 fScheduleHMMassEvolution.insert( pair<cSecond, double>(time, HMMass));
317 double fElectricPower;
318 double fEfficiencyFactor;
319 double fCapacityFactor;
325 #ifndef __ROOTCLING__ 340 double fHeavyMetalMass;
343 map < cSecond, double > fPowerEvolution;
344 map < cSecond, double > fHMMassEvolution;
345 map < cSecond, double > fSchedulePowerEvolution;
346 map < cSecond, double > fScheduleHMMassEvolution;
Defines a Storage object.
Definition: Storage.hxx:38
Container object of XSModel, EquivalenceModel and IrradiationModel.
Definition: PhysicsModels.hxx:48
Defines the spent fuel pool.
Definition: Pool.hxx:36
Header file for EvolutionData class.
Allows to store & operate on radioactive sample.
Definition: IsotopicVector.hxx:37
#define ERROR
Definition: CLASSLogger.hxx:26
Definition: CLASSBackEndDict.cxx:37
IsotopicVector GetIVBeginCycle() const
(Note : IVBegin != IVIn, only if using ReactorScheduler)
Definition: Reactor.hxx:192
PhysicsModels * GetPhysicsModels()
Return the PhysicsModels (NULL if EvolutionData)
Definition: ReactorScheduler.hxx:70
IsotopicVector GetIVReactor() const
Return the IV contain in the Reactor.
Definition: Reactor.hxx:191
Header file for ReactorScheduler class.
Definition: FabricationPlant.hxx:68
Allows a Reactor to change its ED_Or_PhysMod, BurnUp, Power, HMMass.
Definition: ReactorScheduler.hxx:136
Stores fuel inventory evolution , mean cross sections evolution, flux evolution, power ...
Definition: EvolutionData.hxx:54
Header file for XS_INTERPOLATOR class.
Allows to define PhysicsModels & EvolutionData as a ReactorModel.
Definition: ReactorScheduler.hxx:38
long long int cSecond
Definition: CLASSConstante.hxx:10
Header file for IsotopicVector class.
Object to handle output messages.
Definition: CLASSLogger.hxx:144
Defines the common properties of all facilities.
Definition: CLASSFacility.hxx:30
Defines the Reactor.
Definition: Reactor.hxx:41
Class defining the common properties of all back end fuel cycle facilities.
Definition: CLASSBackEnd.hxx:26