Back to skills
SKILL.md
Diffractionspec Conventions Specyml To Orcawave
ASecurity'Sub-skill of orcawave-analysis: DiffractionSpec Conventions (spec.yml
- 17 stars
- 0 votes
- 0 copies
- 2 views
- Added September 9, 2026
Security analysis
100/100npx -y skills add vamseeachanta/workspace-hub --skill diffractionspec-conventions-specyml-to-orcawave --agent claude-codeAre you the author of Diffractionspec Conventions Specyml To Orcawave?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vamseeachanta-diffractionspec-conventions-specyml-to-orcawave)---
name: orcawave-analysis-diffractionspec-specyml-conventions
description: 'Sub-skill of orcawave-analysis: DiffractionSpec Conventions (spec.yml
to OrcaWave).'
version: 1.0.0
category: engineering
type: reference
scripts_exempt: true
---
# DiffractionSpec Conventions (spec.yml to OrcaWave)
## DiffractionSpec Conventions (spec.yml to OrcaWave)
The `DiffractionSpec` schema (`input_schemas.py`) is the canonical input format. Key conventions:
**Unit Handling:**
- Spec stores **pure SI** (kg, m, s, kg.m^2)
- `OrcaWaveBackend` divides mass, density, inertia by 1000 for OrcaFlex-SI (te)
- **EXCEPTION**: `external_damping` and `external_stiffness` 6x6 matrices pass through **without conversion** -- values must already be in OrcaFlex-SI units
**Mesh Paths:**
- `mesh_file` is relative to the spec.yml directory
- Runner copies mesh to output dir; backend strips to filename via `Path().name`
- **Known issue**: `_MESH_FORMAT_MAP` maps `dat` to `"Wamit dat"` -- AQWA .dat meshes need `"Aqwa dat"` but the enum lacks this variant
**Multi-Document YAML:**
- OrcaWave YAMLs have `%YAML 1.1` + `---` creating multi-doc streams
- Some files have UTF-8 BOM -- always use `encoding='utf-8-sig'` + `yaml.safe_load_all()`
**Canonical spec.yml Examples:**
- Barge: `docs/modules/orcawave/L02_barge_benchmark/spec.yml`
- Ship (QTF + roll damping): `docs/modules/orcawave/L03_ship_benchmark/spec.yml`
- Spar (rad/s freqs): `docs/modules/orcawave/L04_spar_benchmark/spec.yml`
**Frequency Input:**
- `input_type: period` -- values in seconds (backend uses directly)
- `input_type: frequency` -- values in rad/s (backend converts to periods via 2*pi/omega)
- OrcaWave always receives `WavesReferredToBy: "period (s)"`
---
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.