Skip to content

Need to document the available solver method options for ImplicitFreeSurface solvers #2620

@navidcy

Description

@navidcy

"""
ImplicitFreeSurface(; solver_method=:Default, gravitational_acceleration=g_Earth, solver_settings...)
The implicit free-surface equation is
```math
\\left [ 𝛁_h ⋅ (H 𝛁_h) - \\frac{1}{g Δt^2} \\right ] η^{n+1} = \\frac{𝛁_h ⋅ 𝐐_⋆}{g Δt} - \\frac{η^{n}}{g Δt^2} ,
```
where ``η^n`` is the free-surface elevation at the ``n``-th time step, ``H`` is depth, ``g`` is
the gravitational acceleration, ``Δt`` is the time step, ``𝐐_⋆`` is the barotropic volume flux
associated with the predictor velocity field, and ``𝛁_h`` is the horizontal gradient operator.
This equation can be solved in general using the [`PreconditionedConjugateGradientSolver`](@ref).
In the case that ``H`` is constant, we divide through to obtain
```math
\\left ( ∇^2_h - \\frac{1}{g H Δt^2} \\right ) η^{n+1} = \\frac{1}{g H Δt} \\left ( 𝛁_h ⋅ 𝐐_⋆ - \\frac{η^{n}}{Δt} \\right ) .
```
Thus, for constant ``H`` and on grids with regular spacing in ``x`` and ``y`` directions, the free
surface can be obtained using the `FFTImplicitFreeSurfaceSolver`.
"""

cc: @elise-palethorpe

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions