This commit is contained in:
xyy
2026-05-27 19:06:19 +08:00
parent 8332fa0531
commit e826fab6fc
4 changed files with 116 additions and 172 deletions

View File

@@ -19,21 +19,30 @@ public partial class MeasurementResult : ObservableObject
public void CalculateVhcAndCp(double density)
{
CalculateVhc(); // 先计算 VHC
// 日志:记录计算前的参数
Debug.WriteLine($"[MeasurementResult] 计算比热容 - 密度: {density} kg/m³, 体积热容: {VolumetricHeatCapacity} kJ/(m³·K)");
// 1. 计算体积热容 VHC = λ / α
// 注意ThermalDiffusivity 已经是标准单位 m²/s绝对不能再乘 1e-6
if (ThermalDiffusivity > 0)
{
double vhc_J = ThermalConductivity / ThermalDiffusivity; // 单位: J/(m³·K)
VolumetricHeatCapacity = vhc_J / 1000.0; // 转换为 kJ/(m³·K)
}
else
{
VolumetricHeatCapacity = 0;
}
// 2. 计算比热容 Cp = VHC / ρ
if (density > 0)
{
SpecificHeatCapacity = VolumetricHeatCapacity * 1000 / density;
Debug.WriteLine($"[MeasurementResult] 计算得到比热容: {SpecificHeatCapacity} J/(kg·K)");
// VHC 转回 J/(m³·K) 除以密度
SpecificHeatCapacity = (VolumetricHeatCapacity * 1000.0) / density;
}
else
{
SpecificHeatCapacity = 0;
Debug.WriteLine($"[MeasurementResult] 警告: 密度无效 (density={density})比热容设为0");
}
Debug.WriteLine($"[MeasurementResult] 计算完成: VHC={VolumetricHeatCapacity:F2} kJ/(m³·K), Cp={SpecificHeatCapacity:F2} J/(kg·K)");
}
[ObservableProperty]