using System;
namespace HydraulicSimulator.Models
{
///
/// Válvula por Kv - Pure data container para TSNet
/// NO realiza cálculos hidráulicos - solo almacena propiedades para generación INP
///
public class ValveKv : Element
{
public double KvFull { get; set; } // m³/h / sqrt(bar) a 100%
public double Opening { get; set; } // 0..1
public ValveKv(double kvFull, double opening)
{
KvFull = kvFull;
Opening = opening;
}
///
/// Kv efectivo para generación INP (solo lectura de datos)
///
public double KvEff
{
get
{
var x = Math.Min(1.0, Math.Max(0.0, Opening));
return Math.Max(1e-6, KvFull * x); // lineal simple y evita 0
}
}
}
}