Skip to content

8: Stabilization for Steep Waves #18

Description

@philipnickel

Description

Implement stabilization techniques to enable simulation of steep, strongly nonlinear waves. The quartic nonlinear terms cause aliasing that leads to instability without proper treatment.

Background

From the paper: Neither over-integration alone nor filtering alone is sufficient. Both are required for steep waves (H/L ≈ 90% of breaking).

Over-integration: Evaluate nonlinear products on finer grid (2P) to prevent aliasing.

Spectral filtering: Gently damp highest modes to dissipate residual energy accumulation.

Tasks

  • Over-integration implementation
    • Build LGL nodes for order 2P
    • Build interpolation matrix I: P+1 → 2P+1
    • Build L² projection matrix: 2P+1 → P+1
    • Modify RHS to compute products on fine grid
  • Spectral filter implementation
    • Compute filter coefficients σ(i) with exponential rolloff
    • Build filter matrix F = V·diag(σ)·V⁻¹
    • Apply filter to η, φ̃ after each time step
  • Stability testing with increasing wave steepness

Acceptance Criteria

  • H/L = 10%: Stable without stabilization (baseline)
  • H/L = 50%: Stable with stabilization
  • H/L = 90%: Stable with both over-integration AND filter
  • Stabilization does not degrade accuracy for mild waves (H/L = 10%)
  • Cost overhead < 20% compared to unstabilized version

Filter Parameters (suggested starting point)

Cutoff: i_c = 0.9 * P
Strength: α = 0.05 (5% at highest mode)
Order: s = 1 (exponential)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    stabilityNumerical stability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions