| name | bemrosetta |
| description | BEMRosetta hydrodynamic coefficient converter - AQWA to OrcaFlex workflow with QTF and mesh support |
| type | reference |
| version | 1.0.0 |
| updated | "2026-01-27T00:00:00.000Z" |
| category | engineering |
| triggers | ["bemrosetta","hydrodynamic conversion","AQWA to OrcaFlex","coefficient converter","QTF conversion","mesh format conversion","GDF to STL","panel mesh","Kramers-Kronig","causality check"] |
| capabilities | [] |
| requires | [] |
| tags | [] |
| scripts_exempt | true |
Bemrosetta
When to Use
Use this skill when you need to:
-
Convert AQWA outputs to OrcaFlex format
- Parse AQWA .LIS diffraction analysis files
- Export to OrcaFlex-compatible YAML and CSV
-
Handle QTF (second-order forces) data
- Parse QTF files for sum/difference frequency forces
- Export QTF to OrcaFlex format
-
Convert mesh formats
- Convert between GDF (WAMIT), DAT (AQWA/NEMOH), STL formats
- Validate mesh quality
-
Validate hydrodynamic coefficients
- Check matrix symmetry and positive definiteness
- Verify Kramers-Kronig causality relations
Prerequisites
uv pip install -e .
bemrosetta status
Python API
Basic Workflow
from digitalmodel.bemrosetta import (
AQWAParser,
OrcaFlexConverter,
validate_coefficients,
)
parser = AQWAParser()
results = parser.parse("analysis.LIS")
*See sub-skills for full details.*
```python
from digitalmodel.bemrosetta import QTFParser, OrcaFlexConverter
qtf_parser = QTFParser()
qtf_data = qtf_parser.parse("analysis.QTF")
print(f"QTF type: {qtf_data.qtf_type}")
print(f"Frequencies: {qtf_data.n_frequencies_1} x {qtf_data.n_frequencies_2}")
converter = OrcaFlexConverter(output_dir="./output")
converter.set_qtf_data(qtf_data)
converter.convert(results)
Mesh Conversion
digitalmodel.bemrosetta (
GDFHandler, DATHandler, STLHandler, convert_mesh
)
handler = GDFHandler()
mesh = handler.read()
*See sub-skills full details.*
```python
digitalmodel.bemrosetta (
CoefficientValidator,
CausalityChecker,
)
validator = CoefficientValidator(
check_symmetry=,
check_positive_definite=,
*See sub-skills full details.*
| Class | Purpose |
|-------|---------|
| `AQWAParser` | Parse AQWA .LIS files |
| `QTFParser` | Parse QTF second-order force files |
| `OrcaFlexConverter` | Convert to OrcaFlex |
| `GDFHandler` | WAMIT GDF mesh |
| `DATHandler` | AQWA/NEMOH DAT mesh |
| `STLHandler` | STL mesh |
| `CoefficientValidator` | Validate coefficient matrices |
| `CausalityChecker` | Kramers-Kronig validation |
- **aqwa-analysis** - AQWA .LIS processing RAO extraction
- **orcawave/analysis** - OrcaWave diffraction/radiation analysis
- **orcawave/to-orcaflex** - OrcaWave to OrcaFlex conversion
- **orcaflex/rao-** - Multi- RAO
- **hydrodynamics** - 6x6 matrices wave spectra
- **diffraction-analysis** - Master skill diffraction workflows
- [BEMRosetta GitHub](https://github.com/BEMRosetta/BEMRosetta)
- [Module README](../../../src/digitalmodel/modules/bemrosetta/MODULE_README.md)
- [OrcaFlex Documentation](https://www.orcina.com/webhelp/OrcaFlex/)
- [Best Practices](best-practices/SKILL.md)
- [Error Handling](error-handling/SKILL.md)
- [Version](version/SKILL.md)
- [ (-01-)](--01-/SKILL.md)
- [Parsing (+)](parsing/SKILL.md)
- [CLI Commands](cli-commands/SKILL.md)
- [Data Models](data-models/SKILL.md)
- [With diffraction module (+)](-diffraction-module/SKILL.md)