InternalModesBase

Define the shared contract for all internal-mode solvers.


Declaration

classdef (Abstract) InternalModesBase < handle

Overview

InternalModesBase is the abstract base class for the concrete solver implementations. It stores the common physical parameters, normalization choices, and boundary-condition state, and it defines the shared public interface for requesting modes at fixed wavenumber or fixed frequency.

Following Section 2.3 of Early, Lelong, and Smith (2020), the package centers on the vertical structure functions \(F_j(z)\) and \(G_j(z)\) with equivalent depths \(h_j\), connected by

\[(N^2 - \omega^2) G_j = -g \, \partial_z F_j, \qquad F_j = h_j \, \partial_z G_j.\]

Concrete subclasses solve either the fixed-\(K\) or fixed-\(\omega\) eigenvalue problems using spectral, finite-difference, analytical, or WKB-based formulations, but they all expose the same shared state documented here.

Topics

  • Inspect grids and stratification
    • Lz Total water-column depth \(D = zMax - zMin\).
    • N2 Buoyancy frequency squared sampled on zOut.
    • f0 Coriolis parameter at the selected latitude.
    • latitude in degrees used to compute f0.
    • rho Background density sampled on zOut.
    • rho0 Reference surface density.
    • rho_z First depth derivative of the background density sampled on zOut.
    • rho_zz Second depth derivative of the background density sampled on zOut.
    • rotationRate Planetary rotation rate in radians per second.
    • z Output depth grid on which public profiles and modes are returned.
    • zDomain Two-element depth domain [zMin zMax].
    • zMax Maximum depth in zDomain.
    • zMin Minimum depth in zDomain.
  • Configure normalization and boundaries
  • Compute modes

Developer Topics

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