Installs into .claude/skills of the current project.
Are you the author of Orcfxapi Result Extraction?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vamseeachanta-orcfxapi-result-extraction)
---
name: orcawave-analysis-orcfxapi-result-extraction
description: 'Sub-skill of orcawave-analysis: OrcFxAPI Result Extraction (+3).'
version: 1.0.0
category: engineering
type: reference
scripts_exempt: true
---
# OrcFxAPI Result Extraction (+3)
## OrcFxAPI Result Extraction
| Property | Gotcha | Fix |
|----------|--------|-----|
| `.frequencies` | Returns **Hz**, not rad/s | Multiply by `2 * np.pi` |
| `.frequencies` | Returns **descending** order | `np.argsort()` ascending before comparison |
| `.displacementRAOs` | Shape `(nheading, nfreq, 6)` | Transpose to `(nfreq, nheading, 6)` |
| Rotational RAOs (indices 3,4,5) | In **rad/m** | `np.degrees()` for deg/m (AQWA convention) |
| `.addedMass`, `.damping` | Follow frequency order | Apply same sort index as frequencies |
## Unit Conversion: WAMIT .frc → spec.yml
| Source | Mass Unit | Inertia Unit | Density | To spec.yml |
|--------|-----------|-------------|---------|-------------|
| WAMIT `.frc` (RHO=1) | te | te·m² | 1 te/m³ | ×1000 for kg, kg·m² |
| OrcaWave `.owd` | te | te·m² | 1 te/m³ | ×1000 for kg, kg·m² |
| spec.yml | kg | kg·m² | kg/m³ | — (canonical) |
**TRAP**: When porting from WAMIT `.frc` to spec.yml, multiply inertia by 1000 (te·m² → kg·m²). Do NOT multiply twice — the ISSC TLP case 2.5 had inertia tensors 1000× too large (8.02e13 vs correct 8.02e10) from double conversion.
## Phase Correlation for Zero-Magnitude DOFs
Fixed DOFs (e.g. heave/roll/pitch on TLPs) produce zero RAO magnitudes. Phase is undefined (`atan2(0,0)` noise), so:
- `multi_solver_comparator.py`: when `peak_mag < 1e-10`, overrides phase correlation to `r = 1.0`
- `validate_owd_vs_spec.py`: skips DOFs with `max_diff < 1e-6` in pass/fail verdict
## QTF Settings Guard
When `qtf_calculation: false` in spec.yml, do NOT include any QTF-related keys in the OrcaWave YAML:
- `QTFMinCrossingAngle`, `QTFMaxCrossingAngle`, `PreferredQuadraticLoadCalculationMethod`
- These cause "Change not allowed" errors from OrcaWave
- `QuadraticLoadPressureIntegration: No` is safe (explicitly disabling)
---