From a9da2bd1f4c38a62ae43c90b3e93ebbb2fee85a5 Mon Sep 17 00:00:00 2001
From: Fanny CHOPOT <fanny.chopot.ocre@cea.fr>
Date: Thu, 14 Jun 2018 11:48:16 +0200
Subject: [PATCH] correction k regulier et ajout suite de fonctions k_n

---
 src/main.cpp                              |  5 +++--
 src/scheme/FiniteVolumesEulerUnknowns.hpp | 22 +++++++++++++---------
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/main.cpp b/src/main.cpp
index bd60e1b5b..76e2d0319 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -326,7 +326,7 @@ int main(int argc, char *argv[])
       ++iteration;
       std::cout << "temps t : " << t << std::endl;
 
-      
+      /*
       // ECRITURE DANS UN FICHIER 
       
       if ((std::fmod(t,0.01) < 0.0001) or (t == tmax)) {
@@ -545,7 +545,8 @@ int main(int argc, char *argv[])
       riffout.close();
      
       }
-       
+      */
+ 
       // ENTROPY TEST
       //finite_volumes_diffusion.entropie(unknowns);
       
diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp
index 93db2b278..007f548e4 100644
--- a/src/scheme/FiniteVolumesEulerUnknowns.hpp
+++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp
@@ -276,32 +276,36 @@ public:
 	//m_kj[j] = 0.5;
 
 	// Sod
-	double haut = 0.0028; // Re = 500
+
+	// k non regulier
+	/*
 	if (xj[j][0]<0.7) {
   	  m_kj[j]=0.;
   	} else {
 	  if (xj[j][0]<0.9){
-	    
-	    // k non regulier
-
+	  
 	    // Re = 28
 	    // m_kj[j]=0.05;
+
 	    // Re = 500
 	    //m_kj[j] = 0.0028; 
+
 	    // Re = 1000
 	    //m_kj[j] = 0.0014;
+
 	    // Re = 2000
 	    //m_kj[j] = 0.0007;
-
-	    // k regulier
 	    
-	    m_kj[j] = (haut*std::exp(100))*std::exp(-1./(0.1*0.1-(xj[j][0]-0.8)*(xj[j][0]-0.8)));  
-
 	  } else {
 	    m_kj[j]=0. ;
 	  }
 	}
-	
+	*/
+
+	// 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);
+
       });
 
      // Conditions aux bords de Dirichlet sur u et k
-- 
GitLab