How sander-w/breakwater works
breakwater is a Python package for conceptual breakwater design. Its principal workflow is to define hydraulic limit states and materials, choose a rubble-mound or caisson concept, compute design variants, and inspect the resulting concept. It also supports batches of configurations and an interactive parameter-tuning application; core calculation modules are exposed for custom automation. The README documents additional multi-criteria/DesignExplorer assessment, and the tree includes a breakwater database. Sampled excerpts are partial, so uncertain subsystem wiring is omitted.
Main entry points: __init__.py Package API · rubble.py Rubble mound · caisson.py Caisson · design.py Configurations
Components 23
Design inputs
- Limit states
breakwater/conditions.py - Materials
breakwater/material.py - Wave utilities
breakwater/utils/wave.py
Concept design
- Configurations
breakwater/design.py - Rubble mound
breakwater/rubble.py - Caisson
breakwater/caisson.py
Engineering analysis
- Stability methods
breakwater/core/stability.py - Overtopping methods
breakwater/core/overtopping.py - Toe stability
breakwater/core/toe.py - Goda methods
breakwater/core/goda.py - Soil analysis
breakwater/core/soil.py - Bishop analysis
breakwater/core/bishop.py
Design exploration
- Interactive entry
breakwater/interactive.py - Interactive UI
breakwater/app/main.py - Parameter controls
breakwater/app/input.py - Design view
breakwater/app/interactive.py - Cost estimates
breakwater/utils/cost.py - DesignExplorer export
breakwater/utils/_design_explorer.py
Reference data
- Breakwater database
breakwater/database/database.py
Other components
- Designer
- Package API
breakwater/__init__.py - Reference database site
- DesignExplorer
Connections 33
- Designer → Package API: uses
- Package API → Limit states: exposes
- Package API → Materials: exposes
- Package API → Configurations: exposes
- Package API → Rubble mound: exposes
- Package API → Caisson: exposes
- Package API → Interactive entry: exposes
- Package API → Wave utilities: exposes
- Designer → Limit states: defines
- Designer → Materials: defines
- Designer → Wave utilities: computes waves
- Designer → Rubble mound: designs
- Designer → Caisson: designs
- Designer → Configurations: configures
- Configurations → Rubble mound: constructs
- Configurations → Caisson: constructs
- Rubble mound → Stability methods: uses
- Rubble mound → Toe stability: uses
- Rubble mound → Overtopping methods: uses
- Caisson → Goda methods: uses
- Caisson → Overtopping methods: uses
- Caisson → Toe stability: uses
- Designer → Interactive entry: starts
- Interactive entry → Interactive UI: launches
- Interactive UI → Parameter controls: hosts
- Interactive UI → Design view: hosts
- Configurations → Cost estimates: estimates cost
- Designer → DesignExplorer export: exports concepts
- DesignExplorer export → DesignExplorer: opens in
- Designer → Breakwater database: queries
- Breakwater database → Reference database site: updates from
- Designer → Soil analysis: uses directly
- Designer → Bishop analysis: uses directly