Skip to content
Snippets Groups Projects
Commit c73a8047 authored by Anthony Royer's avatar Anthony Royer
Browse files

Working PML with hetero

parent 4891ec01
No related branches found
No related tags found
No related merge requests found
Pipeline #10017 passed
......@@ -389,7 +389,7 @@ namespace D2 {
sigma = sigmaStar * distSigma * distSigma / (_size * _size);
}
gmshfem::function::ScalarFunction< std::complex< double > > kMod = 1.;// + im * sigma;
gmshfem::function::ScalarFunction< std::complex< double > > kMod = 1. + im * sigma / kappaMod;
if(orientation() == "E" || orientation() == "W") {
D = gmshfem::function::tensorDiag< std::complex< double > >(1./kMod, kMod, kMod);
E = kMod;
......
......@@ -314,7 +314,7 @@ namespace D2 {
sigma = sigmaStar * distSigma * distSigma / (_size * _size);
}
gmshfem::function::ScalarFunction< std::complex< double > > gamma = 1. + im * sigma;
gmshfem::function::ScalarFunction< std::complex< double > > gamma = 1. + im * sigma / kappaP;
gmshfem::function::ScalarFunction< std::complex< double > > invGamma = 1./gamma;
if(orientation() == "E" || orientation() == "W") {
gmshfem::function::TensorFunction< std::complex< double > > C_1 = gmshfem::function::tensor< std::complex< double > >(invGamma, invGamma, invGamma,
......@@ -385,7 +385,7 @@ namespace D2 {
sigma = sigmaStar * distSigma * distSigma / (_size * _size);
}
gmshfem::function::ScalarFunction< std::complex< double > > kMod = 1. + im * sigma;
gmshfem::function::ScalarFunction< std::complex< double > > kMod = 1. + im * sigma / kappaP;
if(orientation() == "E" || orientation() == "W") {
D = gmshfem::function::tensorDiag< std::complex< double > >(1./kMod, kMod, kMod);
E = kMod;
......@@ -467,8 +467,8 @@ namespace D2 {
for(int k = 0; k < 3; ++k) {
for(int l = 0; l < 3; ++l) {
if(i == k && j == l) {
tmpX(i,j)(k,l) += 1.;
tmpY(i,j)(k,l) += 1.;
tmpX(i,j)(k,l) = 1.;
tmpY(i,j)(k,l) = 1.;
}
else {
tmpX(i,j)(k,l) = 0.;
......@@ -914,8 +914,8 @@ namespace D2 {
for(int k = 0; k < 3; ++k) {
for(int l = 0; l < 3; ++l) {
if(i == k && j == l) {
tmpX(i,j)(k,l) += 1.;
tmpY(i,j)(k,l) += 1.;
tmpX(i,j)(k,l) = 1.;
tmpY(i,j)(k,l) = 1.;
}
else {
tmpX(i,j)(k,l) = 0.;
......
......@@ -440,7 +440,7 @@ namespace D2 {
}
}
gmshfem::function::TensorFunction< std::complex< double > > Cxx = gmshfem::function::tensor< std::complex< double > >(p1, 0., 0., 0., p3, 0., 0., 0., p3);
gmshfem::function::TensorFunction< std::complex< double > > Cxx = gmshfem::function::tensor< std::complex< double > >(p1, 0., 0., 0., p3, 0., 0., 0., 0.);
gmshfem::function::TensorFunction< std::complex< double > > Cxy = gmshfem::function::tensor< std::complex< double > >(0., p2, 0., p2, 0., 0., 0., 0., 0.);
gmshfem::function::TensorFunction< std::complex< double > > Cyx = gmshfem::function::tensor< std::complex< double > >(0., p2, 0., p2, 0., 0., 0., 0., 0.);
gmshfem::function::TensorFunction< std::complex< double > > Cyy = gmshfem::function::tensor< std::complex< double > >(p3, 0., 0., 0., p1, 0., 0., 0., 0.);
......@@ -892,8 +892,8 @@ namespace D2 {
unsigned int index = i * nDomY + j;
if(gmshddm::mpi::isItMySubdomain(index)) {
if(saveU) {
gmshfem::post::save(xComp(u(index)), omega(index), "ux_" + std::to_string(index), "msh", "/scratch/ulg/ace/aroyer/pml/");
gmshfem::post::save(yComp(u(index)), omega(index), "uy_" + std::to_string(index), "msh", "/scratch/ulg/ace/aroyer/pml/");
gmshfem::post::save(xComp(u(index)), omega(index), "ux_" + std::to_string(index), "pos", "/scratch/ulg/ace/aroyer/pml/");
gmshfem::post::save(yComp(u(index)), omega(index), "uy_" + std::to_string(index), "pos", "/scratch/ulg/ace/aroyer/pml/");
//gmshfem::post::save(tr(grad(u(index))), omega(index), "uP_" + std::to_string(index), "msh");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment