Get Quartic PML profile
Package: kwave.toolbox Class: kwave.toolbox.SplitFieldPML
Return quartic PML profile.
Syntax
profile = kwave.toolbox.SplitFieldPML.getQuarticPMLProfile(numGridPoints, gridSpacing, timeStep, soundSpeed, options)
Description
Static function that returns the 1D perfectly matched layer (PML) profile defined in https://doi.org/10.1121/1.1421344 (Equation 27), where the absorption grows with the fourth power of the grid position within the PML. Note, the PML profile is transformed as described in the reference, where the profile is exponentiated and scaled by the time step size.
Input Arguments
numGridPoints- (integer) Total number of grid points in the profile including the PML.gridSpacing- (numeric) Grid point spacing [m].timeStep- (numeric) Time step [s].soundSpeed- (numeric) Sound speed in the PML [m/s].
Name-Value Arguments
Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.
Axisymmetric- (logical) If true, the PML profile isn't applied to the axial side (beginning) of the PML. Default = false.Dimension- (integer) Direction of the pml vector (1, 2, or 3).PMLAlpha- (numeric) Absorption coefficient within the PML [Nepers per grid point]. Default = 2.PMLSize- (integer) Size of the PML on each side of the grid [grid points]. Default = 10.Staggered- (logical) If true, the PML profile is defined for a grid staggered by half the grid point spacing. Default = false.
Output Arguments
profile- (numeric) PML profile.
See Also
kwave.toolbox.setupQuarticPML