Files
HeadgearViewingRange3M/Models/PoreDistributionRecord.cs
2026-03-24 20:40:26 +08:00

81 lines
2.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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();
}
}