Files
vinihcrosaandClaude Sonnet 4.6 d495d7b58d docs: consolidate all documentation under docs/ and enforce single-source rule
Migrate all docs scattered across hidden folders into docs/:
- .compozy/tasks/ → docs/planning/ (PRDs, tech specs, tasks, memory) and docs/adr/ (ADRs by phase)
- .specs/ → docs/specs/ (codebase, features, project specs)
- .docs/ → docs/legacy/ (legacy reference implementation docs)
- .discussions/ → docs/discussions/ (design discussions and open questions)

Delete .compozy/, .specs/, .docs/, and .discussions/.

Update AGENTS.md: add explicit docs/ location table, hard rule against hidden doc folders,
and new AI-assisted development section (context lazy loading, scope control, verification).

Update CLAUDE.md: fix .docs/ references to docs/legacy/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 01:09:54 -03:00
..

TMS Dynamics Engine — Análise Técnica

Documentação técnica gerada a partir de leitura direta do código fonte (branch dev, 2026-06-21). Não se baseia na documentação oficial — reflete o que o código realmente faz.

Índice

Arquivo Conteúdo
00_overview.md Arquitetura geral, estrutura de pastas, hierarquia de objetos, fluxo de dados por passo, convenções de referencial
01_state_and_data_formats.md Vetor de estado 12-DOF, formato completo dos JSONs de entrada, propriedades derivadas em Vessel, formato do CSV de saída
02_integration_loop.md Equação central, configuração do CVODE, rhs_sundials, RHS::operator(), transformações de referencial, updateStates
03_force_models.md Todos os 11 modelos de força: Inertial, Restoring, Damping, Squat, Current (Obokata + REGULAR + Van der Pol), Wind, Thrust (Kt/Kq), Rudder (foil), Tug
04_wave_engine.md Espectro JONSWAP/Pierson/Regular, spreading direcional Mitsuyasu, WaveComponent (excitação 1ª ordem, mean drift, slow drift, drift damping, RAO), WaveAPI C
05_maneuver_system.md Módulos drift/maneuver/berthManeuver, LOS + PID, FSM de atracação (navigating/sideway/turnROTTUG), atuadores
06_math_utilities.md DyM::Math: interpolação, álgebra linear, RK4, transformações, wrapping de ângulos
07_public_apis.md WaveAPI e RealtimeDyMAPI — C interface para embedding externo, notas de integração C#/Python
08_known_issues.md Bugs confirmados, TODOs no código, limitações de modelo, guia para extensão

Resumo da equação de movimento

(M + A) · q̈ = Fi + Fr + Fd + Fsq + Fc + Fwd + Fwv_ex + Fwv_md + Fwv_sd + Fwv_dd + Fth + Frd + Ftg

q̈ = invTotalMass · Ft

CVODE/BDF integra y[12] = {q[6], q_dot[6]} com tolerâncias reltol=1e-8, abstol=1e-10

Convenções rápidas

  • Frame do navio: X=proa, Y=bombordo, Z=cima
  • Yaw: 0=Leste, cresce anti-horário. Entrada: ψ = deg2rad(450 - heading_náutico)
  • Unidades: N, N·m, m, s, rad. JSON em toneladas (convertido para kg no construtor)
  • Origem WAMIT: ponto de referência dos dados hidrodinâmicos (não é necessariamente o CG)