Files
AR-Shipdesign/arshipdesign/hydrostatics/__init__.py
T
alro65 98ff57ed08 Módulo 1 fixes + Módulo 2 motor hidrostático (Tasks 13–13b)
Fixes Module 1 UI:
- wizard_cruiser/sailing/planing: perfiles sin^n calibrados por Cm, V-bottom
  con ángulo de astilla, corrección zona sobre chine planeador
- viewer_3d: buffer hull pendiente para eliminar race condition 500ms
- viewer_lines: reescritura completa — waterlines visibles, control points
  interactivos (drag DelftShip-style), señal offsets_edited
- main_window: conecta offsets_edited → slot _on_offsets_edited_from_viewer
  que propaga cambios a todos los visores, editor, 3D y barra hidrostática

Módulo 2 — motor HydrostaticCurves (Task 13):
- integrator.py: integrate() (Simpson+trapz), waterplane_strips(), section_areas()
- upright.py: UprightHydrostatics (19 campos), compute_upright() single-pass
- curves_of_form.py: HydrostaticCurves.compute(), at_draft(), to_csv_lines(), to_dict()
- tests/test_module2_hydrostatics.py: 83 tests — Wigley V&V, monotonicidad,
  CSV export, IACS Rec.34 §4.3–4.5; todos los 224 tests pasan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 09:11:58 -04:00

31 lines
753 B
Python

"""
arshipdesign.hydrostatics — motor de hidrostáticos navales.
Módulos
-------
integrator Primitivas numéricas (Simpson/trapecios).
upright UprightHydrostatics (calado único) + compute_upright().
curves_of_form HydrostaticCurves (barrido de calados).
Uso rápido
----------
>>> from arshipdesign.hydrostatics import HydrostaticCurves
>>> curves = HydrostaticCurves.compute(hull, n_points=20)
>>> print(curves.displacements)
"""
from arshipdesign.hydrostatics.upright import (
UprightHydrostatics,
compute_upright,
)
from arshipdesign.hydrostatics.curves_of_form import (
HydrostaticCurves,
CSV_HEADERS,
)
__all__ = [
"UprightHydrostatics",
"compute_upright",
"HydrostaticCurves",
"CSV_HEADERS",
]