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

changement type Gjr

parent e03c6d00
No related branches found
No related tags found
No related merge requests found
...@@ -91,7 +91,7 @@ private: ...@@ -91,7 +91,7 @@ private:
return m_Fjr; return m_Fjr;
} }
Kokkos::View<Rd**> // Fonction qui calcule G_jr Kokkos::View<double**> // Fonction qui calcule G_jr
computeGjr(const Kokkos::View<const Rd*>& uj, computeGjr(const Kokkos::View<const Rd*>& uj,
const Kokkos::View<const double*>& Fjr) { const Kokkos::View<const double*>& Fjr) {
const Kokkos::View<const unsigned int**>& cell_nodes = m_connectivity.cellNodes(); const Kokkos::View<const unsigned int**>& cell_nodes = m_connectivity.cellNodes();
...@@ -100,7 +100,7 @@ private: ...@@ -100,7 +100,7 @@ private:
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) { Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j) {
for (int r=0; r<cell_nb_nodes[j]; ++r) { for (int r=0; r<cell_nb_nodes[j]; ++r) {
m_Gjr(j,r) = ((uj(cell_nodes(j,r)) + uj(cell_nodes(j,r)-1))/2)*Fjr(j,r); m_Gjr(j,r) = (uj(cell_nodes(j,r)) + uj(cell_nodes(j,r)-1))*0.5*Fjr(j,r);
} }
}); });
...@@ -136,12 +136,12 @@ private: ...@@ -136,12 +136,12 @@ private:
const Kokkos::View<const double*>& kj) { const Kokkos::View<const double*>& kj) {
Kokkos::View<Rd**> Fjr = m_Fjr; Kokkos::View<Rd**> Fjr = m_Fjr;
Fjr = computeFjr(Cjr, uj, kj); Fjr = computeFjr(Cjr, uj, kj);
Kokkos::View<Rd**> Gjr = m_Gjr; Kokkos::View<double**> Gjr = m_Gjr;
Gjr = computeGjr(uj, Fjr); Gjr = computeGjr(uj, Fjr);
} }
Kokkos::View<Rd**> m_Fjr; Kokkos::View<Rd**> m_Fjr;
Kokkos::View<Rd**> m_Gjr; Kokkos::View<double**> m_Gjr;
Kokkos::View<double*> m_CFL; Kokkos::View<double*> m_CFL;
public: public:
...@@ -162,12 +162,12 @@ public: ...@@ -162,12 +162,12 @@ public:
KOKKOS_INLINE_FUNCTION KOKKOS_INLINE_FUNCTION
double diffusion_dt(const Kokkos::View<const double*>& Vj, double diffusion_dt(const Kokkos::View<const double*>& Vj,
const Kokkos::View<const double*>& rhoj, const Kokkos::View<const double*>& rhoj,
const Kokkos::View<const Rd*>& kj) const { const Kokkos::View<const double*>& kj) const {
Kokkos::View<double*> dt_j("dt_j", m_mesh.numberOfCells()); Kokkos::View<double*> dt_j("dt_j", m_mesh.numberOfCells());
const Kokkos::View<const Rd*> xj = m_mesh_data.xj(); const Kokkos::View<const Rd*> xj = m_mesh_data.xj();
Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){ Kokkos::parallel_for(m_mesh.numberOfCells(), KOKKOS_LAMBDA(const int& j){
m_CFL(j) = rhoj(j)*Vj(j)*min(xj(j+1)-xj(j), xj(j)-xj(j-1))*(2./(kj(j+1) + 2*kj(j) + kj(j-1))); m_CFL(j) = rhoj(j)*Vj(j)*std::min(xj(j+1)-xj(j), xj(j)-xj(j-1))*(2./(kj(j+1) + 2*kj(j) + kj(j-1)));
}); });
double dt = std::numeric_limits<double>::max(); double dt = std::numeric_limits<double>::max();
...@@ -195,10 +195,10 @@ public: ...@@ -195,10 +195,10 @@ public:
Kokkos::View<Rd*> xr = m_mesh.xr(); Kokkos::View<Rd*> xr = m_mesh.xr();
// Calcule les flux // Calcule les flux
computeExplicitFluxes(xr, xj, rhoj, uj, Cjr); computeExplicitFluxes(xr, xj, rhoj, uj, Cjr,kj);
const Kokkos::View<const Rd**> Fjr = m_Fjr; const Kokkos::View<const Rd**> Fjr = m_Fjr;
const Kokkos::View<const Rd**> Gjr = m_Gjr; const Kokkos::View<const double**> Gjr = m_Gjr;
const Kokkos::View<const unsigned short*> cell_nb_nodes const Kokkos::View<const unsigned short*> cell_nb_nodes
= m_connectivity.cellNbNodes(); = m_connectivity.cellNbNodes();
const Kokkos::View<const unsigned int**>& cell_nodes const Kokkos::View<const unsigned int**>& cell_nodes
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment