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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions