CtrEditor/HydraulicSimulator/Models/Fluid.cs

42 lines
1.4 KiB
C#

using System;
namespace HydraulicSimulator.Models
{
/// <summary>
/// Representa un fluido con sus propiedades físicas
/// </summary>
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;
}
/// <summary>
/// Viscosidad cinemática (m²/s)
/// </summary>
public double Nu => Mu / Rho;
/// <summary>
/// Verifica si hay cavitación
/// </summary>
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);
}
}