Files
HeadgearViewingRange3M/Models/PoreDistributionRecord.cs

81 lines
2.9 KiB
C#
Raw Normal View History

2026-03-24 20:40:26 +08:00
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();
}
}