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

fonctionnement code pour diffusion pure avec transfert thermique OK

parent 8cfd476b
No related branches found
No related tags found
No related merge requests found
......@@ -646,6 +646,7 @@ int main(int argc, char *argv[])
}
}
/*
{ // gnuplot output for entropy (gaz parfait en prenant cv = 1))
const Kokkos::View<const Rd*> xj = mesh_data.xj();
......
......@@ -140,6 +140,7 @@ private:
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 ;
}
......@@ -344,7 +345,7 @@ public:
sum1 += nuj(cell_nodes(j,m));
}
if (sum < sum1) {
if (sum > sum1) {
if (sum == 0.) {
dt_j[j] = std::numeric_limits<double>::max();
} else {
......@@ -396,6 +397,10 @@ public:
const Kokkos::View<const double*> Vj = m_mesh_data.Vj();
const Kokkos::View<const Rd**> Cjr = m_mesh_data.Cjr();
double pi = 4.*std::atan(1.);
TR(0) = 2-0.5*pi*pi*(std::exp(-2.*t)-1.);
// la condition au bord a droite de T depend du temps
// Calcule les flux
computeExplicitFluxes(uj, Cjr, kj, uL, uR, kL, kR, Tj, nuj, TL, TR, nuL, nuR, t);
......@@ -409,8 +414,6 @@ public:
const Kokkos::View<const unsigned int*[2]>& cell_faces
= m_connectivity.cellFaces();
double pi = 4.*std::atan(1.);
// Mise a jour de la vitesse et de l'energie totale specifique
const Kokkos::View<const double*> inv_mj = unknowns.invMj();
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
......@@ -447,17 +450,11 @@ public:
ej[j] = Ej[j] - 0.5 * (uj[j],uj[j]);
});
// met a jour les quantites (geometriques) associees au maillage
//m_mesh_data.updateAllData();
/*
// Calcul de rho avec la formule Mj = Vj rhoj
const Kokkos::View<const double*> mj = unknowns.mj();
// Calcul de T par la formule T = E-0.5 u^2
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
rhoj[j] = mj[j]/Vj[j];
Tj[j] = Ej[j] - 0.5 * (uj[j],uj[j]);
});
*/
}
// Calcul erreur entre solution analytique et solution numerique en norme L2
......
......@@ -456,7 +456,7 @@ public:
});
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
m_Tj[j] = 2 - 0.5*std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]); // k = x
m_Tj[j] = 2. - 0.5*std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]); // k = x
});
// Conditions aux bords de Dirichlet sur T et nu
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment