| name | hydrodynamic-pipeline-orcawave-execution |
| description | Sub-skill of hydrodynamic-pipeline: OrcaWave Execution (+3). |
| version | 1.0.1 |
| category | engineering |
| type | reference |
| scripts_exempt | true |
OrcaWave Execution (+3)
OrcaWave Execution
python3 -c "
import OrcFxAPI
model = OrcFxAPI.Model()
model.LoadData('diffraction_model.owd')
model.CalculateStatics()
model.RunSimulation()
model.SaveSimulation('results.owr')
"
AQWA Execution
aqwa_line input.dat output.lis
aqwa_drift input.dat output.lis
Key Outputs from Diffraction Analysis
| Output | Format | Used By | Description |
|---|
| RAOs | .owd / .lis | OrcaFlex VesselType | Response amplitude operators (6 DOF) |
| Added mass | Frequency-dependent | OrcaFlex | Mass added by fluid acceleration |
| Radiation damping | Frequency-dependent | OrcaFlex | Energy radiated as waves |
| Mean drift | Force per wave amplitude² | OrcaFlex | Steady drift forces |
| QTFs | Difference/sum frequency | OrcaFlex | Second-order slow-drift forces |
| Hydrostatic stiffness | 6x6 matrix | OrcaFlex | Restoring forces |
Extracting Results for OrcaFlex
import OrcFxAPI
def extract_diffraction_results(owd_path):
"""Extract hydrodynamic data from OrcaWave for OrcaFlex.
OrcaWave results are accessed via VesselType diffraction data,
not the Vessel instance directly.
"""
model = OrcFxAPI.Model()
model.LoadSimulation(owd_path.replace('.owd', '.owr'))
vessel_type = model['Vessel Type1']
results = {
"raos": {},
"added_mass": {},
"damping": {},
}
dof_names = ['Surge', 'Sway', 'Heave', 'Roll', 'Pitch', 'Yaw']
for i, dof in enumerate(dof_names):
results["raos"][dof] = {
"amplitude": [],
"phase": [],
}
return results