MFEM v4.7.0
Finite element discretization library
|
Class for setting up a simple Cartesian PML region. More...
#include <pml.hpp>
Public Member Functions | |
CartesianPML (Mesh *mesh_, const Array2D< real_t > &length_) | |
const Array2D< real_t > & | GetCompDomainBdr () |
Return Computational Domain Boundary. | |
const Array2D< real_t > & | GetDomainBdr () |
Return Domain Boundary. | |
const Array< int > & | GetMarkedPMLElements () |
Return Marker list for elements. | |
void | SetAttributes (Mesh *mesh_, Array< int > *attrNonPML=nullptr, Array< int > *attrPML=nullptr) |
Mark element in the PML region. | |
void | SetOmega (real_t omega_) |
void | SetEpsilonAndMu (real_t epsilon_, real_t mu_) |
void | StretchFunction (const Vector &x, std::vector< std::complex< real_t > > &dxs) |
PML complex stretching function. | |
Public Attributes | |
int | dim |
real_t | omega |
real_t | epsilon = 1.0 |
real_t | mu = 1.0 |
|
inline |