diff --git a/src/main.cpp b/src/main.cpp
index 00086299a545661dd3c9ace26fbc7563cbee055c..d4e0015ffb173771f5e34360709afe3f84412cd6 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -320,7 +320,7 @@ int main(int argc, char *argv[])
 
       // NAVIER-STOKES SANS SPLITTING
 
-      double dt = 0.05*finite_volumes_diffusion.diffusion_dt(rhoj, kj,nuj, cj, nuL, nuR, kL,kR);
+      double dt = 0.9*finite_volumes_diffusion.diffusion_dt(rhoj, kj,nuj, cj, nuL, nuR, kL,kR);
       if (t+dt > tmax) {
 	dt = tmax-t;
       }
@@ -661,8 +661,8 @@ int main(int argc, char *argv[])
      std::ofstream fout("rho");
      fout.precision(15);
      for (size_t j=0; j<mesh.numberOfCells(); ++j) {
-       //fout << xj[j][0] << ' ' << rhoj[j] << ' ' << std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h << '\n'; // kidder
-       fout << xj[j][0] << ' ' << rhoj[j] << '\n';
+       fout << xj[j][0] << ' ' << rhoj[j] << ' ' << std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h << '\n'; // kidder
+       //fout << xj[j][0] << ' ' << rhoj[j] << '\n';
      }
      }
     
@@ -696,10 +696,10 @@ int main(int argc, char *argv[])
 
        //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(-tmax) <<'\n'; // cas k non constant
-       //fout << xj[j][0] << ' ' << uj[j][0] << ' ' << -(xj[j][0]*tmax)/((50./9.)-tmax*tmax) << '\n'; // kidder
+       fout << xj[j][0] << ' ' << uj[j][0] << ' ' << -(xj[j][0]*tmax)/((50./9.)-tmax*tmax) << '\n'; // kidder
        //fout << xj[j][0] << ' ' << uj[j][0] << ' ' << xj[j][0] << std::endl;
 
-       fout << xj[j][0] << ' ' << uj[j][0] << '\n';
+       //fout << xj[j][0] << ' ' << uj[j][0] << '\n';
      }
      }
 
@@ -714,10 +714,10 @@ int main(int argc, char *argv[])
 
        //fout << xj[j][0] << ' ' << Ej[j] << ' ' << (-(std::cos(pi*xj[j][0])*std::cos(pi*xj[j][0]))+(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0])))*0.5*(std::exp(-4.*pi*pi*0.2)-1.) + 2. <<'\n'; // cas k constant
        //fout << xj[j][0] << ' ' << Ej[j] << ' ' << ((xj[j][0]*pi*pi*0.5)*(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]) - std::cos(xj[j][0]*pi)*std::cos(pi*xj[j][0])) - pi*0.5*std::sin(pi*xj[j][0])*std::cos(pi*xj[j][0]))*(std::exp(-2.*tmax)-1.) + 2. <<'\n' ; // cas k non constant
-       //fout << xj[j][0] << ' ' << Ej[j] << ' ' << (std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h)*(std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h) + (-(xj[j][0]*tmax)/((50./9.)-tmax*tmax))*(-(xj[j][0]*tmax)/((50./9.)-tmax*tmax))*0.5 << '\n'; // kidder
+       fout << xj[j][0] << ' ' << Ej[j] << ' ' << (std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h)*(std::sqrt((3.*((xj[j][0]*xj[j][0])/(h*h)) + 100.)/100.)/h) + (-(xj[j][0]*tmax)/((50./9.)-tmax*tmax))*(-(xj[j][0]*tmax)/((50./9.)-tmax*tmax))*0.5 << '\n'; // kidder
        //fout << xj[j][0] << ' ' << Ej[j] << ' ' << xj[j][0]*xj[j][0]*0.5 + 2.*xj[j][0] + tmax + 1. << std::endl;
 
-       fout << xj[j][0] << ' ' << Ej[j] << '\n';
+       //fout << xj[j][0] << ' ' << Ej[j] << '\n';
      }
      }
 
diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp
index 81b26c05ffc635c34391b3a8b51a12a04a2d9110..3cbf6e542e560e3d9041e3b28b52d934b416ae0d 100644
--- a/src/scheme/FiniteVolumesEulerUnknowns.hpp
+++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp
@@ -352,8 +352,8 @@ public:
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
 	// Differents k (xi)
-  	m_kj[j] =  xj[j][0];
-	//m_kj[j] = 0.;
+  	//m_kj[j] =  xj[j][0];
+	m_kj[j] = 0.5;
 
 	// TAC
 	
@@ -408,8 +408,8 @@ public:
 
     m_uL[0] = zero;
     m_uR[0] = zero;
-    m_kL[0] = 0.;
-    m_kR[0] = 1.;
+    m_kL[0] = 0.5;
+    m_kR[0] = 0.5;
 
     
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){  	
diff --git a/src/scheme/NoSplitting.hpp b/src/scheme/NoSplitting.hpp
index 039b535f2648cafb28574c971fabbf1edd82c2f1..59ed0203d57d7abcd9a3506491b375c44ea8760e 100644
--- a/src/scheme/NoSplitting.hpp
+++ b/src/scheme/NoSplitting.hpp
@@ -312,6 +312,8 @@ public:
     Kokkos::View<double*> kj = unknowns.kj();
     Kokkos::View<double*> nuj = unknowns.nuj();
     Kokkos::View<double*> PTj = unknowns.PTj();
+    Kokkos::View<double*> kL = unknowns.kL();
+    Kokkos::View<double*> kR = unknowns.kR();
 
     const Kokkos::View<const Rd*> xj = m_mesh_data.xj();
     const Kokkos::View<const double*> Vj = m_mesh_data.Vj();
@@ -327,9 +329,17 @@ public:
 	double sum = 0;
 	for (int m=0; m<cell_nb_nodes(j); ++m) {
 	  //sum += uj[cell_nodes(j,m)][0];
-	  sum -= (uj(cell_nodes(j,m)), Cjr(cell_nodes(j,m), m));
+	  sum += (uj(cell_nodes(j,m)), Cjr(cell_nodes(j,m), m));
 	}
-	PTj(j) = pj(j) - kj(j)*sum/Vj(j);
+
+	if (j == 0) {
+	  PTj(j) = pj(j) - kL(0)*sum/Vj(j);
+	} else if (j == m_mesh.numberOfCells()-1) {
+	  PTj(j) = pj(j) - kR(0)*sum/Vj(j);
+	} else {
+	  PTj(j) = pj(j) - kj(j)*sum/Vj(j);
+	}
+
       });
 
     // Calcule les flux
@@ -350,6 +360,10 @@ public:
 	}
 	uj[j] -= (dt*inv_mj[j]) * momentum_fluxes;
 	Ej[j] -= (dt*inv_mj[j]) * energy_fluxes;
+
+	// ajout second membre pour kidder (k cst)
+	Ej[j] -= (dt*inv_mj[j])*Vj(j)*((kj(j)*t*t)/(((50./9.)-t*t)*((50./9.)-t*t)));
+
       });
 
     // Calcul de e par la formule e = E-0.5 u^2
@@ -373,12 +387,12 @@ public:
       });
 
     // Mise a jour de k
-    
+    /*
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
 	kj(j) = xj[j][0];
 
       });
-    
+    */
   }
 };