81 lines
2.9 KiB
C#
81 lines
2.9 KiB
C#
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();
|
||
}
|
||
} |