Skip to content
Snippets Groups Projects
Commit 66360fb6 authored by Fanny CHOPOT's avatar Fanny CHOPOT
Browse files

correction boucle temps, diff = euler

parent 5571406b
No related branches found
No related tags found
No related merge requests found
...@@ -159,6 +159,12 @@ int main(int argc, char *argv[]) ...@@ -159,6 +159,12 @@ int main(int argc, char *argv[])
std::cout << "* " << rang::style::underline << "Resultat conservativite rho E temps = 0" << rang::style::reset std::cout << "* " << rang::style::underline << "Resultat conservativite rho E temps = 0" << rang::style::reset
<< ": " << rang::fgB::green << c << rang::fg::reset << " \n"; << ": " << 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)) { while((t<tmax) and (iteration<itermax)) {
// ETAPE 1 DU SPLITTING - EULER // ETAPE 1 DU SPLITTING - EULER
...@@ -179,12 +185,16 @@ int main(int argc, char *argv[]) ...@@ -179,12 +185,16 @@ int main(int argc, char *argv[])
dt_diff = dt_euler; dt_diff = dt_euler;
finite_volumes_diffusion.computeNextStep(t, dt_diff, unknowns); finite_volumes_diffusion.computeNextStep(t, dt_diff, unknowns);
} else { } else {
double t_diff = t; double t_diff = t-dt_euler;
while (t + dt_euler > t_diff) { while (t > t_diff) {
finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns); finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns);
dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj); 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; t_diff += dt_diff;
} }
std::cout << "diff : " << t_diff << std::endl;
} }
......
...@@ -232,15 +232,15 @@ public: ...@@ -232,15 +232,15 @@ public:
}); });
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){ 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 // Conditions aux bords de Dirichlet sur u et k
m_uL[0] = zero; m_uL[0] = zero;
m_uR[0] = zero; m_uR[0] = zero;
m_kL[0] = 0.00001*0.5; m_kL[0] = 1.;
m_kR[0] = 0.00001*0.5; m_kR[0] = 1.;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment