getOptimalPMLSize
Find PML size to give the smallest prime factors.
Syntax
pml_sz = getOptimalPMLSize(grid_sz) pml_sz = getOptimalPMLSize(grid_sz, pml_range) pml_sz = getOptimalPMLSize(grid_sz, [], axisymmetric) pml_sz = getOptimalPMLSize(grid_sz, pml_range, axisymmetric)
Description
getOptimalPMLSize
finds the size of the perfectly matched layer (PML) that gives an overall grid size with the smallest prime factors when using the first-order simulation functions in k-Wave with the optional input 'PMLInside', false
. Choosing grid sizes with small prime factors can have a significant impact on the computational speed, as the code computes spatial gradients using the fast Fourier transform (FFT).
Inputs
|
Grid size defined as a one (1D), two (2D), or three (3D) element vector. Alternatively, can be an object of the kWaveGrid class defining the Cartesian and k-space grid fields. |
Optional Inputs
pml_range |
Two element vector specifying the minimum and maximum PML size (default = [10, 40] ). |
axisymmetric |
If using the axisymmetric code, string specifying the radial symmetry. Allowable inputs are 'WSWA' and 'WSWS' (default = []). This is important as the axisymmetric code only applies to the PML to the outside edge in the radial dimension. |
Outputs
pml_opt |
PML size that gives the overall grid with the smallest prime factors. |
See Also
fft