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

correction solution exacte gnuplot et CL pour k non constant

parent 6abd6aa3
No related branches found
No related tags found
No related merge requests found
......@@ -227,7 +227,8 @@ int main(int argc, char *argv[])
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
fout << xj[j][0] << ' ' << Ej[j] << ' ' << (0.5*pi*pi*xj[j][0]*(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]) - std::cos(pi*xj[j][0])*std::cos(pi*xj[j][0])) - cos(xj[j][0])*sin(xj[j][0])*pi*0.5)*(std::exp(-2.*0.2) - 1.) + 2. <<'\n' ; // cas k non constant
fout << xj[j][0] << ' ' << Ej[j] << ' ' << ((xj[j][0]*pi*pi*0.5)*(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]) - std::cos(xj[j][0]*pi)*std::cos(pi*xj[j][0])) - pi*0.5*std::sin(pi*xj[j][0])*std::cos(pi*xj[j][0]))*(std::exp(-2.*0.2)-1.) + 2. <<'\n' ; // cas k non constant
}
}
......
......@@ -364,7 +364,7 @@ public:
double exact_E = 0.;
for (size_t j=0; j<m_mesh.numberOfCells(); ++j) {
//exact_E = (-(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.;
exact_E = (0.5*pi*pi*xj[j][0]*(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]) - std::cos(pi*xj[j][0])*std::cos(pi*xj[j][0])) - cos(xj[j][0])*sin(xj[j][0])*pi*0.5)*(std::exp(-2.*0.2) - 1.) + 2;
exact_E = ((xj[j][0]*pi*pi*0.5)*(std::sin(pi*xj[j][0])*std::sin(pi*xj[j][0]) - std::cos(xj[j][0]*pi)*std::cos(pi*xj[j][0])) - pi*0.5*std::sin(pi*xj[j][0])*std::cos(pi*xj[j][0]))*(std::exp(-2.*0.2)-1.) + 2.;
err_E += (exact_E - Ej[j])*(exact_E - Ej[j])*Vj(j);
}
err_E = std::sqrt(err_E);
......@@ -406,6 +406,8 @@ public:
const Kokkos::View<const double*> Vj = m_mesh_data.Vj();
const Kokkos::View<const Rd*> xj = m_mesh_data.xj();
double sum = 0.;
for (size_t j=0; j<m_mesh.numberOfCells(); ++j) {
......
......@@ -288,8 +288,8 @@ void initializeSod()
m_uL[0] = zero;
m_uR[0] = zero;
m_kL[0] = 2.;
m_kR[0] = 2.;
m_kL[0] = 0.;
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