Skip to content

3: Gradient Recovery for Vertical Velocity #13

@philipnickel

Description

@philipnickel

Description

Implement gradient recovery to compute the vertical velocity at the free surface, w̃ = ∂_z φ|_{z=η}. This is essential for evaluating the free surface evolution equations.

Background

In σ-coordinates, the vertical velocity is:

w̃ = ∂_z φ|_{z=η} = (1/d) · ∂_σ Φ|_{σ=1}

The gradient recovery extracts ∂_σ Φ at the surface and converts to physical coordinates.

Tasks

  • Extract surface node indices (σ = 1)
  • Apply differentiation matrix D_σ to compute ∂_σ Φ
  • Extract surface values of ∂_σ Φ
  • Compute w̃ = (1/d) · ∂_σ Φ|_{σ=1}
  • Implement analytical w for Airy wave comparison
  • Add validation test

Acceptance Criteria

  • Constant Φ field gives w̃ = 0 (to machine precision)
  • For Airy wave: w̃ matches analytical within 1% for P ≥ 6
  • Error in w̃ decreases with increasing resolution
  • Spectral convergence demonstrated

Optional Enhancement

  • Implement L² projection smoothing if direct differentiation is noisy
    • Solve: M · w = S · Φ for smooth w

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreEssential functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions