Agent skill
hydrodynamic-pipeline-orcawave-execution
Sub-skill of hydrodynamic-pipeline: OrcaWave Execution (+3).
Install this agent skill to your Project
npx add-skill https://github.com/vamseeachanta/workspace-hub/tree/main/.claude/skills/_archive/engineering/workflows/hydrodynamic-pipeline/orcawave-execution
SKILL.md
OrcaWave Execution (+3)
OrcaWave Execution
# OrcaWave runs via OrcFxAPI (same as OrcaFlex)
python3 -c "
import OrcFxAPI
model = OrcFxAPI.Model()
model.LoadData('diffraction_model.owd')
model.CalculateStatics()
model.RunSimulation()
model.SaveSimulation('results.owr')
"
AQWA Execution
# AQWA runs via ANSYS Workbench or command line
# Typical AQWA-LINE execution:
aqwa_line input.dat output.lis
# AQWA-DRIFT for QTFs:
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'))
# Access vessel type (diffraction data lives on VesselType, not Vessel)
vessel_type = model['Vessel Type1']
results = {
"raos": {},
"added_mass": {},
"damping": {},
}
# Extract RAOs via VesselType hydrodynamic database
# RAO data is loaded via VesselType.LoadHydrodynamicData() or
# accessed after OrcaWave populates the vessel type
dof_names = ['Surge', 'Sway', 'Heave', 'Roll', 'Pitch', 'Yaw']
for i, dof in enumerate(dof_names):
results["raos"][dof] = {
"amplitude": [],
"phase": [],
}
# Note: exact accessor depends on OrcaWave version; see
# orcawave-to-orcaflex skill for the canonical extraction pattern
return results
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gsd-complete-milestone
Archive completed milestone and prepare for next version
gsd-reapply-patches
Reapply local modifications after a GSD update
gsd-verify-work
Validate built features through conversational UAT
gsd-thread
Manage persistent context threads for cross-session work
clinical-trial-protocol
Generate clinical trial protocols for medical devices or drugs through a modular, waypoint-based architecture with research-only and full protocol modes.
single-cell-rna-qc
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations.
Didn't find tool you were looking for?