42 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|