Acoustic FDTD Solver
Public Member Functions | Private Attributes | List of all members
PML Class Reference

Use the complex frequency shifted PML as the acoustic absorbing boundary condition. More...

#include <PML.hpp>

Public Member Functions

 PML ()
 PML (unsigned nLayers, double xi_ratio, double kappa_max, double alpha_max)
 PML (unsigned nLayers, double xi_ratio)
 This is effectively the U-PML.
double getAlpha (const double delta, const unsigned i, const int flag) const
double getXi (const double delta, const unsigned i, const int flag) const
 Calculate $\xi$.
double getKappa (const double delta, const unsigned i, const int flag) const
unsigned getnLayers () const

Private Attributes

unsigned N
double xi_rat
 ratio between the maxium $\xi$ and the loss proposed in (7.62) in [Taflove2005].
double ka_max
 maxium value of $\kappa$.
double al_max
 maxium value of $\alpha$.
unsigned m
 order of the polynomial used to find the profile of $\xi$ and $\kappa$.
unsigned m_alpha
 order of the polynomial used to find the profile of $\alpha$.

Detailed Description

Use the complex frequency shifted PML as the acoustic absorbing boundary condition.

Constructor & Destructor Documentation

PML::PML ( )
PML::PML ( unsigned  nLayers,
double  xi_ratio,
double  kappa_max,
double  alpha_max 
)
Parameters
nLayers
xi_ratioratio between the maximum $\xi$ to be used in the PML region and the optimal loss (denoted as $\sigma$) proposed in (7.62) in [Taflove2005].
kappa_max
alpha_max
PML::PML ( unsigned  nLayers,
double  xi_ratio 
)

This is effectively the U-PML.

PML:ka_max is set to 1 and PML::al_max is set to 0.0.

Member Function Documentation

double PML::getAlpha ( const double  delta,
const unsigned  i,
const int  flag 
) const
double PML::getKappa ( const double  delta,
const unsigned  i,
const int  flag 
) const
unsigned PML::getnLayers ( ) const
double PML::getXi ( const double  delta,
const unsigned  i,
const int  flag 
) const

Calculate $\xi$.

Parameters
deltaspatial increment in the PML region
iidentify the i-th PML layer
flagidentify the face

Member Data Documentation

double PML::al_max
private

maxium value of $\alpha$.

double PML::ka_max
private

maxium value of $\kappa$.

unsigned PML::m
private

order of the polynomial used to find the profile of $\xi$ and $\kappa$.

Fixed to 3.

unsigned PML::m_alpha
private

order of the polynomial used to find the profile of $\alpha$.

Fixed to 1.

unsigned PML::N
private
double PML::xi_rat
private

ratio between the maxium $\xi$ and the loss proposed in (7.62) in [Taflove2005].


The documentation for this class was generated from the following files: