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 } } } }