diff --git a/src/main.cpp b/src/main.cpp
index 3fb41c6c31e408f5190161385489b411fa69e903..b57d75e469f13b6922d397107ae8abfb715f97f5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -172,7 +172,7 @@ int main(int argc, char *argv[])
       t += dt_euler;
       
       // ETAPE 2 DU SPLITTING - DIFFUSION
-      
+      /*
       double dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj);
  
       if (dt_euler <= dt_diff) {
@@ -190,7 +190,7 @@ int main(int argc, char *argv[])
 	}
 	std::cout << "diff : " << t_diff << std::endl;
       }
-      
+      */
 
       // DIFFUSION PURE
       
diff --git a/src/scheme/AcousticSolver.hpp b/src/scheme/AcousticSolver.hpp
index 4962964d3a79b79f2acc818bbccdbd86bce7487e..c22fca6c5e21f09aedc8990a7680acb11cd79668 100644
--- a/src/scheme/AcousticSolver.hpp
+++ b/src/scheme/AcousticSolver.hpp
@@ -163,7 +163,7 @@ private:
   }
   */
   
-  Kokkos::View<Rd*> // calcule u_r (vitesse au sommet du maillage et flux de vitesse)
+  Kokkos::View<Rd*> 
   computeUr(const Kokkos::View<const Rdd*>& Ar,
 	    const Kokkos::View<const Rd*>& br,
 	    const double& t) {
@@ -176,7 +176,9 @@ private:
     Kokkos::parallel_for(m_mesh.numberOfNodes(), KOKKOS_LAMBDA(const int& r) {
 	m_ur[r]=invAr(r)*br(r);
       });
-    m_ur[0]=zero;
+
+    // Conditions aux limites dependant du temps
+    m_ur[0]=(-t/((50./9.)-t*t))*xr[0];
     m_ur[m_mesh.numberOfNodes()-1] = (-t/((50./9.)-t*t))*xr[m_mesh.numberOfNodes()-1];
 
     return m_ur;
diff --git a/src/scheme/FiniteVolumesDiffusion.hpp b/src/scheme/FiniteVolumesDiffusion.hpp
index 58187015f20e56dfe4356794c88264bb6b0c5d69..ba3491a69b6fc156b206bc5d4c6bbabd55f85013 100644
--- a/src/scheme/FiniteVolumesDiffusion.hpp
+++ b/src/scheme/FiniteVolumesDiffusion.hpp
@@ -81,7 +81,8 @@ private:
 	    const Kokkos::View<const Rd*>& uL,
 	    const Kokkos::View<const Rd*>& uR,
 	    const Kokkos::View<const double*>& kL,
-	    const Kokkos::View<const double*>& kR) {
+	    const Kokkos::View<const double*>& kR,
+	    const double& t) {
 
     const Kokkos::View<const unsigned int**>& face_cells = m_connectivity.faceCells();
 
@@ -112,7 +113,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)));
@@ -121,7 +122,10 @@ 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)));
-
+    */
+    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];
+    
     return m_Fl ;
   }
 
@@ -158,11 +162,10 @@ private:
       });
 
     // Conditions aux bords
-    m_Gl(0) = Fl(0)*uL(0);
-    m_Gl(m_mesh.numberOfFaces()-1) = Fl(m_mesh.numberOfFaces()-1)*uR(0);
-    //const double delta_x = 1./100.;
-    //double brico = - ((xr[m_mesh.numberOfNodes()-1][0]+delta_x)*t)/((50./9.)-t*t);
-    //m_Gl[m_mesh.numberOfFaces()-1][0] = brico*Fl[m_mesh.numberOfFaces()-1](0,0);
+    // m_Gl(0) = Fl(0)*uL(0);
+    //m_Gl(m_mesh.numberOfFaces()-1) = Fl(m_mesh.numberOfFaces()-1)*uR(0);
+    m_Gl(0) = -(t/((50./9.)-t*t))*Fl(0)*xr(0);
+    m_Gl(m_mesh.numberOfFaces()-1) = -(t/((50./9.)-t*t))*Fl(m_mesh.numberOfFaces()-1)*xr(m_mesh.numberOfFaces()-1);
     
     return m_Gl ;
 
@@ -198,7 +201,7 @@ private:
 			     const Kokkos::View<const double*>& kR,
 			     const double& t) { 
     Kokkos::View<Rdd*> Fl  = m_Fl ; 
-    Fl  = computeFl (Cjr, uj, kj, uL, uR, kL, kR);
+    Fl  = computeFl (Cjr, uj, kj, uL, uR, kL, kR, t);
     Kokkos::View<Rd*> Gl  = m_Gl ; 
     Gl  = computeGl (uj, Fl, uL, uR, t);
   }
@@ -256,8 +259,6 @@ public:
 
 	dt_j[j]= 0.5*rhoj(j)*Vj(j)*(1./(2.*kj(j) + sum))*minVl;
 	
-
-	
       });
     
     double dt = std::numeric_limits<double>::max();
@@ -287,7 +288,7 @@ public:
 
     const Kokkos::View<const Rd*> xj = m_mesh_data.xj();
     // Premiere possibilite CL (le mieux a mon avis et le plus logique)
-    uR[0] = (-t/((50./9.)-t*t))*xj[m_mesh.numberOfCells()-1]; 
+    //uR[0] = (-t/((50./9.)-t*t))*xj[m_mesh.numberOfCells()-1]; 
 
     // Deuxieme possiblitie CL
     Kokkos::View<const Rd*> xr = m_mesh.xr();
diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp
index 9b1c5f7a282d860fdc9ef1479473927925340d19..52e66cbcc5848a08492facc515aa16f45d4277a0 100644
--- a/src/scheme/FiniteVolumesEulerUnknowns.hpp
+++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp
@@ -240,13 +240,12 @@ public:
       });
 
      // Conditions aux bords de Dirichlet sur u et k
-    
-   
 
     m_uL[0] = zero;
     m_uR[0] = zero;
     m_kL[0] = xj[0][0];
     m_kR[0] = xj[m_mesh.numberOfCells()-1][0];
+
   }