InternalModesSpectral

Solve the vertical internal-mode EVP with Chebyshev collocation.


Declaration

classdef InternalModesSpectral < InternalModesBase

Overview

InternalModesSpectral is the core numerical solver described in Sections 4 and 5 of Early, Lelong, and Smith (2020). It represents the vertical structure on a Gauss-Lobatto grid and solves the manuscript eigenvalue problems

\[\partial_{zz} G_j - K^2 G_j = \frac{f_0^2 - N^2}{g h_j} G_j\]

for fixed \(K\), or

\[\partial_{zz} G_j = \frac{\omega^2 - N^2}{g h_j} G_j\]

for fixed \(\omega\), together with

\[F_j = h_j \partial_z G_j.\]

The solver stores background fields on the user-facing output grid z, but internally works with a spectral grid and exact integrals of Chebyshev polynomials for mode normalization. Subclasses reuse this machinery in stretched coordinates while preserving the same public mode API.

im = InternalModesSpectral(rho=rho, zIn=zIn, zOut=zOut, latitude=latitude, nEVP=257);
[F, G, h, omega] = im.modesAtWavenumber(2*pi/1000);

Topics

Developer Topics

These items document internal implementation details and are not part of the primary public API.