InternalModesAdaptiveSpectral
Solve the vertical EVP on an adaptive WKB grid with coupled Chebyshev blocks.
Declaration
classdef InternalModesAdaptiveSpectral < InternalModesWKBSpectralOverview
InternalModesAdaptiveSpectral extends
InternalModesWKBSpectral using the adaptive multi-region strategy
described in Section 4.4 of Early, Lelong, and Smith (2020). The
solver keeps the WKB stretched coordinate but partitions it into
oscillatory and evanescent regions, then couples separate Chebyshev
blocks across the turning points.
This is most useful at fixed frequency, where the turning points of \(N^2(z) - \omega^2\) can leave large regions that are exponentially decaying rather than oscillatory.
im = InternalModesAdaptiveSpectral(rho=rho, zIn=zIn, zOut=zOut, latitude=latitude, nEVP=257);
[F, G, h, k] = im.modesAtFrequency(2*pi*1e-3);
Topics
- Create and initialize modes
InternalModesAdaptiveSpectralInitialize the adaptive WKB spectral solver.
Developer Topics
These items document internal implementation details and are not part of the primary public API.
- Developer topics
Diff1_xChebFunctionDifferentiate a vector in the coupled Chebyshev basis.DistributePointsInRegionsWithMinimumDistribute collocation points across adaptive regions.FindWKBSolutionBoundariesEstimate adaptive-region boundaries from turning points and WKB decay.LxiLength of each coupled subdomain in the adaptive coordinate.N_zChebChebyshev coefficients of \(N(z)\) on the reference grid.RemoveRegionAtIndexMerge neighboring adaptive regions by removing one boundary.T_xCheb_xLobattoTransform coupled Chebyshev coefficients onto the adaptive Lobatto grid.T_xCheb_zOutFunctionTransform coupled Chebyshev coefficients onto the public output grid.T_xCheb_zOut_TransformsPer-region transforms from Chebyshev coefficients tozOut.T_xCheb_zOut_fromIndicesSource indices in coefficient space for each output transform.T_xCheb_zOut_toIndicesTarget indices inzOutfor each output transform.T_xLobatto_xChebTransform adaptive-grid values into the coupled Chebyshev basis.WKBDecaySolutionEvaluate the Airy-based WKB decay envelope used for pruning regions.eqIndicesRow indices for each coupled subproblem.nEquationsNumber of coupled Chebyshev subproblems.polyIndicesColumn indices for each coupled Chebyshev block.x_zLobattoAdaptive stretched-coordinate grid sampled on the public Lobatto grid.xiBoundariesWKB-coordinate values of region boundaries and turning points.xiIndicesGrid-point indices into the unique adaptive Lobatto grid.zBoundariesPhysical depths of region boundaries and turning points.