AQWA Analysis Skill
Hub for ANSYS AQWA hydrodynamic analysis — RAO computation, added mass/damping extraction, coefficient management.
When to Use
- RAO (Response Amplitude Operator) computation
- Hydrodynamic coefficient extraction (added mass, damping)
- Viscous damping determination
- Diffraction/radiation analysis (AQWA-LINE)
- Time domain motions (AQWA-DRIFT)
- Stability analysis (AQWA-LIBRIUM)
- Cable dynamics (AQWA-NAUT), coupled analysis (AQWA-WAVE)
Prerequisites
- Python environment with
digitalmodel package
- AQWA output files (LIS, DAT, or MES format)
- For running AQWA: ANSYS AQWA license
Industry Standards
- DNV-RP-C205 (Environmental Conditions)
- API RP 2SK (Stationkeeping)
- ISO 19901-7 (Mooring Systems)
- IEC 61400-3 (Wind Turbines)
Python API
RAO Extraction
from digitalmodel.aqwa.aqwa_raos import AqwaRAOs
raos = AqwaRAOs()
raos.load("aqwa_results/vessel.LIS")
surge_rao = raos.get_rao(motion="surge", wave_direction=180.0)
rao_df = raos.to_dataframe()
raos.plot_rao(
motions=["heave", "pitch", "roll"],
directions=[0, 90, 180],
output_file="results/rao_comparison.html"
)
raos.export_orcaflex("vessel_raos.yml")
Analysis Router
from digitalmodel.aqwa.aqwa_analysis import AqwaAnalysis
aqwa = AqwaAnalysis()
cfg = {
"aqwa": {
"input_file": "aqwa_results/vessel.LIS",
"extract": ["raos", "added_mass", "damping", "drift_forces"],
"output_directory": "results/"
}
}
results = aqwa.run(cfg)
Coefficient Extraction
from digitalmodel.aqwa.aqwa_reader import AqwaReader
reader = AqwaReader()
data = reader.read("aqwa_results/vessel.LIS")
added_mass = data.get_added_mass(0.1) # 6x6 numpy array at ω=0.1 rad/s
damping = data.get_damping(0.1)
Pre-Processing
from digitalmodel.aqwa.aqwa_preprocess import AqwaPreProcess
preprocess = AqwaPreProcess()
preprocess.generate_input(
vessel_geometry="geometry/hull.stl",
water_depth=1000.0,
wave_frequencies=[0.05, 0.1, 0.15, 0.2, 0.3, 0.5, 0.8, 1.0],
wave_directions=[0, 45, 90, 135, 180],
output_file="aqwa_input/vessel.dat"
)
Key Classes
| Class |
Purpose |
AqwaAnalysis |
Main analysis router |
AqwaRAOs |
RAO computation and export |
AqwaReader |
File parsing (LIS, DAT, MES) |
AqwaPreProcess |
Input file generation |
AqwaPostProcess |
Results post-processing |
AqwaValidator |
Result validation |
Related Skills
- aqwa/input — Analysis configs, file formats, DAT conventions, mesh quality
- aqwa/output — Output formats, validation, benchmarks
- aqwa/reference — Solver stages, OPTIONS keywords, FIDP/FISK cards
- aqwa/batch-execution — Batch run orchestration
- diffraction-analysis — Master skill for all diffraction workflows
- bemrosetta — AQWA to OrcaFlex conversion
- orcawave/analysis — Benchmark validation
References
- ANSYS AQWA User Manual
- DNV-RP-C205: Environmental Conditions and Environmental Loads
- Newman, J.N.: Marine Hydrodynamics
1---2name: aqwa-analysis3description: Integrate with AQWA hydrodynamic software for RAO computation, damping analysis, and coefficient extraction. Hub skill — delegates to aqwa-input, aqwa-output, aqwa-reference for details.4---5# AQWA Analysis Skill67Hub for ANSYS AQWA hydrodynamic analysis — RAO computation, added mass/damping extraction, coefficient management.89## When to Use1011- RAO (Response Amplitude Operator) computation12- Hydrodynamic coefficient extraction (added mass, damping)13- Viscous damping determination14- Diffraction/radiation analysis (AQWA-LINE)15- Time domain motions (AQWA-DRIFT)16- Stability analysis (AQWA-LIBRIUM)17- Cable dynamics (AQWA-NAUT), coupled analysis (AQWA-WAVE)1819## Prerequisites2021- Python environment with `digitalmodel` package22- AQWA output files (LIS, DAT, or MES format)23- For running AQWA: ANSYS AQWA license2425## Industry Standards2627- DNV-RP-C205 (Environmental Conditions)28- API RP 2SK (Stationkeeping)29- ISO 19901-7 (Mooring Systems)30- IEC 61400-3 (Wind Turbines)3132## Python API3334### RAO Extraction3536```python37from digitalmodel.aqwa.aqwa_raos import AqwaRAOs3839raos = AqwaRAOs()40raos.load("aqwa_results/vessel.LIS")4142surge_rao = raos.get_rao(motion="surge", wave_direction=180.0)43rao_df = raos.to_dataframe()4445raos.plot_rao(46 motions=["heave", "pitch", "roll"],47 directions=[0, 90, 180],48 output_file="results/rao_comparison.html"49)50raos.export_orcaflex("vessel_raos.yml")51```5253### Analysis Router5455```python56from digitalmodel.aqwa.aqwa_analysis import AqwaAnalysis5758aqwa = AqwaAnalysis()59cfg = {60 "aqwa": {61 "input_file": "aqwa_results/vessel.LIS",62 "extract": ["raos", "added_mass", "damping", "drift_forces"],63 "output_directory": "results/"64 }65}66results = aqwa.run(cfg)67```6869### Coefficient Extraction7071```python72from digitalmodel.aqwa.aqwa_reader import AqwaReader7374reader = AqwaReader()75data = reader.read("aqwa_results/vessel.LIS")7677added_mass = data.get_added_mass(0.1) # 6x6 numpy array at ω=0.1 rad/s78damping = data.get_damping(0.1)79```8081### Pre-Processing8283```python84from digitalmodel.aqwa.aqwa_preprocess import AqwaPreProcess8586preprocess = AqwaPreProcess()87preprocess.generate_input(88 vessel_geometry="geometry/hull.stl",89 water_depth=1000.0,90 wave_frequencies=[0.05, 0.1, 0.15, 0.2, 0.3, 0.5, 0.8, 1.0],91 wave_directions=[0, 45, 90, 135, 180],92 output_file="aqwa_input/vessel.dat"93)94```9596## Key Classes9798| Class | Purpose |99|-------|---------|100| `AqwaAnalysis` | Main analysis router |101| `AqwaRAOs` | RAO computation and export |102| `AqwaReader` | File parsing (LIS, DAT, MES) |103| `AqwaPreProcess` | Input file generation |104| `AqwaPostProcess` | Results post-processing |105| `AqwaValidator` | Result validation |106107## Related Skills108109- [aqwa/input](input/SKILL.md) — Analysis configs, file formats, DAT conventions, mesh quality110- [aqwa/output](output/SKILL.md) — Output formats, validation, benchmarks111- [aqwa/reference](reference/SKILL.md) — Solver stages, OPTIONS keywords, FIDP/FISK cards112- [aqwa/batch-execution](batch-execution/SKILL.md) — Batch run orchestration113- [diffraction-analysis](../diffraction-analysis/SKILL.md) — **Master skill** for all diffraction workflows114- [bemrosetta](../bemrosetta/SKILL.md) — AQWA to OrcaFlex conversion115- [orcawave/analysis](../orcawave/analysis/SKILL.md) — Benchmark validation116117## References118119- ANSYS AQWA User Manual120- DNV-RP-C205: Environmental Conditions and Environmental Loads121- Newman, J.N.: Marine Hydrodynamics