[!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.aqwa.aqwa_preprocess
digitalmodel.aqwa.aqwa_preprocess.AqwaPreProcess
digitalmodel.aqwa.aqwa_raos
digitalmodel.aqwa.aqwa_raos.AqwaRAOs
The surrounding engineering content — method, conventions, what to
watch for — is unaffected and remains usable. Tracked in
aceengineer-strategy#267.
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.hydrodynamics.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.hydrodynamics.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-analysis-23description: 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---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.aqwa.aqwa_preprocess`15> - `digitalmodel.aqwa.aqwa_preprocess.AqwaPreProcess`16> - `digitalmodel.aqwa.aqwa_raos`17> - `digitalmodel.aqwa.aqwa_raos.AqwaRAOs`18>19> The surrounding engineering content — method, conventions, what to20> watch for — is unaffected and remains usable. Tracked in21> aceengineer-strategy#267.2223<!-- ace:known-missing: digitalmodel.aqwa.aqwa_preprocess, digitalmodel.aqwa.aqwa_preprocess.AqwaPreProcess, digitalmodel.aqwa.aqwa_raos, digitalmodel.aqwa.aqwa_raos.AqwaRAOs -->24# AQWA Analysis Skill2526Hub for ANSYS AQWA hydrodynamic analysis — RAO computation, added mass/damping extraction, coefficient management.2728## When to Use2930- RAO (Response Amplitude Operator) computation31- Hydrodynamic coefficient extraction (added mass, damping)32- Viscous damping determination33- Diffraction/radiation analysis (AQWA-LINE)34- Time domain motions (AQWA-DRIFT)35- Stability analysis (AQWA-LIBRIUM)36- Cable dynamics (AQWA-NAUT), coupled analysis (AQWA-WAVE)3738## Prerequisites3940- Python environment with `digitalmodel` package41- AQWA output files (LIS, DAT, or MES format)42- For running AQWA: ANSYS AQWA license4344## Industry Standards4546- DNV-RP-C205 (Environmental Conditions)47- API RP 2SK (Stationkeeping)48- ISO 19901-7 (Mooring Systems)49- IEC 61400-3 (Wind Turbines)5051## Python API5253### RAO Extraction5455```python56from digitalmodel.aqwa.aqwa_raos import AqwaRAOs5758raos = AqwaRAOs()59raos.load("aqwa_results/vessel.LIS")6061surge_rao = raos.get_rao(motion="surge", wave_direction=180.0)62rao_df = raos.to_dataframe()6364raos.plot_rao(65 motions=["heave", "pitch", "roll"],66 directions=[0, 90, 180],67 output_file="results/rao_comparison.html"68)69raos.export_orcaflex("vessel_raos.yml")70```7172### Analysis Router7374```python75from digitalmodel.hydrodynamics.aqwa.aqwa_analysis import AqwaAnalysis7677aqwa = AqwaAnalysis()78cfg = {79 "aqwa": {80 "input_file": "aqwa_results/vessel.LIS",81 "extract": ["raos", "added_mass", "damping", "drift_forces"],82 "output_directory": "results/"83 }84}85results = aqwa.run(cfg)86```8788### Coefficient Extraction8990```python91from digitalmodel.hydrodynamics.aqwa.aqwa_reader import AqwaReader9293reader = AqwaReader()94data = reader.read("aqwa_results/vessel.LIS")9596added_mass = data.get_added_mass(0.1) # 6x6 numpy array at ω=0.1 rad/s97damping = data.get_damping(0.1)98```99100### Pre-Processing101102```python103from digitalmodel.aqwa.aqwa_preprocess import AqwaPreProcess104105preprocess = AqwaPreProcess()106preprocess.generate_input(107 vessel_geometry="geometry/hull.stl",108 water_depth=1000.0,109 wave_frequencies=[0.05, 0.1, 0.15, 0.2, 0.3, 0.5, 0.8, 1.0],110 wave_directions=[0, 45, 90, 135, 180],111 output_file="aqwa_input/vessel.dat"112)113```114115## Key Classes116117| Class | Purpose |118|-------|---------|119| `AqwaAnalysis` | Main analysis router |120| `AqwaRAOs` | RAO computation and export |121| `AqwaReader` | File parsing (LIS, DAT, MES) |122| `AqwaPreProcess` | Input file generation |123| `AqwaPostProcess` | Results post-processing |124| `AqwaValidator` | Result validation |125126## Related Skills127128- [aqwa/input](input/SKILL.md) — Analysis configs, file formats, DAT conventions, mesh quality129- [aqwa/output](output/SKILL.md) — Output formats, validation, benchmarks130- [aqwa/reference](reference/SKILL.md) — Solver stages, OPTIONS keywords, FIDP/FISK cards131- [aqwa/batch-execution](batch-execution/SKILL.md) — Batch run orchestration132- [diffraction-analysis](../diffraction-analysis/SKILL.md) — **Master skill** for all diffraction workflows133- [bemrosetta](../bemrosetta/SKILL.md) — AQWA to OrcaFlex conversion134- [orcawave/analysis](../orcawave/analysis/SKILL.md) — Benchmark validation135136## References137138- ANSYS AQWA User Manual139- DNV-RP-C205: Environmental Conditions and Environmental Loads140- Newman, J.N.: Marine Hydrodynamics