diff --git a/src/main.cpp b/src/main.cpp
index b0adab83ef162b4d70925b1d1b251bd37de76499..1cfa843fe4cc22f753d35a6896bef956f54605e2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -184,8 +184,8 @@ int main(int argc, char *argv[])
       double pi = 4.*std::atan(1.);
       std::ofstream fout("comparaison u");
       for (size_t j=0; j<mesh.numberOfCells(); ++j) {
-        fout << xj[j][0] << ' ' << uj[j][0] <<  ' ' << std::sin(pi*xj[j][0])*std::exp(-2.*pi*pi*0.2) <<'\n'; //cas k constant
-	//fout << xj[j][0] << ' ' << uj[j][0] <<  ' ' << std::sin(pi*xj[j][0])*std::exp(-0.2) <<'\n'; // cas k non constant
+        //fout << xj[j][0] << ' ' << uj[j][0] <<  ' ' << std::sin(pi*xj[j][0])*std::exp(-2.*pi*pi*0.2) <<'\n'; //cas k constant
+	fout << xj[j][0] << ' ' << uj[j][0] <<  ' ' << std::sin(pi*xj[j][0])*std::exp(-0.2) <<'\n'; // cas k non constant
       }
     }
 
diff --git a/src/scheme/FiniteVolumesDiffusion.hpp b/src/scheme/FiniteVolumesDiffusion.hpp
index bbb7d59b67bad23972c0fe29d4d5e67a39fb1b26..67774fc988faf886413ae62d3167e74420c987e1 100644
--- a/src/scheme/FiniteVolumesDiffusion.hpp
+++ b/src/scheme/FiniteVolumesDiffusion.hpp
@@ -96,16 +96,16 @@ private:
 	  int cell_here = face_cells(l,j);
 	  int local_face_number_in_cell = face_cell_local_face(l,j);
 	  sum -= tensorProduct(uj(cell_here, local_face_number_in_cell), Cjr(cell_here, local_face_number_in_cell));
-	  // sum2 += kj(cell_here);
+	  sum2 += kj(cell_here);
 	}
 
 	// k = x
 	                      
-	//m_Fl(l) = ((sum2*0.5)/Vl(l))*sum;
+	m_Fl(l) = ((sum2*0.5)/Vl(l))*sum;
 
         // k = 2
 	 
-	 m_Fl(l)= (2./Vl(l))*sum;
+	//m_Fl(l)= (2./Vl(l))*sum;
 
       });
 
@@ -215,15 +215,15 @@ public:
 	  minVl = std::min(minVl, Vl(cell_faces(j, ll)));
 	}
 	//k=2 => (kj(j+1) + 2*kj(j) + kj(j-1)) = 8
-       	 dt_j[j]= 0.5*rhoj(j)*Vj(j)*(2./8.)*minVl;
+       	// dt_j[j]= 0.5*rhoj(j)*Vj(j)*(2./8.)*minVl;
 
 	// k=x
-	//double sum = 0.;
-	//for (int m = 0; m < cell_nb_nodes(j); ++m) {
-	 // sum += kj(cell_nodes(j,m));
-	 //}
+	double sum = 0.;
+	for (int m = 0; m < cell_nb_nodes(j); ++m) {
+	  sum += kj(cell_nodes(j,m));
+	}
 
-	 //dt_j[j]= 0.5*rhoj(j)*Vj(j)*(1./(2.*kj(j) + sum))*minVl;
+	 dt_j[j]= 0.5*rhoj(j)*Vj(j)*(1./(2.*kj(j) + sum))*minVl;
 	
       });
     
@@ -279,8 +279,8 @@ public:
 	  momentum_fluxes +=  Fl(l)*Cjr(j,R);
 	  energy_fluxes   += (Gl(l), Cjr(j,R));
 	}
-	//uj[j] += std::exp(-t)*(dt*inv_mj[j])*Vj(j)*Sj(j) + (dt*inv_mj[j]) * momentum_fluxes;
-	uj[j] += (dt*inv_mj[j]) * momentum_fluxes;
+	uj[j] += std::exp(-t)*(dt*inv_mj[j])*Vj(j)*Sj(j) + (dt*inv_mj[j]) * momentum_fluxes;
+	//uj[j] += (dt*inv_mj[j]) * momentum_fluxes;
        	Ej[j] += (dt*inv_mj[j]) * energy_fluxes;
       });
 
diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp
index e420de359d39351942ffab7ec001c84227101d14..1ef763027290bac95df07d4d87f166259aa4188d 100644
--- a/src/scheme/FiniteVolumesEulerUnknowns.hpp
+++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp
@@ -228,12 +228,12 @@ void initializeSod()
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-	m_kj[j] = 2; // k constant
-	//m_kj[j] = xj[j][0]; // k non constant, k = x
+	//m_kj[j] = 2; // k constant
+	m_kj[j] = xj[j][0]; // k non constant, k = x
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-    	m_Sj[j] = std::sin(pi*xj[j][0])*(xj[j][0]-1.) - std::cos(xj[j][0]*pi);
+    	m_Sj[j] = std::sin(pi*xj[j][0])*(pi*pi*xj[j][0]-1.) - std::cos(xj[j][0]*pi)*pi;
     });
   }