Examples¶
OASIS includes a systematic test suite organised into 10 functional groups. Each group isolates a specific subsystem so that every feature can be tested independently. The examples also serve as working configurations you can adapt for your own projects.
Running Examples¶
Shared Data¶
Hydrodynamic databases are stored in examples/data/ and shared across examples:
| File | Bodies | Used by |
|---|---|---|
one_box.hydb.h5 |
1 box | Most body/lines/springs examples |
two_boxes.hydb.h5 |
2 boxes | Multi-body examples |
trl_plus.hydb.h5 |
1 platform | Turbine examples |
isobara_owcs.hydb.h5 |
7 (1 floater + 6 OWCs) | OWC examples |
These .hydb.h5 files are produced by SeaMotions, an open-source BEM solver by IHCantabria. Refer to the SeaMotions repository if you need to compute hydrodynamic databases for your own geometry.
Functional Groups¶
1. Body Behavior (body/)¶
Floating body dynamics: free decay, fixed/partial DOFs, imposed motion, radiation, excitation, nonlinear hydrostatics, and QTF (Quadratic Transfer Function).
| Example | Feature tested |
|---|---|
free_decay |
Body released from offset, no waves |
fixed |
All DOFs locked, wave forces measured |
partial_dofs |
Subset of DOFs active |
imposed_motion |
Prescribed motion from file |
radiation |
Radiation force convolution |
excitation_linear |
First-order wave excitation (linear) |
excitation_instantpos |
Excitation at instantaneous position |
nonlinear_hs_flat |
Nonlinear hydrostatics (flat water) |
nonlinear_hs_waves |
Nonlinear hydrostatics with wave surface |
qtf |
Second-order slow-drift forces |
2. Wave Types (waves/)¶
Regular, irregular, and multi-directional seas.
| Example | Feature tested |
|---|---|
regular |
Monochromatic regular wave |
jonswap |
JONSWAP spectrum |
jonswap_piecewise |
Piecewise-decomposed JONSWAP |
multidirectional |
Multi-directional spreading |
timeseries |
Wave from time-series file |
frequency_domain |
Wave from frequency-domain file |
3. Mooring Lines (lines/)¶
Dynamic mooring lines with varied configurations.
| Example | Feature tested |
|---|---|
single_line |
Single catenary line |
multi_line |
Multi-line spread mooring |
joint_connection |
Lines connected via JointBCP |
elastic_anchor |
Anchor with elastic spring |
prescribed_motion |
Actuator-driven fairlead |
viscoelastic |
Viscoelastic material model |
tabulated_stiffness |
Tabulated force-strain curve |
tension_symmetric |
Symmetric tension/compression |
seabed_contact |
Ground contact model |
friction_isotropic |
Isotropic seabed friction |
friction_anisotropic |
Anisotropic seabed friction |
4. Springs & Connectors (springs/)¶
| Example | Feature tested |
|---|---|
pile_connector |
Pile-to-anchor spring with friction |
neoprene_connector |
Body-to-body neoprene+wire connection |
5. Wind Turbines (turbines/)¶
OpenFAST coupling.
| Example | Feature tested |
|---|---|
fixed_turbine |
Turbine on fixed-foundation body |
moored_turbine |
Turbine on moored floating platform |
6. Oscillating Water Columns (owcs/)¶
Work in Progress
OWC examples are under active development.
| Example | Feature tested |
|---|---|
free_decay |
OWC chamber free oscillation |
excitation |
Wave excitation on OWC |
hole_coupling |
Pneumatic coupling through orifice |
turbine_coupling |
OWC with Wells/impulse turbine |
7. Sinking (sinking/)¶
| Example | Feature tested |
|---|---|
progressive_flooding |
Compartment flooding and sinking |
8. Multi-Body (multibody/)¶
| Example | Feature tested |
|---|---|
shared_hydb |
Two bodies from one multi-body HDB |
separate_hydb |
Two bodies from individual HDBs |
9. ODE Solvers (solvers/)¶
Comparison of integration methods on a cable with circular actuator motion.
| Example | Solver |
|---|---|
bdf1 |
BDF order 1 (backward Euler) |
bdfn_order2 |
BDF order 2 |
bdfn_order4 |
BDF order 4 |
esdirk46 |
ESDIRK 4th order, 6 stages |
10. Winches (winches/)¶
| Example | Feature tested |
|---|---|
horizontal_control |
Surge/sway/yaw positioning with state-space controller |
Example Layout¶
Each example follows a standard structure:
<group>/<test_name>/
├── input/
│ ├── dataProblem.dat # Simulation parameters
│ ├── dataBodies.dat # Body definitions
│ ├── dataBCPs.dat # Boundary condition points
│ ├── dataWaves.dat # Wave configuration
│ └── ... # Optional subsystem files
├── output/ # Created by OASIS
├── run.bat # Windows runner
└── run.sl # Linux/SLURM runner
YAML equivalents are available for some examples (e.g., free_decay_yaml/, fixed_yaml/).