diff --git a/src/mesh/Mesh.hpp b/src/mesh/Mesh.hpp index ef3176a0371c4a39d7f0fdecc936bace02a6222d..667f1877db466a9d581834099739504c9d78429b 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 = 0.1; - double b = 1.; + double a = 0.; + double b = 10.; m_x0[0][0] = a; m_xmax[0][0] = b; const double delta_x = (b-a)/connectivity.numberOfCells(); diff --git a/src/scheme/FiniteVolumesDiffusion.hpp b/src/scheme/FiniteVolumesDiffusion.hpp index 8d4c27674d7bb4bf53baf76ec0a9b0b91c5c39f9..44e1b5d5d96a9fe6cf7b4ced24b517dc4cad31f3 100644 --- a/src/scheme/FiniteVolumesDiffusion.hpp +++ b/src/scheme/FiniteVolumesDiffusion.hpp @@ -95,6 +95,8 @@ private: const Kokkos::View<const double*>& Vl = m_mesh_data.Vl(); const Kokkos::View<const double*>& Vj = m_mesh_data.Vj(); const Kokkos::View<const Rd*> xr = m_mesh.xr(); + const Kokkos::View<const Rd*> x0 = m_mesh.x0(); + const Kokkos::View<const Rd*> xmax = m_mesh.xmax(); Kokkos::parallel_for(m_mesh.numberOfFaces(), KOKKOS_LAMBDA(const int& l) { Rdd sum = zero; @@ -129,8 +131,12 @@ private: //m_Fl(m_mesh.numberOfFaces()-1,0) = -(t/((50./9.)-t*t))*0.5; // 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]; + //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 ; } @@ -154,6 +160,8 @@ private: const Kokkos::View<const double*>& Vj = m_mesh_data.Vj(); const Kokkos::View<const Rd*> xr = m_mesh.xr(); + const Kokkos::View<const Rd*> x0 = m_mesh.x0(); + const Kokkos::View<const Rd*> xmax = m_mesh.xmax(); Kokkos::parallel_for(m_mesh.numberOfFaces(), KOKKOS_LAMBDA(const int& l) { Rd sum = zero; @@ -171,8 +179,12 @@ private: // 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,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); + //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 ; diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp index a59021ecb3155e0ec5c9e2264a0a987dd7a61bfb..99a8f11386b5bbd813a6fe62df9fc6d2ff117e52 100644 --- a/src/scheme/FiniteVolumesEulerUnknowns.hpp +++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp @@ -191,7 +191,8 @@ 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) { + /* + if (xj[j][0]<0.5) { m_rhoj[j]=1; } else { m_rhoj[j]=0.125;