This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
namespace MembranePoreTester.Models
|
||||
{
|
||||
public class BubblePointRecord
|
||||
{
|
||||
public string SampleType { get; set; } // 平板膜/中空纤维膜
|
||||
public string SampleSpec { get; set; } // 规格
|
||||
public double RoomTemperature { get; set; } // 室温(°C)
|
||||
public double SoakingTime { get; set; } // 浸润时间(小时)
|
||||
public TestLiquid Liquid { get; set; } // 测试液体
|
||||
public string LiquidManufacturer { get; set; } // 生产厂家
|
||||
public double BubblePointPressure { get; set; } // 泡点压力(数值)
|
||||
public string PressureUnit { get; set; } // Pa/cmHg/psi
|
||||
public DateTime TestDate { get; set; } = DateTime.Now;
|
||||
public string Tester { get; set; }
|
||||
|
||||
public double MaxPoreSize => CalculateMaxPore();
|
||||
|
||||
private double CalculateMaxPore()
|
||||
{
|
||||
if (Liquid == null) return 0;
|
||||
return PressureUnit switch
|
||||
{
|
||||
"Pa" => Liquid.C_Pa / BubblePointPressure,
|
||||
"cmHg" => Liquid.C_cmHg / BubblePointPressure,
|
||||
"psi" => Liquid.C_psi / BubblePointPressure,
|
||||
_ => 0
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
namespace MembranePoreTester.Models
|
||||
{
|
||||
public class DataPoint
|
||||
{
|
||||
public double Pressure { get; set; } // 压力
|
||||
public double WetFlow { get; set; } // 湿膜流量(L/min)
|
||||
public double DryFlow { get; set; } // 干膜流量(L/min)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace MembranePoreTester.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// 孔分布测试的记录模型,存储一次孔分布测试的所有输入数据和计算结果。
|
||||
/// 对应 GB/T 32361-2015 标准中的平均流量法测试。
|
||||
/// </summary>
|
||||
public class PoreDistributionRecord
|
||||
{
|
||||
/// <summary>
|
||||
/// 膜类型:平板膜 或 中空纤维膜。
|
||||
/// </summary>
|
||||
public string SampleType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 样品规格,如直径、厚度或型号等。
|
||||
/// </summary>
|
||||
public string SampleSpec { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 测试时的室温,单位:摄氏度(°C)。
|
||||
/// </summary>
|
||||
public double RoomTemperature { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 样品在测试液体中的浸润时间,单位:小时(h)。
|
||||
/// </summary>
|
||||
public double SoakingTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 测试使用的液体对象,包含液体名称、表面张力等信息。
|
||||
/// </summary>
|
||||
public TestLiquid Liquid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 测试液体的生产厂家,用于溯源。
|
||||
/// </summary>
|
||||
public string LiquidManufacturer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 压力单位:Pa、cmHg 或 psi。所有压力相关输入均以此单位为准。
|
||||
/// </summary>
|
||||
public string PressureUnit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 压力-流量数据点集合,每个点包含压力、湿膜流量、干膜流量。
|
||||
/// 使用 ObservableCollection 以便在界面添加/删除时自动更新。
|
||||
/// </summary>
|
||||
public ObservableCollection<DataPoint> DataPoints { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// 测试日期,默认为当前日期时间。
|
||||
/// </summary>
|
||||
public DateTime TestDate { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 测试人员姓名。
|
||||
/// </summary>
|
||||
public string Tester { get; set; }
|
||||
|
||||
// ---------- 计算结果(由计算逻辑填充) ----------
|
||||
|
||||
/// <summary>
|
||||
/// 泡点压力(由用户单独记录或从数据点推断),用于最大孔径计算。
|
||||
/// </summary>
|
||||
public double BubblePointPressure { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 计算出的平均孔径,单位:微米(μm)。
|
||||
/// 对应标准中平均流量法的平均孔径结果。
|
||||
/// </summary>
|
||||
public double AveragePoreSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 孔分布计算结果列表,每个元素表示一个孔径区间的流量百分比。
|
||||
/// 对应标准中孔分布的多个区间结果。
|
||||
/// </summary>
|
||||
public List<PoreDistributionResult> PoreDistributions { get; set; } = new();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
namespace MembranePoreTester.Models
|
||||
{
|
||||
public class PoreDistributionResult
|
||||
{
|
||||
public double LowerPore { get; set; } // 孔径下限(μm)
|
||||
public double UpperPore { get; set; } // 孔径上限(μm)
|
||||
public double Percentage { get; set; } // 流量百分比
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
namespace MembranePoreTester.Models
|
||||
{
|
||||
public class TestLiquid
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public double SurfaceTension { get; set; } // mN/m, 25°C
|
||||
|
||||
// Cγ 值
|
||||
public double C_Pa => 2860 * SurfaceTension;
|
||||
public double C_cmHg => 2.15 * SurfaceTension;
|
||||
public double C_psi => 0.415 * SurfaceTension;
|
||||
|
||||
public static List<TestLiquid> Predefined => new()
|
||||
{
|
||||
new TestLiquid { Name = "水", SurfaceTension = 72.0 },
|
||||
new TestLiquid { Name = "石油馏分", SurfaceTension = 30.0 },
|
||||
new TestLiquid { Name = "乙醇", SurfaceTension = 22.3 },
|
||||
new TestLiquid { Name = "液态石蜡", SurfaceTension = 34.7 },
|
||||
new TestLiquid { Name = "BSD16", SurfaceTension = 16.0 } // 新增
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user