diff --git a/src/main.cpp b/src/main.cpp
index c1a54433b47f96dbb07f386aa08c139fade277bb..fad893502dbbc95dff1c5a310ca43a9ef6e5dd45 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -142,7 +142,7 @@ int main(int argc, char *argv[])
     const Kokkos::View<const double*> Vj = mesh_data.Vj();
     const Kokkos::View<const Rd**> Cjr = mesh_data.Cjr();
 
-    const double tmax=0.8;
+    const double tmax=1.5;
     double t=0.;
 
     int itermax=std::numeric_limits<int>::max();
@@ -250,7 +250,7 @@ int main(int argc, char *argv[])
     std::ofstream diff("diffinter");
     diff.precision(5);
     for (size_t j=0; j<mesh.numberOfCells(); ++j) {
-      diff << std::fixed << xj[j][0] << ' ' << std::fixed << kj[j] << '\n';
+      //diff << std::fixed << xj[j][0] << ' ' << std::fixed << kj[j] << '\n';
       if (kj[j]>0.) {
 	diff << std::fixed << xj[j][0] << ' ' << std::fixed << 4. << '\n';
       } else {
@@ -265,7 +265,7 @@ int main(int argc, char *argv[])
       
       // ETAPE 1 DU SPLITTING - EULER
       
-      double dt_euler = 0.9*acoustic_solver.acoustic_dt(Vj, cj);
+      double dt_euler = 0.4*acoustic_solver.acoustic_dt(Vj, cj);
 
       if (t+dt_euler > tmax) {
 	dt_euler = tmax-t;
@@ -275,7 +275,7 @@ int main(int argc, char *argv[])
       
       // ETAPE 2 DU SPLITTING - DIFFUSION
       
-      double dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj,nuj, cj);
+      double dt_diff = 0.9*finite_volumes_diffusion.diffusion_dt(rhoj, kj,nuj, cj);
       double t_diff = t-dt_euler;
       
       if (dt_euler <= dt_diff) {
@@ -555,7 +555,7 @@ int main(int argc, char *argv[])
     std::cout << "* " << rang::style::underline << "Final time" << rang::style::reset
 	      << ":  " << rang::fgB::green << t << rang::fg::reset << " (" << iteration << " iterations)\n";
     
-    /*
+    
     double error1 = 0.;
     error1 = finite_volumes_diffusion.error_L2_rho(unknowns, tmax);
 
@@ -593,7 +593,7 @@ int main(int argc, char *argv[])
 
     std::cout << "* " << rang::style::underline << "Erreur L infini E" << rang::style::reset
 	      << ":  " << rang::fgB::green << error5 << rang::fg::reset << " \n";
-    */
+    
 	      
     std::cout << "* " << rang::style::underline << "Resultat conservativite rho E temps = 0" << rang::style::reset
 	      << ":  " << rang::fgB::green << c << rang::fg::reset << " \n";
@@ -612,12 +612,12 @@ int main(int argc, char *argv[])
     { // gnuplot output for density
      const Kokkos::View<const Rd*> xj   = mesh_data.xj();
      const Kokkos::View<const double*> rhoj = unknowns.rhoj();
-     //double h = std::sqrt(1. - (tmax*tmax)/(50./9.));
+     double h = std::sqrt(1. - (tmax*tmax)/(50./9.));
      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';
      }
      }
 
@@ -631,9 +631,9 @@ 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] << '\n';
+       //fout << xj[j][0] << ' ' << uj[j][0] << '\n';
      }
      }
 
@@ -641,16 +641,16 @@ int main(int argc, char *argv[])
      const Kokkos::View<const Rd*> xj   = mesh_data.xj();
      const Kokkos::View<const double*> Ej = unknowns.Ej();
      //double pi = 4.*std::atan(1.);
-     //double h = std::sqrt(1. - (tmax*tmax)/(50./9.));
+     double h = std::sqrt(1. - (tmax*tmax)/(50./9.));
      std::ofstream fout("E");
      fout.precision(15);
      for (size_t j=0; j<mesh.numberOfCells(); ++j) {
 
        //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] << '\n';
+       //fout << xj[j][0] << ' ' << Ej[j] << '\n';
      }
      }
 
diff --git a/src/mesh/Mesh.hpp b/src/mesh/Mesh.hpp
index 470236c9e073d2670ebd4c2af54d74619bbc62e5..1f26bcac1ae9559bfe59af8a5b34be4904490654 100644
--- a/src/mesh/Mesh.hpp
+++ b/src/mesh/Mesh.hpp
@@ -80,8 +80,8 @@ public:
       m_x0("x0", 1),
       m_xmax("xmax", 1)
   {
-    double a = -1.;
-    double b = 2.;
+    double a = 0.;
+    double b = 1.;
     m_x0[0][0] = a;
     m_xmax[0][0] = b;
     const double delta_x = (b-a)/connectivity.numberOfCells();
diff --git a/src/scheme/AcousticSolver.hpp b/src/scheme/AcousticSolver.hpp
index 309e5165404ce018961698bb6ed5fec367fbbecc..eb13817957b5eacd4598d4b6b6afaf73595406ef 100644
--- a/src/scheme/AcousticSolver.hpp
+++ b/src/scheme/AcousticSolver.hpp
@@ -198,8 +198,8 @@ private:
       });
 
     
-    m_ur[0]=zero;
-    m_ur[m_mesh.numberOfNodes()-1]=zero;
+    //m_ur[0]=zero;
+    //m_ur[m_mesh.numberOfNodes()-1]=zero;
     
     // Kidder
 
@@ -208,11 +208,11 @@ private:
     //m_ur[m_mesh.numberOfNodes()-1] = (-t/((50./9.)-t*t))*xr[m_mesh.numberOfNodes()-1];
 
     //R(t) = x*h(t) a la place de x(t) 
-    /*
+    
     double h = std::sqrt(1. - (t*t)/(50./9.));
     m_ur[0]=(-t/((50./9.)-t*t))*h*x0[0];
     m_ur[m_mesh.numberOfNodes()-1] = (-t/((50./9.)-t*t))*h*xmax[0];
-    */
+    
 
     return m_ur;
   }
@@ -386,28 +386,14 @@ public:
       });
 
     // Mise a jour de k
-    /*
+    
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
 	kj(j) = xj[j][0];
-	
-		
-	//kj(j) = 0.5;
-	
-	if (xj[j][0]<0.7) {
-  	  kj[j]=0.;
-  	} else {
-	  if (xj[j][0]<0.9){
-	    kj[j]=0.05;
-	  } else {
-	    kj[j]=0. ;
-	  }
-	}
-	
-	
+
       });
 
     // Mise a jour de nu
-    
+    /*
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
 	nuj(j) = 0.5*(1.+xj[j][0]);
       });
diff --git a/src/scheme/FiniteVolumesDiffusion.hpp b/src/scheme/FiniteVolumesDiffusion.hpp
index 7d7b9a825cb65fa5dd7b5f6d4dbadb2c8779fa55..772038f4ef5a8010016d87c1cd77a9059f0bd417 100644
--- a/src/scheme/FiniteVolumesDiffusion.hpp
+++ b/src/scheme/FiniteVolumesDiffusion.hpp
@@ -115,7 +115,7 @@ private:
       });
 
     // Conditions aux bords
-    
+    /*
     int cell_here = face_cells(0,0);
     int local_face_number_in_cell = face_cell_local_face(0,0);
     m_Fl(0) = -(kL(0) + kj(cell_here))*(1./(2*Vl(0)))*(tensorProduct(uj(cell_here), Cjr(cell_here, local_face_number_in_cell)) - tensorProduct(uL(0), Cjr(cell_here, local_face_number_in_cell)));
@@ -124,7 +124,7 @@ private:
     local_face_number_in_cell = face_cell_local_face(m_mesh.numberOfFaces()-1,0);
     m_Fl(m_mesh.numberOfFaces()-1) = -(kR(0) + kj(cell_here))*(1/(2.*Vl(m_mesh.numberOfFaces()-1)))*(tensorProduct(uj(cell_here), Cjr(cell_here, local_face_number_in_cell)) - tensorProduct(uR(0), Cjr(cell_here, local_face_number_in_cell)));
     //m_Fl(m_mesh.numberOfFaces()-1) = -xr[m_mesh.numberOfNodes()-1][0]*(tensorProduct(uj(cell_here), Cjr(cell_here, local_face_number_in_cell)) - tensorProduct(uR(0), Cjr(cell_here, local_face_number_in_cell)));
-    
+    */
     
     // Kidder
 
@@ -135,11 +135,11 @@ private:
     // k = x
     //m_Fl(0,0) = -(t/((50./9.)-t*t))*xr[0][0];
     //m_Fl(m_mesh.numberOfFaces()-1,0) = -(t/((50./9.)-t*t))*xr[m_mesh.numberOfFaces()-1][0];
-    /*
+    
     double h = std::sqrt(1. - (t*t)/(50./9.));
     m_Fl(0,0) = -(t/((50./9.)-t*t))*h*x0[0][0];
     m_Fl(m_mesh.numberOfFaces()-1,0) = -(t/((50./9.)-t*t))*h*xmax[0][0];
-    */
+    
 
     return m_Fl ;
   }
@@ -179,19 +179,19 @@ private:
       });
 
     // Conditions aux bords
-    m_Gl(0) = Fl(0)*uL(0);
-    m_Gl(m_mesh.numberOfFaces()-1) = Fl(m_mesh.numberOfFaces()-1)*uR(0);
+    // m_Gl(0) = Fl(0)*uL(0);
+    //m_Gl(m_mesh.numberOfFaces()-1) = Fl(m_mesh.numberOfFaces()-1)*uR(0);
 
     // Kidder
     
     // m_Gl(0) = -(t/((50./9.)-t*t))*Fl(0,0)*xr(0);
     //m_Gl(m_mesh.numberOfFaces()-1) = -(t/((50./9.)-t*t))*Fl(m_mesh.numberOfFaces()-1,0)*xr(m_mesh.numberOfFaces()-1);
     
-    /* 
+     
     double h = std::sqrt(1. - (t*t)/(50./9.));
     m_Gl(0) = -(t/((50./9.)-t*t))*h*Fl(0,0)*x0(0);
     m_Gl(m_mesh.numberOfFaces()-1) = -(t/((50./9.)-t*t))*h*Fl(m_mesh.numberOfFaces()-1,0)*xmax(0);
-    */
+    
 
     return m_Gl ;
 
@@ -239,24 +239,27 @@ private:
       });
 
     // Conditions aux bords
-    
+    /*
     int cell_here = face_cells(0,0);
     m_Bl(0) = (nuL(0) + nuj(cell_here))*(1./(2*Vl(0)))*(Tj(cell_here) - TL(0));
     
     cell_here = face_cells(m_mesh.numberOfFaces()-1,0);
     m_Bl(m_mesh.numberOfFaces()-1) = -(nuR(0) + nuj(cell_here))*(1/(2.*Vl(m_mesh.numberOfFaces()-1)))*(Tj(cell_here) - TR(0));
+    */
     
-    /*
     double h = std::sqrt(1. - (t*t)/(50./9.));
 
     // nu = (1+x)*0.5
-    m_Bl(0) = ((1.+h*x0[0][0])*3.*h*x0[0][0])/(100.*h*h*h*h);
-    m_Bl(m_mesh.numberOfFaces()-1) = ((1.+h*xmax[0][0])*3.*h*xmax[0][0])/(100.*h*h*h*h);
+    //m_Bl(0) = ((1.+h*x0[0][0])*3.*h*x0[0][0])/(100.*h*h*h*h);
+    //m_Bl(m_mesh.numberOfFaces()-1) = ((1.+h*xmax[0][0])*3.*h*xmax[0][0])/(100.*h*h*h*h);
+    m_Bl(0) = 0.;
+    m_Bl(m_mesh.numberOfFaces()-1) = 0.;
+
 
     // nu = 0.2
     //m_Bl(0) = (0.2*3.*h*x0[0][0])/(50.*h*h*h*h);
     //m_Bl(m_mesh.numberOfFaces()-1) = (0.2*3.*h*xmax[0][0])/(50.*h*h*h*h);
-    */
+    
 
     return m_Bl ;
 
@@ -418,7 +421,7 @@ public:
     const Kokkos::View<const Rd**> Cjr = m_mesh_data.Cjr();
 
     // double pi = 4.*std::atan(1.);
-    // double h = std::sqrt(1. - (t*t)/(50./9.));
+    double h = std::sqrt(1. - (t*t)/(50./9.));
 
     // Diffusion pure
     //TR(0) = 2-0.5*pi*pi*(std::exp(-2.*t)-1.);
@@ -462,7 +465,8 @@ public:
 	//Ej[j] -= (dt*inv_mj[j])*Vj(j)*((0.5*t*t)/(((50./9.)-t*t)*((50./9.)-t*t)));
 
 	// ajout second membre pour kidder (k = x)
-	//uj[j][0] += (dt*inv_mj[j])*Vj(j)*(t/((50./9.)-t*t)); 
+	uj[j][0] += (dt*inv_mj[j])*Vj(j)*(t/((50./9.)-t*t)); 
+	Ej[j] -= (dt*inv_mj[j])*Vj(j)*((2.*xj[j][0]*t*t)/(((50./9.)-t*t)*((50./9.)-t*t)));
 	//Ej[j] -= (dt*inv_mj[j])*Vj(j)*((2.*xj[j][0]*t*t)/(((50./9.)-t*t)*((50./9.)-t*t))+(0.2*3.)/(50.*h*h*h*h));
 	//Ej[j] -= (dt*inv_mj[j])*Vj(j)*((2.*xj[j][0]*t*t)/(((50./9.)-t*t)*((50./9.)-t*t))+(6*xj[j][0]+3.)/(100*h*h*h*h));
       });
diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp
index 8d247083d757b56a0420dabea004b9a7fff4b9eb..595646f1fdccf751e921a590465e74c4caa78565 100644
--- a/src/scheme/FiniteVolumesEulerUnknowns.hpp
+++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp
@@ -284,27 +284,27 @@ public:
     const Kokkos::View<const Rd*> xj = m_mesh_data.xj();
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-	
+	/*
 	if (xj[j][0]<0.5) {
   	  m_rhoj[j]=1.;
   	} else {
   	  m_rhoj[j]=0.125;
 	}
-	
+	*/
 	//Kidder
-	//m_rhoj[j] = std::sqrt((3.*(xj[j][0]*xj[j][0]) + 100.)/100.);
+	m_rhoj[j] = std::sqrt((3.*(xj[j][0]*xj[j][0]) + 100.)/100.);
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-	
+	/*
   	if (xj[j][0]<0.5) {
   	  m_pj[j]=1;
   	} else {
   	  m_pj[j]=0.1;
 	}
-	
+	*/
 	//Kidder
-	//m_pj[j] = 2.*std::pow(m_rhoj[j],3);
+	m_pj[j] = 2.*std::pow(m_rhoj[j],3);
       });
     
     double pi = 4.*std::atan(1.);
@@ -313,8 +313,8 @@ public:
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-  	m_gammaj[j] = 1.4;
-	//m_gammaj[j] = 3.;
+  	//m_gammaj[j] = 1.4;
+	m_gammaj[j] = 3.;
       });
 
     BlockPerfectGas block_eos(m_rhoj, m_ej, m_pj, m_gammaj, m_cj);
@@ -334,7 +334,7 @@ public:
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
-  	//m_kj[j] =  xj[j][0];
+  	m_kj[j] =  xj[j][0];
 
 	//m_kj[j] = 0.5;
 
@@ -374,12 +374,12 @@ public:
 	  }
 	}
 	*/
-
+	/*
 	// k regulier
 	int n = 1;
 	m_kj[j] = std::exp(1.)*std::exp(-1./(1.-( (xj[j][0]-(0.7+0.1/n)) / (0.1/n) )*( (xj[j][0]-(0.7+0.1/n)) / (0.1/n) ))) * (xj[j][0]>0.7)*(xj[j][0]<0.7+0.1/n) + std::exp(1.)*std::exp(-1./(1.-( (xj[j][0]-(0.9-0.1/n)) / (0.1/n) )*( (xj[j][0]-(0.9-0.1/n)) / (0.1/n) ))) * (xj[j][0]>0.9-0.1/n)*(xj[j][0]<0.9) + (xj[j][0]>0.7+0.1/n)*(xj[j][0]<0.9-0.1/n);
-	m_kj[j] = 0.014*m_kj[j];
-	
+	m_kj[j] = 0.00014*m_kj[j];
+	*/
 	
       });
 
@@ -397,7 +397,7 @@ public:
       });
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
 	//m_nuj(j) = 0.5*(1.+xj[j][0]); 
-	m_nuj(j) = 0.5;
+	m_nuj(j) = 0.;
       });
 
     Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
@@ -406,10 +406,10 @@ public:
 
     // Conditions aux bords de Dirichlet sur T et nu
     
-    m_TL[0] = m_ej[0];
-    m_TR[0] = m_ej[m_mesh.numberOfCells()-1];
-    m_nuL[0] = m_nuj[0];
-    m_nuR[0] = m_nuj[m_mesh.numberOfCells()-1];
+    m_TL[0] = 2.;
+    m_TR[0] = 2.;
+    m_nuL[0] = 0.;
+    m_nuR[0] = 0.;
    
   }