using System;
namespace HydraulicSimulator.Models
{
///
/// Representa un fluido con sus propiedades físicas
///
public class Fluid
{
public double Rho { get; set; } = 998.0; // kg/m³ - densidad
public double Mu { get; set; } = 1.0e-3; // Pa*s - viscosidad dinámica
public string Name { get; set; } = "Water"; // nombre del fluido
public double Temp { get; set; } = 20.0; // °C - temperatura
public double PVapor { get; set; } = 2337.0; // Pa - presión de vapor a 20°C
public Fluid(double rho = 998.0, double mu = 1.0e-3, string name = "Water",
double temp = 20.0, double pVapor = 2337.0)
{
Rho = rho;
Mu = mu;
Name = name;
Temp = temp;
PVapor = pVapor;
}
///
/// Viscosidad cinemática (m²/s)
///
public double Nu => Mu / Rho;
///
/// Verifica si hay cavitación
///
public bool IsCavitating(double pAbs) => pAbs < PVapor;
// Fluidos predefinidos
public static Fluid Water20C => new Fluid(998.0, 1.0e-3, "Water_20C", 20.0);
public static Fluid Water60C => new Fluid(983.0, 4.66e-4, "Water_60C", 60.0);
public static Fluid OilSAE30 => new Fluid(876.0, 0.1, "Oil_SAE30", 20.0);
}
}