diff --git a/src/main.cpp b/src/main.cpp index 4d53e063a115cc72018440a70bdf2bdae74b3d4e..b0adab83ef162b4d70925b1d1b251bd37de76499 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -184,8 +184,8 @@ int main(int argc, char *argv[]) double pi = 4.*std::atan(1.); std::ofstream fout("comparaison u"); for (size_t j=0; j<mesh.numberOfCells(); ++j) { - // 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(-0.2) <<'\n'; // cas k non constant + 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(-0.2) <<'\n'; // cas k non constant } } diff --git a/src/scheme/FiniteVolumesDiffusion.hpp b/src/scheme/FiniteVolumesDiffusion.hpp index 4f66bcb3bc627153a73c78a0bc013e2dae20c7e9..bbb7d59b67bad23972c0fe29d4d5e67a39fb1b26 100644 --- a/src/scheme/FiniteVolumesDiffusion.hpp +++ b/src/scheme/FiniteVolumesDiffusion.hpp @@ -95,17 +95,17 @@ private: for (int j=0; j<face_nb_cells(l); ++j) { int cell_here = face_cells(l,j); int local_face_number_in_cell = face_cell_local_face(l,j); - sum += tensorProduct(uj(cell_here, local_face_number_in_cell), Cjr(cell_here, local_face_number_in_cell)); - sum2 += kj(cell_here); + sum -= tensorProduct(uj(cell_here, local_face_number_in_cell), Cjr(cell_here, local_face_number_in_cell)); + // sum2 += kj(cell_here); } // k = x - m_Fl(l) = ((sum2*0.5)/Vl(l))*sum; + //m_Fl(l) = ((sum2*0.5)/Vl(l))*sum; // k = 2 - // m_Fl(l)= (2./Vl(l))*sum; + m_Fl(l)= (2./Vl(l))*sum; }); @@ -214,16 +214,16 @@ public: for (int ll=0; ll<cell_nb_faces(j); ++ll) { minVl = std::min(minVl, Vl(cell_faces(j, ll))); } - // k=2 => (kj(j+1) + 2*kj(j) + kj(j-1)) = 8 - // dt_j[j]= 0.5*rhoj(j)*Vj(j)*(2./8.)*minVl; + //k=2 => (kj(j+1) + 2*kj(j) + kj(j-1)) = 8 + dt_j[j]= 0.5*rhoj(j)*Vj(j)*(2./8.)*minVl; // k=x - double sum = 0.; - for (int m = 0; m < cell_nb_nodes(j); ++m) { - sum += kj(cell_nodes(j,m)); - } + //double sum = 0.; + //for (int m = 0; m < cell_nb_nodes(j); ++m) { + // sum += kj(cell_nodes(j,m)); + //} - dt_j[j]= 0.5*rhoj(j)*Vj(j)*(1./(2.*kj(j) + sum))*minVl; + //dt_j[j]= 0.5*rhoj(j)*Vj(j)*(1./(2.*kj(j) + sum))*minVl; }); @@ -279,8 +279,9 @@ public: momentum_fluxes += Fl(l)*Cjr(j,R); energy_fluxes += (Gl(l), Cjr(j,R)); } - uj[j] -= std::exp(-t)*(dt*inv_mj[j])*Vj(j)*Sj(j) + (dt*inv_mj[j]) * momentum_fluxes; - Ej[j] -= (dt*inv_mj[j]) * energy_fluxes; + //uj[j] += std::exp(-t)*(dt*inv_mj[j])*Vj(j)*Sj(j) + (dt*inv_mj[j]) * momentum_fluxes; + uj[j] += (dt*inv_mj[j]) * momentum_fluxes; + Ej[j] += (dt*inv_mj[j]) * energy_fluxes; }); // Calcul de e par la formule e = E-0.5 u^2 diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp index 77eb543034da57f98df83234c0b407fad887473a..e420de359d39351942ffab7ec001c84227101d14 100644 --- a/src/scheme/FiniteVolumesEulerUnknowns.hpp +++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp @@ -228,8 +228,8 @@ void initializeSod() }); Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){ - //m_kj[j] = 2; // k constant - m_kj[j] = xj[j][0]; // k non constant, k = x + m_kj[j] = 2; // k constant + //m_kj[j] = xj[j][0]; // k non constant, k = x }); Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){