import json, subprocess

# Vamos garantir matematicamente que a boca máxima medida pela função metrics() do modelo seja EXATAMENTE 3.800 m (3800 mm).
# No modelo de casco redondo:
# metric.boa = max(y_evalAt) * 2 * (loa_m * 1000 / loa_sq)
# Queremos metric.boa = 3800 mm.
# loa_m = 12.0
# loa_sq = 34.0
# mm_per_sq = 12000 / 34.0 = 352.94117647058824 mm
# max_y_desejado = (3800 / 2) / mm_per_sq = 1900 / 352.94117647058824 = 5.383333333333334 quadrados da malha.

# Vamos ajustar o nó da boca máxima em planSheer exatamente para 5.383333 e garantir que a derivada seja zero no topo.

cmd = [
    "python3", "/home/magdalena/.hermes/plugins/iarquiteto-naval-brana/skills/brana-rascunho-2d-interativo/scripts/ajustar.py",
    "--loa-sq", "34.0",
    "--curva", "planSheer", "0,3.68", "7.0,5.05", "15.5,5.38333", "25.0,4.05", "34.0,0.0",
    "--curva", "profSheer", "0,5.85", "7.5,5.50", "15.5,5.38333", "25.0,6.40", "34.0,8.80",
    "--curva", "profKeel", "0,1.60", "6.5,0.40", "15.5,0.00", "25.0,2.30", "34.0,8.80"
]

res = subprocess.run(cmd, capture_output=True, text=True)
print("Ajuste STDOUT:\n", res.stdout)
