| name | hydrodynamics |
| description | Manage hydrodynamic coefficients, wave spectra, and environmental loading for vessel response analysis. Use for 6×6 matrix management, wave spectrum modeling, OCIMF loading calculations, and RAO interpolation. |
| type | reference |
| updated | 2026-01-07 |
| capabilities | [] |
| requires | [] |
| tags | [] |
| scripts_exempt | true |
| category | engineering |
| version | 1.0.0 |
Hydrodynamics
When to Use
- 6×6 added mass and damping matrix management
- Wave spectrum modeling (JONSWAP, Bretschneider, PM)
- OCIMF wind and current loading calculations
- RAO interpolation and frequency-dependent coefficients
- Hydrodynamic coefficient database management
- Kramers-Kronig causality validation
Prerequisites
- Python environment with
digitalmodel package installed
- Hydrodynamic coefficient data (from AQWA, WAMIT, etc.)
- Environmental data for wave/wind/current loading
Python API
Coefficient Database
from digitalmodel.hydrodynamics.coefficient_database import CoefficientDatabase
db = CoefficientDatabase()
db.store(
vessel_name="FPSO",
frequency=0.1,
*See sub-skills for full details.*
```python
from digitalmodel.hydrodynamics.freq_dependent import FrequencyDependentMatrix
fdm = FrequencyDependentMatrix()
fdm.load("hydro_data.json")
A_interp = fdm.interpolate_added_mass(frequency=0.15)
B_interp = fdm.interpolate_damping(frequency=0.15)
A_inf = fdm.get_infinite_frequency_added_mass()
Wave Spectra
from digitalmodel.hydrodynamics.wave_spectra import WaveSpectra
spectrum = WaveSpectra()
frequencies, S = spectrum.jonswap(
hs=3.5,
tp=10.0,
gamma=3.3,
freq_min=0.02,
*See sub-skills full details.*
```python
digitalmodel.hydrodynamics.ocimf_loading OCIMFLoading
ocimf = OCIMFLoading()
vessel = {
: ,
: ,
*See sub-skills full details.*
```python
digitalmodel.hydrodynamics.interpolator CoefficientsInterpolator
interp = CoefficientsInterpolator()
interp.load_raos()
*See sub-skills full details.*
```python
digitalmodel.hydrodynamics.validation HydroValidator
validator = HydroValidator()
validator.load_coefficients()
*See sub-skills full details.*
```python
yaml
digitalmodel.marine_ops.marine_analysis (
RAODataValidators,
VesselType,
DisplacementRAOQualityReport
)
digitalmodel.marine_ops.marine_analysis.rao_quality_report RAOQualityReportGenerator
*See sub-skills full details.*
| Class | Purpose |
|-------|---------|
| `CoefficientDatabase` | Coefficient storage retrieval |
| `FrequencyDependentMatrix` | × matrix interpolation |
| `WaveSpectra` | Spectrum generation (JONSWAP, PM, etc.) |
| `OCIMFLoading` | OCIMF wind/current calculations |
| `CoefficientsInterpolator` | 2D interpolation (freq × direction) |
| `HydroValidator` | Kramers-Kronig matrix validation |
| `RAODataValidators` | RAO quality checks (phase, peaks, vessel ) |
| `RAOQualityReportGenerator` | HTML/CSV quality report generation |
- [diffraction-analysis](../diffraction-analysis/SKILL.md) - **Master skill** diffraction workflows
- [aqwa-analysis](../aqwa-analysis/SKILL.md) - Extract coefficients AQWA
- [bemrosetta](../bemrosetta/SKILL.md) - AQWA → OrcaFlex conversion QTF mesh support
- [orcaflex/modeling](../orcaflex/modeling/SKILL.md) - Apply OrcaFlex models
- [viv-analysis](../viv-analysis/SKILL.md) - Hydrodynamic coefficient usage
- DNV-RP-C205: Environmental Conditions Environmental Loads
- OCIMF: Mooring Equipment Guidelines
- Newman, J.N.: Marine Hydrodynamics
- [Best Practices](best-practices/SKILL.md)
- [Version Metadata](version-metadata/SKILL.md)
- [[] - -01-07](--01-07/SKILL.md)
- [ Coefficient Database Management (+)](-coefficient-database-management/SKILL.md)
- [Wave Spectrum Types](wave-spectrum-types/SKILL.md)
- [Coefficient Database JSON (+)](coefficient-database-json/SKILL.md)