Sub-skill of orcawave-analysis: DiffractionSpec Conventions (spec.yml to OrcaWave).
The DiffractionSpec schema (input_schemas.py) is the canonical input format. Key conventions:
Unit Handling:
OrcaWaveBackend divides mass, density, inertia by 1000 for OrcaFlex-SI (te)external_damping and external_stiffness 6x6 matrices pass through without conversion -- values must already be in OrcaFlex-SI unitsMesh Paths:
mesh_file is relative to the spec.yml directoryPath().name_MESH_FORMAT_MAP maps dat to -- AQWA .dat meshes need but the enum lacks this variant"Wamit dat""Aqwa dat"Multi-Document YAML:
%YAML 1.1 + --- creating multi-doc streamsencoding='utf-8-sig' + yaml.safe_load_all()Canonical spec.yml Examples:
docs/modules/orcawave/L02_barge_benchmark/spec.ymldocs/modules/orcawave/L03_ship_benchmark/spec.ymldocs/modules/orcawave/L04_spar_benchmark/spec.ymlFrequency 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)WavesReferredToBy: "period (s)"