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

Modifs dans boucle programme principal et CL sur k

parent d9bbdfd8
No related branches found
No related tags found
No related merge requests found
......@@ -163,26 +163,38 @@ int main(int argc, char *argv[])
dt_euler = tmax-t;
}
acoustic_solver.computeNextStep(t,dt_euler, unknowns);
t += dt_euler;
// ETAPE 2 DU SPLITTING - DIFFUSION
double dt_diff = finite_volumes_diffusion.diffusion_dt(rhoj, kj);
std::cout << dt_euler << ' ' << dt_diff << std::endl;
if (dt_euler <= dt_diff) {
dt_diff = dt_euler;
finite_volumes_diffusion.computeNextStep(t, dt_diff, unknowns);
t += dt_euler;
} else {
double t_diff = t + dt_diff;
while (t + dt_euler > t_diff) {
while ((t + dt_euler > t_diff) and (t_diff < tmax)) {
finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns);
dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj);
t_diff += dt_diff;
std::cout << t_diff << '\n';
}
t = t_diff;
}
// DIFFUSION PURE
/*
double dt = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj,kj);
if (t+dt > tmax) {
dt = tmax-t;
}
finite_volumes_diffusion.computeNextStep(t, dt, unknowns);
t += dt;
*/
block_eos.updatePandCFromRhoE();
++iteration;
......@@ -228,7 +240,7 @@ int main(int argc, char *argv[])
{ // gnuplot output for density
const Kokkos::View<const Rd*> xj = mesh_data.xj();
const Kokkos::View<const Rd*> uj = unknowns.uj();
std::ofstream fout("resultat rho");
std::ofstream fout("rho ns");
fout.precision(15);
for (size_t j=0; j<mesh.numberOfCells(); ++j) {
fout << xj[j][0] << ' ' << rhoj[j] << '\n';
......@@ -239,7 +251,7 @@ int main(int argc, char *argv[])
const Kokkos::View<const Rd*> xj = mesh_data.xj();
const Kokkos::View<const Rd*> uj = unknowns.uj();
//double pi = 4.*std::atan(1.);
std::ofstream fout("resultat u");
std::ofstream fout("u ns");
fout.precision(15);
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
......@@ -252,7 +264,7 @@ int main(int argc, char *argv[])
const Kokkos::View<const Rd*> xj = mesh_data.xj();
const Kokkos::View<const double*> Ej = unknowns.Ej();
//double pi = 4.*std::atan(1.);
std::ofstream fout("resultat E");
std::ofstream fout("E ns");
fout.precision(15);
for (size_t j=0; j<mesh.numberOfCells(); ++j) {
//fout << xj[j][0] << ' ' << Ej[j] << ' ' << (-(std::cos(pi*xj[j][0])*std::cos(pi*xj[j][0]))+(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0])))*0.5*(std::exp(-4.*pi*pi*0.2)-1.) + 2. <<'\n'; // cas k constant
......
......@@ -50,7 +50,7 @@ public:
// pas constant
/*
Mesh(const Connectivity& connectivity)
: m_connectivity(connectivity),
m_xr("xr", connectivity.numberOfNodes())
......@@ -60,11 +60,11 @@ public:
m_xr[r][0] = r*delta_x;
});
}
*/
// pas non constant
/*
Mesh(const Connectivity& connectivity)
: m_connectivity(connectivity),
m_xr("xr", connectivity.numberOfNodes())
......@@ -85,7 +85,7 @@ public:
}
});
}
*/
~Mesh()
{
......
......@@ -218,7 +218,8 @@ public:
block_eos.updateEandCFromRhoP();
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
m_Ej[j] = m_ej[j]+0.5*(m_uj[j],m_uj[j]);
//m_Ej[j] = m_ej[j]+0.5*(m_uj[j],m_uj[j]);
m_Ej[j] = 2.;
});
const Kokkos::View<const double*> Vj = m_mesh_data.Vj();
......@@ -231,20 +232,21 @@ public:
});
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
m_kj[j] = 1;
m_kj[j] = 0.0002*0.5;
});
// Conditions aux bords de Dirichlet sur u et k
m_uL[0] = zero;
m_uR[0] = zero;
m_kL[0] = 1.;
m_kR[0] = 1.;
m_kL[0] = 0.0002*0.5;
m_kR[0] = 0.0002*0.5;
}
/*
/* DIFFUSION PURE
// DIFFUSION PURE
void initializeSod()
{
......@@ -301,10 +303,10 @@ public:
m_kR[0] = 1.;
}
*/
FiniteVolumesEulerUnknowns(const MeshDataType& mesh_data)
: m_mesh_data(mesh_data),
m_mesh(m_mesh_data.mesh()),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment