![]() |
|
#include <pml_fourier_decomposed_helmholtz_elements.h>
Public Member Functions | |
BermudezPMLMappingAndTransformedCoordinate () | |
Default constructor (empty) More... | |
std::complex< double > | gamma (const double &nu_i, const double &pml_width_i, const double &k_squared) |
std::complex< double > | transformed_coordinate (const double &nu_i, const double &pml_width_i, const double &pml_inner_boundary, const double &k_squared) |
![]() | |
PMLMappingAndTransformedCoordinate () | |
Default constructor (empty) More... | |
The mapping function propsed by Bermudez et al, appears to be the best and so this will be the default mapping (see definition of PMLHelmholtzEquations)
|
inline |
|
inlinevirtual |
Overwrite the pure PML mapping coefficient function to return the mapping function proposed by Bermudez et al
return \(\gamma=1 + (1/k)(i/|outer_boundary - x|)\) or more abstractly \(\gamma = 1 + \frac i {k\delta_{pml}}(1/|1-\bar\nu|)\)
Implements oomph::PMLMappingAndTransformedCoordinate.
References boost::multiprecision::fabs(), and sqrt().
|
inlinevirtual |
Overwrite the pure PML mapping coefficient function to return the transformed coordinate proposed by Bermudez et al
return \(\tilde x = h + \nu + \log(1-|\nu / \delta|)\)
Implements oomph::PMLMappingAndTransformedCoordinate.
References boost::multiprecision::fabs(), Eigen::bfloat16_impl::log(), and sqrt().