用途:在 workspace-hub + digitalmodel 生态中处理 OrcaWave / OrcaFlex 相关任务时,先据此技能定位代码面、测试面、Issue 集群与机器边界,再决定改动层级。起点文档为 docs/maps/digitalmodel-orcawave-orcaflex-operator-map.md。
主要能力与代码面:OrcaWave 公共包 API 位于 src/digitalmodel/orcawave/(RAO 处理、波谱、水动力系数、面板网格、运动统计、漂移力、船库);衍射主实现位于 hydrodynamics/diffraction/(DiffractionSpec、orcawave_backend、reverse_parsers、运行器与基准工具);hull_library 提供船体查找、网格生成、RAO 数据库,含 rao_extractor.py 与 Parquet 存储的 rao_database.py。OrcaFlex 公共 API 在 src/digitalmodel/orcaflex/(model_builder、mooring_design、riser_config、weather window、postprocessor、VIV),更大实现面在 solvers/orcaflex/(生成、转换、后处理、批并行、系泊迭代)。队列桥接脚本在 scripts/solver/:process-queue.py、submit-job.sh、submit-batch.sh、watch-results.sh、post-process-hook.py。
使用方式:先用 uv run pytest 跑最小本地测试切片(如 digitalmodel/tests/orcawave/、hydrodynamics/diffraction/、orcaflex/、solvers/orcaflex/)。本地可做代码、schema、生成器、mock 测试、队列提交与文档对齐;真实 .owr/.sim 生成与 OrcFxAPI 提取须在 licensed-win-1 上执行。由于 .owr 为专有二进制且 OrcaFlex 11.6 的 .dat/.sim 同为二进制,dev-primary 依赖 .xlsx sidecar 桥接,由 rao_extractor.py 自动识别 pipeline 与 native 两种 xlsx 格式。交接管线:uv run python -m digitalmodel.hydrodynamics.diffraction.orcawave_to_orcaflex input.xlsx -o output/,无需 OrcFxAPI。
适用场景:OrcaWave/OrcaFlex 报告 API、求解器转换、模型生成、队列执行与 Issue 收敛。
限制与陷阱:两种 RAO 数据模型(RAOData 与 DiffractionResults)需显式桥接,后者要求非空 added_mass/damping 且字段为 source_files;水动力附加质量/阻尼矩阵非对称,勿断言对称;旋转自由度存在弧度与度单位差异;solver/orcawave_converter.py 等在模块级硬导入 OrcFxAPI,无许可证时整个子包导入失败;hemisphere.owr 因缺少 HemisphereAndLid0814.gdf 永久阻塞。部分 Issue 与文档已过时,规划前须先对照源码。未提供的信息(如收费、平台支持细节)暂未提供。