Skip to content

10: Variable Bathymetry Support #20

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

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

    coreEssential functionality

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions