diff --git a/src/main.cpp b/src/main.cpp index d53f39766d0169f58ce22e42db1b9b4bc8a9ee1d..810579823dab6e24cebe657d66e4582e178930f7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -159,6 +159,12 @@ int main(int argc, char *argv[]) std::cout << "* " << rang::style::underline << "Resultat conservativite rho E temps = 0" << rang::style::reset << ": " << rang::fgB::green << c << rang::fg::reset << " \n"; + double c1 = 0.; + c1 = finite_volumes_diffusion.conservatif_mvt(unknowns); + + std::cout << "* " << rang::style::underline << "Resultat conservativite rho u temps = 0" << rang::style::reset + << ": " << rang::fgB::green << c1 << rang::fg::reset << " \n"; + while((t<tmax) and (iteration<itermax)) { // ETAPE 1 DU SPLITTING - EULER @@ -179,14 +185,18 @@ int main(int argc, char *argv[]) dt_diff = dt_euler; finite_volumes_diffusion.computeNextStep(t, dt_diff, unknowns); } else { - double t_diff = t; - while (t + dt_euler > t_diff) { + double t_diff = t-dt_euler; + while (t > t_diff) { finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns); dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj); + if (t_diff+dt_diff > t) { + dt_diff = t-t_diff; + } t_diff += dt_diff; } + std::cout << "diff : " << t_diff << std::endl; } - + // DIFFUSION PURE diff --git a/src/scheme/FiniteVolumesEulerUnknowns.hpp b/src/scheme/FiniteVolumesEulerUnknowns.hpp index 01fc749928df8af873d8074e32fab16b4fe06042..cb0504f5d0515ed1d776a70373c8dfdea4de8f9f 100644 --- a/src/scheme/FiniteVolumesEulerUnknowns.hpp +++ b/src/scheme/FiniteVolumesEulerUnknowns.hpp @@ -232,15 +232,15 @@ public: }); Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){ - m_kj[j] = 0.00001*0.5; + m_kj[j] = 1.; }); // Conditions aux bords de Dirichlet sur u et k m_uL[0] = zero; m_uR[0] = zero; - m_kL[0] = 0.00001*0.5; - m_kR[0] = 0.00001*0.5; + m_kL[0] = 1.; + m_kR[0] = 1.; }