diff --git a/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.cxx b/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.cxx
index 4cc5bdfb322017a5ee8f852eb2cc02e5a80fbf47..c14adcf16386b7e68960219112accc9aff3979b5 100644
--- a/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.cxx
+++ b/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.cxx
@@ -30,13 +30,13 @@ using namespace std;
 
 
 //________________________________________________________________________
-IM_Matrix::IM_Matrix():IrradiationModel(new CLASSLogger("IM_Matrix.log")), DynamicalSystem()
+IM_Matrix::IM_Matrix():IrradiationModel(new CLASSLogger("IM_Matrix.log"))
 {
 	fShorstestHalflife = 3600.*24*160.; //cut by default all nuclei with a shorter liftime than the Cm242 -> remain 33 actinides
 }
 
 
-IM_Matrix::IM_Matrix(CLASSLogger* log):IrradiationModel(log), DynamicalSystem()
+IM_Matrix::IM_Matrix(CLASSLogger* log):IrradiationModel(log)
 {
 	fShorstestHalflife = 3600.*24*160.; //cut by default all nuclei with a shorter liftime than the Cm242 -> remain 33 actinides
 }
@@ -51,10 +51,8 @@ EvolutionData IM_Matrix::GenerateEvolutionData(IsotopicVector isotopicvector, Ev
 {
 	DBGL
 	if(fFastDecay.size() == 0)
-	{
 		BuildDecayMatrix();
-		fNVar = findex_inver.size();
-	}
+
 
 	string ReactorType;
 
diff --git a/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.hxx b/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.hxx
index 4e4b2b6bcabcf50ffbd821b1dc8827cb0b402f5c..3e7cd65c8fa9d9c43a5926d83a14a92aa7edfdf0 100644
--- a/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.hxx
+++ b/source/branches/CLASSV3/Model/Irradiation/IM_Matrix.hxx
@@ -10,7 +10,6 @@
  @author BaM
  @version 2.0
  */
-#include "DynamicalSystem.hxx"
 #include "IrradiationModel.hxx"
 
 
@@ -32,7 +31,7 @@ class CLASSLogger;
 
 class EvolutionData;
 
-class IM_Matrix : public IrradiationModel, DynamicalSystem
+class IM_Matrix : public IrradiationModel
 {
 
 	public :
diff --git a/source/branches/CLASSV3/include/CLASSFacility.hxx b/source/branches/CLASSV3/include/CLASSFacility.hxx
index ddd4b8bf25b808d5f04179655705c0a80199bfda..35a3a1d734d1266aec64bf95de51022303285e2a 100644
--- a/source/branches/CLASSV3/include/CLASSFacility.hxx
+++ b/source/branches/CLASSV3/include/CLASSFacility.hxx
@@ -25,7 +25,7 @@ class Scenario;
 //-----------------------------------------------------------------------------//
 /*!
  Define a CLASS Facility.
- The aim of these class is synthetyse all the commum properties of the nuclear facilities.
+ The aim of these class is to regroup all the commum properties of the nuclear facilities.
 
 
  @author BaM
@@ -62,7 +62,7 @@ public :
 	cSecond		GetCycleTime()		const	{ return fCycleTime; } 		//!< Return the cycle time of the Facility
 	cSecond 	GetCreationTime()	const	{ return fCreationTime; }	//!< Return the creation time of the Facility
 	cSecond 	GetLifeTime()		const	{ return fLifeTime; }		//!< Return the life time of the Facility
-	Scenario*		GetParc()			{ return fParc; }		//!< return the pointer to the Park
+	Scenario*	GetParc()			{ return fParc; }		//!< return the pointer to the Park
 
 
 	IsotopicVector GetCumulativeIVIn() { return fCumulativeIVIn;}			//!< return the culative sum of all incoming IV
@@ -124,15 +124,15 @@ protected :
 private :
 	int		fId;			//!< Identity of the Facility inside the Parc
 	int		fFacilityType;		///< Type of facility :
-						/// \li 2 reactor Studown
-						/// \li 4 start/End of reactor cycle,
-						/// \li 8 end of Cooling,
-						/// \li 16 fuel Fabrication
+						/// \li 4 reactor,
+						/// \li 8 Pool,
+						/// \li 16 FabricationPlant.
+
 
 	Scenario*	fParc;			//!< Pointer to the main Parc
 
 	cSecond		fCreationTime;		///< CLASS Universal Time of Creation
-	cSecond		fLifeTime;		///< LifeTime Of the Reactor (Operating's Duration)
+	cSecond		fLifeTime;		///< Time of life Of the Reactor (Operating's Duration)
 
 	ClassDef(CLASSFacility,1);
 };
diff --git a/source/branches/CLASSV3/include/CLASSFuel.hxx b/source/branches/CLASSV3/include/CLASSFuel.hxx
index 4f3783e171b712429306ea0834702c8b9bec45be..1ae1fce9dcdd27da87ea47df6290e643401cf29f 100644
--- a/source/branches/CLASSV3/include/CLASSFuel.hxx
+++ b/source/branches/CLASSV3/include/CLASSFuel.hxx
@@ -20,7 +20,7 @@
 using namespace std;
 
 class EvolutionData;
-class PhysicModels;
+class PhysicsModels;
 //-----------------------------------------------------------------------------//
 /*!
  Define a CLASS Object.
@@ -46,7 +46,7 @@ class CLASSFuel : public CLASSObject
 
 
 	virtual EvolutionData* GetEvolutionData() {return 0;}
-	virtual PhysicModels* GetPhysicModels() {return 0;}
+	virtual PhysicsModels* GetPhysicsModels() {return 0;}
 	using CLASSObject::SetName;
 	using CLASSObject::GetName;
 	protected :
diff --git a/source/branches/CLASSV3/include/CLASSHeaders.hxx b/source/branches/CLASSV3/include/CLASSHeaders.hxx
index 9c322e2eeba9c500d4c27a0e4023b2271e965477..9451d39db17c848170dc339fc89fb4636642cf68 100755
--- a/source/branches/CLASSV3/include/CLASSHeaders.hxx
+++ b/source/branches/CLASSV3/include/CLASSHeaders.hxx
@@ -16,7 +16,7 @@
 #include "CLASSLogger.hxx"
 
 #include "EvolutionData.hxx"
-#include "PhysicModels.hxx"
+#include "PhysicsModels.hxx"
 #include "DecayDataBank.hxx"
 
 #include "ZAIMass.hxx"
diff --git a/source/branches/CLASSV3/include/PhysicsModels.hxx b/source/branches/CLASSV3/include/PhysicsModels.hxx
new file mode 100644
index 0000000000000000000000000000000000000000..a9d968ef7a621ac592dcca355b59cb0a1b96e7d4
--- /dev/null
+++ b/source/branches/CLASSV3/include/PhysicsModels.hxx
@@ -0,0 +1,86 @@
+
+#ifndef _PhysicsModels_HXX
+#define _PhysicsModels_HXX
+
+
+/*!
+ \file
+ \brief Header file for XS_INTERPOLATOR class.
+ 
+ 
+ @authors BLG,BaM
+ @version 1.0
+ */
+#include "CLASSFuel.hxx"
+#include "EquivalenceModel.hxx"
+#include "XSModel.hxx"
+#include "IrradiationModel.hxx"
+#include "EvolutionData.hxx"
+
+
+using namespace std;
+typedef long long int cSecond;
+
+//-----------------------------------------------------------------------------//
+/*!
+ Define all the physic models used for a specific database 
+	
+	The 2 following are data base related (for one Reactor and one fuel type and one ...) :
+	User can either define his own (see manual) or uses the provided ones ) :
+
+	XS_Interpolator = Closest , MLP  ....
+	Equivalence_Model = Linear,Quadratique, MLP ... 
+
+	this one is bateman solvers related : 
+	(or it may be link to a evolution code (like MURE), not yet implemented but envisaged)
+	IrradiationModel = RK4 or Matrix
+
+
+ @authors BLG,BaM
+ @version 1.0
+ */
+//________________________________________________________________________
+
+
+class PhysicsModels : public CLASSFuel
+{
+
+	public : 
+
+	/*!
+	 \name Constructor/Desctructor
+	 */
+	//@{
+
+	PhysicsModels();
+	PhysicsModels(XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM );
+	PhysicsModels(CLASSLogger* log, XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM );
+
+	~PhysicsModels() {;}
+	//{
+
+	EvolutionData GenerateEvolutionData(IsotopicVector IV, double cycletime, double Power);
+
+	XSModel*		GetXSModel()   {return fXSModel;}
+	EquivalenceModel*	GetEquivalenceModel() {return fEquivalenceModel;}
+	IrradiationModel*	GetIrradiationModel()  {return fIrradiationModel;}
+	
+	PhysicsModels*		GetPhysicsModels()	{return this;}
+
+
+
+
+
+
+ private :
+
+ 	XSModel* 		fXSModel;
+	EquivalenceModel*	fEquivalenceModel;
+	IrradiationModel*	fIrradiationModel;
+
+
+
+};
+
+#endif
+
diff --git a/source/branches/CLASSV3/include/Reactor.hxx b/source/branches/CLASSV3/include/Reactor.hxx
index 2df32dcfe18e5de98d2aa4f0b0e8b4704edb82a8..ef488055924ba463e34dee2416faf8b4a400483f 100755
--- a/source/branches/CLASSV3/include/Reactor.hxx
+++ b/source/branches/CLASSV3/include/Reactor.hxx
@@ -12,7 +12,7 @@
 #include "CLASSFacility.hxx"
 #include "IsotopicVector.hxx"
 #include "EvolutionData.hxx"
-#include "PhysicModels.hxx"
+#include "PhysicsModels.hxx"
 #include "CLASSFuelPlan.hxx"
 
 using namespace std;
@@ -61,6 +61,41 @@ public :
 	Reactor(CLASSLogger* log);
 	//}
 
+	//{
+	/// Special Constructor for reprocessed fuel using cycletime and Burn-Up.
+	/*!
+	 Make a new reactor
+	 \param CLASSLogger CLASSLogger used for the log...
+	 \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation
+	 \param creationtime creation time
+	 \param lifetime working time duration.
+	 \param cycletime duration of a cycle
+	 \param HMMass Mass of Heavy Metal in the Reactor
+	 \param BurnUp Burnup reach by the fuel at the end of the cycle
+	 */
+	Reactor(CLASSLogger* log, CLASSBackEnd* Pool,
+		cSecond creationtime , cSecond lifetime, double Power,
+		double HMMass, double ChargeFactor = 1);
+	//}
+
+	//{
+	/// Special Constructor for reprocessed fuel using cycletime and Burn-Up.
+	/*!
+	 Make a new reactor
+	 \param CLASSLogger CLASSLogger used for the log...
+	 \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation
+	 \param creationtime creation time
+	 \param lifetime working time duration.
+	 \param cycletime duration of a cycle
+	 \param HMMass Mass of Heavy Metal in the Reactor
+	 \param BurnUp Burnup reach by the fuel at the end of the cycle
+	 */
+	Reactor(CLASSLogger* log,
+		FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
+		cSecond creationtime , cSecond lifetime, double Power,
+		double HMMass, double ChargeFactor = 1);
+	//}
+
 	//{
 	 /// Special Constructor for reprocessed fuel using cycletime and Burn-Up.
 	 /*!
@@ -74,7 +109,7 @@ public :
 	 \param HMMass Mass of Heavy Metal in the Reactor
 	 \param BurnUp Burnup reach by the fuel at the end of the cycle
 	 */
-	Reactor(CLASSLogger* log, PhysicModels 	fueltypeDB,
+	Reactor(CLASSLogger* log, PhysicsModels 	fueltypeDB,
 		FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
 		cSecond creationtime , cSecond lifetime, cSecond cycletime,
 		double HMMass, double BurnUp);
@@ -94,7 +129,7 @@ public :
 	 \param BurnUp Burnup reach by the fuel at the end of the cycle
 	 \param ChargeFactor effective charge of the reactor.
 	 */
-	Reactor(CLASSLogger* log, PhysicModels 	fueltypeDB,
+	Reactor(CLASSLogger* log, PhysicsModels 	fueltypeDB,
 		FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
 		cSecond creationtime , cSecond lifetime,
 		double Power, double HMMass, double BurnUp, double ChargeFactor);
@@ -116,7 +151,26 @@ public :
 	 */
 	Reactor(CLASSLogger* log, EvolutionData evolutivedb, CLASSBackEnd* Pool,
 		cSecond creationtime, cSecond lifetime,
-		double power, double HMMass, double BurnUp, double ChargeFactor = 1);
+		double power, double HMMass, double BurnUp, double ChargeFactor);
+	//}
+
+	//{
+	/// Special Constructor for fixed fuel using Power and Burn-Up.
+	/*!
+	 Make a new reactor
+	 \param CLASSLogger CLASSLogger used for the log...
+	 \param evolutivedb EvolutionData describing the evolution of the fuel
+	 \param CLASSBAckEnd Pool used facility wich get the fuel after iradiation
+	 \param creationtime creation time
+	 \param lifetime working time duration.
+	 \param Power Thermal power of the reactor
+	 \param HMMass Mass of Heavy Metal in the Reactor
+	 \param BurnUp Burnup reach by the fuel at the end of the cycle
+	 \param ChargeFactor effective charge of the reactor.
+	 */
+	Reactor(CLASSLogger* log, EvolutionData evolutivedb, CLASSBackEnd* Pool,
+		cSecond creationtime, cSecond lifetime,
+		cSecond cycletime, double HMMass, double BurnUp);
 	//}
 
 	~Reactor();	///< Normal Destructor
diff --git a/source/branches/CLASSV3/src/FabricationPlant.cxx b/source/branches/CLASSV3/src/FabricationPlant.cxx
index c32492ece2c035d422845540d1cc9ac7afbefcfe..4eba7ed4995826442b0c4f48e82a30caad8613c5 100644
--- a/source/branches/CLASSV3/src/FabricationPlant.cxx
+++ b/source/branches/CLASSV3/src/FabricationPlant.cxx
@@ -4,7 +4,7 @@
 #include "Reactor.hxx"
 #include "EvolutionData.hxx"
 #include "DecayDataBank.hxx"
-#include "PhysicModels.hxx"
+#include "PhysicsModels.hxx"
 #include "IsotopicVector.hxx"
 #include "Scenario.hxx"
 #include "CLASSLogger.hxx"
@@ -122,7 +122,7 @@ DBGL
 				pair<CLASSFuel, double> R_Fuel = GetParc()->GetReactor()[ReactorId]->GetFuelPlan()->GetFuelAt( t + GetCycleTime() );
 #pragma omp critical(FuelBuild)
 				{
-					if( typeid(R_Fuel.first) == typeid(PhysicModels) )
+					if( typeid(R_Fuel.first) == typeid(PhysicsModels) )
 						BuildFuelForReactor( (*it).first, t );
 				}
 
@@ -166,7 +166,7 @@ void FabricationPlant::BuildFuelForReactor(int ReactorId, cSecond t)
 	double R_Power		= GetParc()->GetReactor()[ ReactorId ]->GetPower();
 
 	pair<CLASSFuel, double > FuelBU = GetParc()->GetReactor()[ReactorId]->GetFuelPlan()->GetFuelAt(t+GetCycleTime()) ;
-	PhysicModels FuelType = *FuelBU.first.GetPhysicModels();
+	PhysicsModels FuelType = *FuelBU.first.GetPhysicsModels();
 	double R_BU	      = FuelBU.second;
 
 	fFissileList = FuelType.GetEquivalenceModel()->GetFissileList();
@@ -473,7 +473,7 @@ DBGL
 			int IV_N = fFissileArrayAdress[i].second;
 
 			pair<IsotopicVector, IsotopicVector> Separated_Lost;
-			Separated_Lost = Separation( fFertileArray[Stor_N]->GetIVArray()[IV_N]*LambdaArray[i], fFertileList);
+			Separated_Lost = Separation( fFissileStorage[Stor_N]->GetIVArray()[IV_N]*LambdaArray[i], fFertileList);
 			BuildedFuel += Separated_Lost.first;
 			Lost += Separated_Lost.second;
 		}
diff --git a/source/branches/CLASSV3/src/Makefile b/source/branches/CLASSV3/src/Makefile
index 1a9ce3f879851c4507e3d9d2ca2aba8e7c1e7fe7..80f32732dc003521df8258266537d329e1952dd9 100755
--- a/source/branches/CLASSV3/src/Makefile
+++ b/source/branches/CLASSV3/src/Makefile
@@ -35,7 +35,7 @@ OBJS		= 	CLASSLogger.o \
 			EquivalenceModel.o \
 			XSModel.o \
 			CLASSFuel.o\
-			PhysicModels.o \
+			PhysicsModels.o \
 			EvolutionData.o EvolutionDataDict.o \
 			CLASSFuelPlan.o\
 			Scenario.o
@@ -61,7 +61,7 @@ ROOTOBJS	= 	CLASSLogger.o \
 			CLASSFuel.o\
 			EvolutionData.o EvolutionDataDict.o \
 			CLASSFuelPlan.o\
-			PhysicModels.o
+			PhysicsModels.o
 
 
 CXX           = g++
diff --git a/source/branches/CLASSV3/src/PhysicsModels.cxx b/source/branches/CLASSV3/src/PhysicsModels.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..db69ab9406f519f3006255919996608f0db13ef9
--- /dev/null
+++ b/source/branches/CLASSV3/src/PhysicsModels.cxx
@@ -0,0 +1,50 @@
+#include "PhysicsModels.hxx"
+
+//________________________________________________________________________
+//
+//		PhysicsModels
+//
+//
+//
+//
+//________________________________________________________________________
+
+
+
+PhysicsModels::PhysicsModels():CLASSFuel()
+{
+
+	fXSModel		= 0;
+	fEquivalenceModel	= 0;
+	fIrradiationModel	= 0;
+
+
+}
+//________________________________________________________________________
+PhysicsModels::PhysicsModels(XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM ):CLASSFuel()
+{
+
+	fXSModel		= XS;
+	fEquivalenceModel	= EM;
+	fIrradiationModel	= IM;
+
+
+}
+//________________________________________________________________________
+PhysicsModels::PhysicsModels(CLASSLogger* log, XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM ):CLASSFuel(log)
+{
+
+	fXSModel		= XS;
+	fEquivalenceModel	= EM;
+	fIrradiationModel	= IM;
+
+
+}
+
+//________________________________________________________________________
+EvolutionData PhysicsModels::GenerateEvolutionData(IsotopicVector IV, double cycletime, double Power)
+{
+
+	return fIrradiationModel->GenerateEvolutionData(IV, fXSModel->GetCrossSections(IV), Power, cycletime);
+}
+//________________________________________________________________________
diff --git a/source/branches/CLASSV3/src/Reactor.cxx b/source/branches/CLASSV3/src/Reactor.cxx
index a50579a71565d9efa68a009953bcad453d19e046..f3315253c8dbb45bda0d9ad5c61738cd72923435 100755
--- a/source/branches/CLASSV3/src/Reactor.cxx
+++ b/source/branches/CLASSV3/src/Reactor.cxx
@@ -49,8 +49,91 @@ Reactor::Reactor(CLASSLogger* log):CLASSFacility(log, 4)
 
 }
 
+Reactor::Reactor(CLASSLogger* log,
+		 CLASSBackEnd* Pool,
+ 		 cSecond creationtime,
+ 		 cSecond lifetime,
+ 		 double power, double HMMass, double ChargeFactor ):CLASSFacility(log, creationtime, lifetime, 4)
+{
+	(*this).SetName("R_Reactor.");
+
+
+	fIsStarted = false;
+	fIsShutDown = false;
+	fIsAtEndOfCycle = false;
+
+	fStorage = 0;
+	fFabricationPlant = 0;
+
+	fFixedFuel = true;
+	fIsStorage = false;
+
+	fOutBackEndFacility = Pool;
+
+	fPower = power * ChargeFactor;
+
+	fHeavyMetalMass = HMMass;
+
+	fBurnUp = -1;
+	fCycleTime = (-1);
+
+	fIVBeginCycle = fEvolutionDB.GetIsotopicVectorAt(0);
+	fIVInCycle = fEvolutionDB.GetIsotopicVectorAt(0);
+	fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) );
+
+
+	fFuelPlan = 0;
+
+	INFO << " A Reactor has been define :" << endl;
+	INFO << "\t Fuel Composition is fixed (for now)! "<< endl;
+	INFO << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << ChargeFactor << " Charge Factor)"<< endl;
+	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
+	
+	
+}
 
-Reactor::Reactor(CLASSLogger* log, PhysicModels fueltypeDB, FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
+Reactor::Reactor(CLASSLogger* log,
+		 FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
+ 		 cSecond creationtime, cSecond lifetime,
+ 		 double Power, double HMMass, double ChargeFactor):CLASSFacility(log, creationtime, lifetime, 4)
+{
+	(*this).SetName("R_Reactor.");
+
+
+	fStorage = 0;
+	fIsStarted = false;
+	fIsShutDown = false;
+	fIsAtEndOfCycle = false;
+
+	fFabricationPlant = fabricationplant;
+	fFixedFuel = false;
+
+	fOutBackEndFacility = Pool;
+
+	fBurnUp = -1;
+	fHeavyMetalMass = HMMass;
+	fPower = Power*ChargeFactor;
+	fCycleTime = -1;	 //BU in GWd/t
+
+	fFuelPlan = 0;
+
+
+
+	INFO << " A Reactor has been define :" << endl;
+	INFO << "\t Fuel Composition is not fixed (for now)! "<< endl;
+	INFO << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << Power << " and " << ChargeFactor << " Charge Factor)"<< endl;
+	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
+	
+	
+	
+}
+
+
+Reactor::Reactor(CLASSLogger* log, PhysicsModels fueltypeDB, FabricationPlant* fabricationplant, CLASSBackEnd* Pool,
  		 cSecond creationtime, cSecond lifetime,
  		 double Power, double HMMass, double BurnUp, double ChargeFactor):CLASSFacility(log, creationtime, lifetime, 4)
 {
@@ -89,7 +172,7 @@ Reactor::Reactor(CLASSLogger* log, PhysicModels fueltypeDB, FabricationPlant* fa
 
 }
 
-Reactor::Reactor(CLASSLogger* log, PhysicModels 	fueltypeDB,
+Reactor::Reactor(CLASSLogger* log, PhysicsModels 	fueltypeDB,
 		 FabricationPlant* fabricationplant,
  		 CLASSBackEnd* Pool,
  		 cSecond creationtime, cSecond lifetime, cSecond cycletime,
@@ -181,6 +264,58 @@ Reactor::Reactor(CLASSLogger* log, EvolutionData evolutivedb,
 	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
 
 
+}
+
+Reactor::Reactor(CLASSLogger* log, EvolutionData evolutivedb,
+ 		 CLASSBackEnd* Pool,
+ 		 cSecond creationtime, cSecond lifetime, cSecond cyclertime,
+		 double HMMass, double BurnUp, double ChargeFactor ):CLASSFacility(log, creationtime, lifetime, cycletime, 4)
+{
+	(*this).SetName("R_Reactor.");
+
+
+	fIsStarted = false;
+	fIsShutDown = false;
+	fIsAtEndOfCycle = false;
+
+	fStorage = 0;
+	fFabricationPlant = 0;
+
+	fFixedFuel = true;
+	fIsStorage = false;
+
+	fOutBackEndFacility = Pool;
+
+	fPower = BurnUp*3600.*24. / (fCycleTime) * HMMass *1e9; //BU in GWd/t
+
+	fHeavyMetalMass = HMMass;
+
+	map<ZAI ,double>::iterator it;
+	map<ZAI ,double> isotopicquantity = evolutivedb.GetIsotopicVectorAt(0.).GetActinidesComposition().GetIsotopicQuantity();
+	double M0 = 0;
+	for( it = isotopicquantity.begin(); it != isotopicquantity.end(); it++ )
+		M0 += (*it).second*cZAIMass.fZAIMass.find( (*it).first )->second/AVOGADRO*1e-6;
+
+	fEvolutionDB = evolutivedb * (fHeavyMetalMass/M0);
+
+	fBurnUp = BurnUp;
+
+	fIVBeginCycle = fEvolutionDB.GetIsotopicVectorAt(0);
+	fIVInCycle = fEvolutionDB.GetIsotopicVectorAt(0);
+	fIVOutCycle = fEvolutionDB.GetIsotopicVectorAt( (cSecond)(fCycleTime/fEvolutionDB.GetPower()*fPower) );
+
+
+	fFuelPlan->AddFuel(creationtime, evolutivedb, fBurnUp);
+
+	INFO << " A Reactor has been define :" << endl;
+	INFO << "\t Fuel Composition is fixed ! "<< endl;
+	INFO << "\t Creation time set at \t " << (double)(GetCreationTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t Life time (Operating's Duration) set at \t " << (double)(GetLifeTime()/3600/24/365.25) << " year" << endl;
+	INFO << "\t The Cycle Time set at\t " << (double)(fCycleTime/3600/24/365.25) << " year" << endl;
+	INFO << "\t The Effective Thermal Power is \t " << (double)(fPower *1e-6) << " MW (with Full Power " << power << " and " << ChargeFactor << " Charge Factor)"<< endl;
+	INFO << "\t The Heavy Metal Mass in the Core set at " << (double)(fHeavyMetalMass) << " tons" << endl << endl;
+	
+	
 }
 
 
@@ -381,7 +516,7 @@ DBGL
 	pair<CLASSFuel, double> NextFuel = fFuelPlan->GetFuelAt(fInternalTime);
 	SetBurnUp((NextFuel).second);
 
-	if( typeid(NextFuel.first) == typeid(PhysicModels) )
+	if( typeid(NextFuel.first) == typeid(PhysicsModels) )
 		fFixedFuel = false;
 	else if( typeid(NextFuel.first) == typeid(EvolutionData) )
 		fFixedFuel = true;
diff --git a/source/branches/CLASSV3/src/Scenario.cxx b/source/branches/CLASSV3/src/Scenario.cxx
index f017f39d433cdad3ed4fcba19407cdaeb906abd7..ab0c576e07f5bda4e6b559f48765066434da207e 100755
--- a/source/branches/CLASSV3/src/Scenario.cxx
+++ b/source/branches/CLASSV3/src/Scenario.cxx
@@ -384,7 +384,7 @@ void Scenario::BuildTimeVector(cSecond t)
 		cSecond step = R_StartingTime;
 
 		map< cSecond, int > R_BackEndTimePath = GetTheBackEndTimePath(fReactor[i]);
-		if( typeid(R_Fuel.first) == typeid(PhysicModels) )
+		if( typeid(R_Fuel.first) == typeid(PhysicsModels) )
 			F_CycleTime = fReactor[i]->GetFabricationPlant()->GetCycleTime();
 
 
@@ -436,7 +436,7 @@ void Scenario::BuildTimeVector(cSecond t)
 		//********* FabricationPlant Evolution Step *********//
 
 
-		if( typeid(R_Fuel.first) == typeid(PhysicModels) )
+		if( typeid(R_Fuel.first) == typeid(PhysicsModels) )
 		{
 
 			fReactor[i]->GetFabricationPlant()->AddReactor( i, fReactor[i]->GetCreationTime() );
@@ -474,7 +474,7 @@ void Scenario::BuildTimeVector(cSecond t)
 		{
 
 			// FabricationPlant Evolution Step
-			if( typeid(R_Fuel.first) == typeid(PhysicModels) )
+			if( typeid(R_Fuel.first) == typeid(PhysicsModels) )
 			{
 				F_CycleTime = fReactor[i]->GetFabricationPlant()->GetCycleTime();