Class for setting up a simple Cartesian PML region.
More...
#include <pml.hpp>
Class for setting up a simple Cartesian PML region.
Definition at line 18 of file pml.hpp.
◆ CartesianPML()
mfem::CartesianPML::CartesianPML |
( |
Mesh * |
mesh_, |
|
|
const Array2D< double > & |
length_ |
|
) |
| |
Constructor of the PML region using the mesh mesh_ and the 2D array of size (dim,2) length_ which represents the length of the PML in each direction.
Definition at line 17 of file pml.cpp.
◆ GetCompDomainBdr()
const Array2D<double>& mfem::CartesianPML::GetCompDomainBdr |
( |
| ) |
|
|
inline |
Return Computational Domain Boundary.
Definition at line 52 of file pml.hpp.
◆ GetDomainBdr()
const Array2D<double>& mfem::CartesianPML::GetDomainBdr |
( |
| ) |
|
|
inline |
Return Domain Boundary.
Definition at line 55 of file pml.hpp.
◆ GetMarkedPMLElements()
const Array<int>& mfem::CartesianPML::GetMarkedPMLElements |
( |
| ) |
|
|
inline |
Return Marker list for elements.
Definition at line 58 of file pml.hpp.
◆ SetAttributes()
void mfem::CartesianPML::SetAttributes |
( |
Mesh * |
mesh_, |
|
|
Array< int > * |
attrNonPML = nullptr , |
|
|
Array< int > * |
attrPML = nullptr |
|
) |
| |
Mark element in the PML region.
Definition at line 68 of file pml.cpp.
◆ SetEpsilonAndMu()
void mfem::CartesianPML::SetEpsilonAndMu |
( |
double |
epsilon_, |
|
|
double |
mu_ |
|
) |
| |
|
inline |
◆ SetOmega()
void mfem::CartesianPML::SetOmega |
( |
double |
omega_ | ) |
|
|
inline |
◆ StretchFunction()
void mfem::CartesianPML::StretchFunction |
( |
const Vector & |
x, |
|
|
std::vector< std::complex< double >> & |
dxs |
|
) |
| |
PML complex stretching function.
Definition at line 128 of file pml.cpp.
◆ dim
int mfem::CartesianPML::dim |
◆ epsilon
double mfem::CartesianPML::epsilon = 1.0 |
◆ mu
double mfem::CartesianPML::mu = 1.0 |
◆ omega
double mfem::CartesianPML::omega |
The documentation for this class was generated from the following files: