物性的修改

This commit is contained in:
2026-03-26 22:18:54 +08:00
parent d7dfe27ad5
commit f40086a0b0
3 changed files with 93 additions and 11 deletions

View File

@@ -239,13 +239,20 @@ namespace CapMachine.Wpf.Services
return false;
}
// 第 8 步:计算等熵效率。
if (!TryComputeIsentropicEfficiencyPct(h1_kJkg, h2_kJkg, h2s_kJkg, out var etaS_pct, out var etaSErr))
//// 第 8 步:计算等熵效率。 这个是AI 计算的AI说这个是正确的需要使用h2s ,但是lABVIEW 给的是需要不需要为了统一用LABVIEW 的方法
//if (!TryComputeIsentropicEfficiencyPct(h1_kJkg, h2_kJkg, h2s_kJkg, out var etaS_pct, out var etaSErr))
//{
// error = etaSErr;
// return false;
//}
if (!TryComputeIsentropicEfficiencyPct_ByUserFormula(mRef_kg_s, h1_kJkg, h2_kJkg, w_kW, out var etaS_pct, out var etaSErr))
{
error = etaSErr;
return false;
}
// 先写入 5 个关键结果。
result.HeatingCapacityQh_kW = qh_kW;
result.CoolingCapacityQc_kW = qc_kW;
@@ -843,6 +850,81 @@ namespace CapMachine.Wpf.Services
return TryComputeEfficiencyPct(isentropicRise_kJkg, actualRise_kJkg, "等熵效率", out etaS_pct, out error);
}
/// <summary>
/// 这个是来自于Labview 的计算公式自定义的用于计算等熵效率为了跟labview 的结果一致不代表一定正确AI说TryComputeIsentropicEfficiencyPct 是正确的
/// </summary>
/// <param name="mRef_kg_s"></param>
/// <param name="h1_kJkg"></param>
/// <param name="h2_kJkg"></param>
/// <param name="w_kW"></param>
/// <param name="etaS_pct"></param>
/// <param name="error"></param>
/// <returns></returns>
private bool TryComputeIsentropicEfficiencyPct_ByUserFormula(double mRef_kg_s, double h1_kJkg, double h2_kJkg, double w_kW, out double etaS_pct, out string error)
{
etaS_pct = double.NaN;
error = string.Empty;
if (double.IsNaN(mRef_kg_s) || double.IsInfinity(mRef_kg_s) || mRef_kg_s <= 0)
{
error = $"无效冷媒质量流量 mRef_kg_s={mRef_kg_s}";
return false;
}
if (double.IsNaN(h1_kJkg) || double.IsInfinity(h1_kJkg))
{
error = $"无效吸气比焓 h1={h1_kJkg}";
return false;
}
if (double.IsNaN(h2_kJkg) || double.IsInfinity(h2_kJkg))
{
error = $"无效排气比焓 h2={h2_kJkg}";
return false;
}
if (double.IsNaN(w_kW) || double.IsInfinity(w_kW) || w_kW <= 0)
{
error = $"无效压缩机功率 w_kW={w_kW}";
return false;
}
if (!TryComputeEnthalpyDifference_kJkg(h2_kJkg, h1_kJkg, "用户公式等熵效率焓差(h2-h1)", out var deltaH_kJkg, out var deltaErr))
{
error = deltaErr;
return false;
}
var capacity_kW = mRef_kg_s * deltaH_kJkg;
if (double.IsNaN(capacity_kW) || double.IsInfinity(capacity_kW))
{
error = "用户公式等熵效率中间结果(var1*var2)异常";
return false;
}
var ratio = capacity_kW / w_kW;
if (double.IsNaN(ratio) || double.IsInfinity(ratio))
{
error = "用户公式等熵效率中间结果(var3)异常";
return false;
}
etaS_pct = ratio * 100.0;
if (double.IsNaN(etaS_pct) || double.IsInfinity(etaS_pct))
{
error = "用户公式等熵效率结果异常";
return false;
}
//TraceValue("用户公式等熵效率.var1_mRef_kg_s", mRef_kg_s, "kg/s");
//TraceValue("用户公式等熵效率.var2_deltaH_kJkg", deltaH_kJkg, "kJ/kg");
//TraceValue("用户公式等熵效率.var1xvar2_kW", capacity_kW, "kW");
//TraceValue("用户公式等熵效率.var3", ratio, "-");
//TraceValue("Computed.etaS_pct", etaS_pct, "%");
return true;
}
/// <summary>
/// 计算容积效率,单位 %。
/// </summary>