[!WARNING]
Part of the Python API documented below does not exist in
digitalmodel. These snippets are a specification of intended
capability, not runnable code. Do not import them, and do not report
a result obtained by pretending they ran.
Absent as of this revision:
digitalmodel.orcawave.multibody
digitalmodel.orcawave.multibody.CouplingMatrixExtractor
digitalmodel.orcawave.multibody.GapResonanceAnalyzer
digitalmodel.orcawave.multibody.MultiBodyAnalysis
digitalmodel.orcawave.multibody.ShieldingAnalyzer
digitalmodel.orcawave.multibody.SideBySideAnalysis
The surrounding engineering content — method, conventions, what to
watch for — is unaffected and remains usable.
The intended API is now specified in digitalmodel, at
docs/domains/orcawave/intended-api/multi-body.md, where it is a build
target rather than something an agent may mistake for working code.
Tracked in aceengineer-strategy#267, digitalmodel#2045.
Orcawave Multi Body
When to Use
- Side-by-side (STS) ship-to-ship transfer operations
- FPSO and offloading tanker interaction
- Multiple floating bodies in close proximity
- Gap resonance phenomenon investigation
- Hydrodynamic shielding effects
- Coupled vessel response analysis
- Multi-body mooring system design
Python API
Basic Multi-Body Setup
from digitalmodel.orcawave.multibody import MultiBodyAnalysis
# Initialize multi-body analysis
mb = MultiBodyAnalysis()
# Add primary vessel (FPSO)
mb.add_body(
name="FPSO",
mesh_file="geometry/fpso_panels.gdf",
*See sub-skills for full details.*
### Gap Resonance Analysis
```python
from digitalmodel.orcawave.multibody import GapResonanceAnalyzer
# Initialize gap resonance analyzer
gap = GapResonanceAnalyzer()
# Configure gap geometry
gap.configure(
vessel1="FPSO",
vessel2="Shuttle_Tanker",
*See sub-skills for full details.*
### Side-by-Side Operations
```python
from digitalmodel.orcawave.multibody import SideBySideAnalysis
# Initialize STS analysis
sts = SideBySideAnalysis()
# Configure vessels
sts.configure_fpso(
mesh="geometry/fpso.gdf",
loa=300.0,
*See sub-skills for full details.*
### Hydrodynamic Coupling Matrices
```python
from digitalmodel.orcawave.multibody import CouplingMatrixExtractor
# Extract coupling matrices
extractor = CouplingMatrixExtractor()
# Load multi-body results
extractor.load_results("results/multibody.owr")
# Get coupled added mass (12x12 for 2 bodies)
*See sub-skills for full details.*
### Shielding Effects
```python
from digitalmodel.orcawave.multibody import ShieldingAnalyzer
# Analyze wave shielding
shielding = ShieldingAnalyzer()
# Configure
shielding.load_multibody_results("results/multibody.owr")
# Compare sheltered vs exposed
*See sub-skills for full details.*
## Related Skills
- [orcawave-analysis](../orcawave-analysis/SKILL.md) - Single body diffraction
- [orcawave-mesh-generation](../orcawave-mesh-generation/SKILL.md) - Panel mesh creation
- [orcawave-to-orcaflex](../orcawave-to-orcaflex/SKILL.md) - Export to OrcaFlex
- [mooring-design](../mooring-design/SKILL.md) - Mooring system design
## References
- Faltinsen, O.M.: Sea Loads on Ships and Offshore Structures
- Newman, J.N.: Wave Effects on Deformable Bodies
- Molin, B.: On the Piston and Sloshing Modes in Moonpools
- OrcaWave Multi-Body Documentation
---
**Version History**
- **1.0.0** (2026-01-17): Initial release with STS analysis, gap resonance, and coupling matrix extraction
## Sub-Skills
- [Best Practices](best-practices/SKILL.md)
## Sub-Skills
- [Error Handling](error-handling/SKILL.md)
## Sub-Skills
- [Version Metadata](version-metadata/SKILL.md)
- [Common Scenarios (+1)](common-scenarios/SKILL.md)
- [Multi-Body Analysis Configuration (+1)](multi-body-analysis-configuration/SKILL.md)
- [CLI Usage](cli-usage/SKILL.md)
- [Export for Time-Domain](export-for-time-domain/SKILL.md)
## Documentation Reference
OrcaWave topics (`data/llm-wiki/orcawave/`):
- `Data,Bodies.md` -- multi-body definition (multiple bodies per model)
- `Data,Constraints.md` -- inter-body constraints
- `Data,Springdampers.md` -- external stiffness/damping between bodies
- `Theory,Dampinglid.md` -- damping lid for gap resonance suppression
- `Results,Addedmassanddamping.md` -- coupled AMD matrices (NxN body DOFs)
- `Data,Calculationandoutput.md` -- multi-body output control
OrcaFlex topics (`data/llm-wiki/orcaflex/`):
- `Vesseltypes,Multibodydata.md` -- multi-body vessel type data in OrcaFlex
- `Vesseltheory,Impulseresponseandconvolution.md` -- coupled time-domain approach
Papers (`data/llm-wiki/papers/`):
- `Buoy-Vessel-Modelling.md` -- buoy-vessel interaction modelling
1---2name: orcawave-multi-body-23description: Multi-body hydrodynamic interaction analysis in OrcaWave. Use when setting up coupled vessel models, side-by-side operations, FPSO-tanker interactions, gap resonance studies, or hydrodynamic shielding calculations.4---56<!-- ace:api-missing-warning -->7> [!WARNING]8> **Part of the Python API documented below does not exist in9> `digitalmodel`.** These snippets are a *specification* of intended10> capability, not runnable code. Do not import them, and do not report11> a result obtained by pretending they ran.12>13> Absent as of this revision:14> - `digitalmodel.orcawave.multibody`15> - `digitalmodel.orcawave.multibody.CouplingMatrixExtractor`16> - `digitalmodel.orcawave.multibody.GapResonanceAnalyzer`17> - `digitalmodel.orcawave.multibody.MultiBodyAnalysis`18> - `digitalmodel.orcawave.multibody.ShieldingAnalyzer`19> - `digitalmodel.orcawave.multibody.SideBySideAnalysis`20>21> The surrounding engineering content — method, conventions, what to22> watch for — is unaffected and remains usable.23>24> **The intended API is now specified in `digitalmodel`**, at25> `docs/domains/orcawave/intended-api/multi-body.md`, where it is a build26> target rather than something an agent may mistake for working code.27> Tracked in aceengineer-strategy#267, digitalmodel#2045.2829<!-- ace:known-missing: digitalmodel.orcawave.multibody, digitalmodel.orcawave.multibody.CouplingMatrixExtractor, digitalmodel.orcawave.multibody.GapResonanceAnalyzer, digitalmodel.orcawave.multibody.MultiBodyAnalysis, digitalmodel.orcawave.multibody.ShieldingAnalyzer, digitalmodel.orcawave.multibody.SideBySideAnalysis -->3031# Orcawave Multi Body3233## When to Use3435- Side-by-side (STS) ship-to-ship transfer operations36- FPSO and offloading tanker interaction37- Multiple floating bodies in close proximity38- Gap resonance phenomenon investigation39- Hydrodynamic shielding effects40- Coupled vessel response analysis41- Multi-body mooring system design4243## Python API4445### Basic Multi-Body Setup4647```python48from digitalmodel.orcawave.multibody import MultiBodyAnalysis4950# Initialize multi-body analysis51mb = MultiBodyAnalysis()5253# Add primary vessel (FPSO)54mb.add_body(55 name="FPSO",56 mesh_file="geometry/fpso_panels.gdf",5758*See sub-skills for full details.*59### Gap Resonance Analysis6061```python62from digitalmodel.orcawave.multibody import GapResonanceAnalyzer6364# Initialize gap resonance analyzer65gap = GapResonanceAnalyzer()6667# Configure gap geometry68gap.configure(69 vessel1="FPSO",70 vessel2="Shuttle_Tanker",7172*See sub-skills for full details.*73### Side-by-Side Operations7475```python76from digitalmodel.orcawave.multibody import SideBySideAnalysis7778# Initialize STS analysis79sts = SideBySideAnalysis()8081# Configure vessels82sts.configure_fpso(83 mesh="geometry/fpso.gdf",84 loa=300.0,8586*See sub-skills for full details.*87### Hydrodynamic Coupling Matrices8889```python90from digitalmodel.orcawave.multibody import CouplingMatrixExtractor9192# Extract coupling matrices93extractor = CouplingMatrixExtractor()9495# Load multi-body results96extractor.load_results("results/multibody.owr")9798# Get coupled added mass (12x12 for 2 bodies)99100*See sub-skills for full details.*101### Shielding Effects102103```python104from digitalmodel.orcawave.multibody import ShieldingAnalyzer105106# Analyze wave shielding107shielding = ShieldingAnalyzer()108109# Configure110shielding.load_multibody_results("results/multibody.owr")111112# Compare sheltered vs exposed113114*See sub-skills for full details.*115116## Related Skills117118- [orcawave-analysis](../orcawave-analysis/SKILL.md) - Single body diffraction119- [orcawave-mesh-generation](../orcawave-mesh-generation/SKILL.md) - Panel mesh creation120- [orcawave-to-orcaflex](../orcawave-to-orcaflex/SKILL.md) - Export to OrcaFlex121- [mooring-design](../mooring-design/SKILL.md) - Mooring system design122123## References124125- Faltinsen, O.M.: Sea Loads on Ships and Offshore Structures126- Newman, J.N.: Wave Effects on Deformable Bodies127- Molin, B.: On the Piston and Sloshing Modes in Moonpools128- OrcaWave Multi-Body Documentation129130---131132**Version History**133134- **1.0.0** (2026-01-17): Initial release with STS analysis, gap resonance, and coupling matrix extraction135136## Sub-Skills137138- [Best Practices](best-practices/SKILL.md)139140## Sub-Skills141142- [Error Handling](error-handling/SKILL.md)143144## Sub-Skills145146- [Version Metadata](version-metadata/SKILL.md)147- [Common Scenarios (+1)](common-scenarios/SKILL.md)148- [Multi-Body Analysis Configuration (+1)](multi-body-analysis-configuration/SKILL.md)149- [CLI Usage](cli-usage/SKILL.md)150- [Export for Time-Domain](export-for-time-domain/SKILL.md)151152153## Documentation Reference154155OrcaWave topics (`data/llm-wiki/orcawave/`):156- `Data,Bodies.md` -- multi-body definition (multiple bodies per model)157- `Data,Constraints.md` -- inter-body constraints158- `Data,Springdampers.md` -- external stiffness/damping between bodies159- `Theory,Dampinglid.md` -- damping lid for gap resonance suppression160- `Results,Addedmassanddamping.md` -- coupled AMD matrices (NxN body DOFs)161- `Data,Calculationandoutput.md` -- multi-body output control162163OrcaFlex topics (`data/llm-wiki/orcaflex/`):164- `Vesseltypes,Multibodydata.md` -- multi-body vessel type data in OrcaFlex165- `Vesseltheory,Impulseresponseandconvolution.md` -- coupled time-domain approach166167Papers (`data/llm-wiki/papers/`):168- `Buoy-Vessel-Modelling.md` -- buoy-vessel interaction modelling