Skip to content

10: Variable Bathymetry Support #20

@philipnickel

Description

@philipnickel

Description

Extend the solver to support spatially varying water depth h(x). This is required for the submerged bar benchmark.

Background

With variable bathymetry:

  • d(x,t) = η(x,t) + h(x)
  • K matrix components now vary with x through both η and h
  • May want to align element boundaries with bathymetry discontinuities (slope changes)

Tasks

  • Modify depth from scalar to function/array h(x)
  • Update d(x) computation to use h(x)
  • Update K matrix computation
  • Implement piecewise linear bathymetry definition
  • Test with simple sloping bottom
  • Test with bar geometry

Acceptance Criteria

  • Constant h(x) = h₀ gives same result as before
  • Sloping bottom: solution remains physical (no instability)
  • Bar geometry: waves shoal and steepen as expected
  • No spurious reflections from bathymetry changes

Technical Notes

  • Consider placing element boundaries at slope transitions
  • The bottom BC ∂ₙΦ = 0 should still be natural in weak form
  • Sharp bathymetry changes may need special treatment

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreEssential functionality

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions