Commit Graph
3 Commits
Author SHA1 Message Date
vinihcrosaandClaude Sonnet 4.6 dd4e79cbd6 feat(naval): add naval domain module (M2)
NavalForceModel bridge pattern keeps core::ForceModel interface intact
while providing NavalContext (environment, speedToWater, speedToWind,
EMA q_avg) to all naval models via bindContext.

Force models: Inertial (Coriolis), Restoring (hydrostatic spring),
Damping (potential + linear/quadratic), Squat (ICORELS shallow-water),
Wind (REGULAR/ACSINKAGE), Current (OBOKATA section-integration and
REGULAR with Van der Pol VIM RK4), Thrust (open-water Kt), Rudder
(Prandtl lift), Tug (PUSH/PULL/ESCORTING with bilinear table).

Wave engine: JONSWAP/PIERSON/REGULAR spectrum, Mitsuyasu cos-2S
directional spreading, WAMIT RAO interpolation in WaveForces.

NavalSimulation wraps core::Simulation, rebuilds NavalContext each
step, maintains EMA (tau=16.5s). 63/63 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 01:14:23 -03:00
vinihcrosaandClaude Sonnet 4.6 3e8e95d544 feat(core): add core engine primitives (M1)
Implements the 6-DOF rigid body dynamics core:
- Types (Vector6, Matrix6x6), Forces, BodyState value type
- ForceModel abstract interface (non-const compute, D-09)
- Body: mass matrix inversion at construction, friend CvodeIntegrator (D-11)
- CvodeIntegrator: BDF integrator via SUNDIALS CVODE 7.x, static rhsCallback
- Simulation: orchestrates Body + CvodeIntegrator + ForceModel registry
- Math utilities: LinearAlgebra (invert6x6, matVecProduct), AngleUtils, Interpolation
- 29 tests, 100% passing (zero-force, constant-force, SHO period, time accumulation)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 23:49:57 -03:00
vinihcrosaandClaude Sonnet 4.6 2c56c8b1c5 build: initial repository setup (M0)
CMake project structure with ymir_core, ymir_naval, and ymir_adapters
static library targets. Catch2 and nlohmann/json via FetchContent;
SUNDIALS and CGAL probed as optional system deps (required from M1/M2).
Smoke tests pass on macOS ARM64. Docker multi-stage image for Linux
x86_64. GitHub Actions CI matrix: Linux x86_64, macOS ARM64, Windows
x86_64. Code quality tooling: .clang-format, .clang-tidy, Doxyfile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 22:59:35 -03:00