换热器质量模型建立-关联式函数实现、PCHE结构参数初始化

This commit is contained in:
ljz committed 2026-06-24 21:55:52 +08:00
1 parent c5b85f5354
commit facb914417
3 files changed
+351 -3

No files matched your search

+29 -3
View File
@@ -15,7 +15,7 @@ class CO2PropertyCalculator():
self.rp.SETUPdll(2, 'SI', 'SI', 'DEF')
self.z = [1.0]
self.mw = self.rp.WMOLdll(self.z)
def calculate_properties(self, T=None, P=None, h=None, s=None):
def calculate_properties(self, T=None, P=None, h=None, s=None, include_transport=False):
"""计算二氧化碳物性"""
if T is not None and P is not None:
# 已知Tp
@@ -60,6 +60,32 @@ class CO2PropertyCalculator():
# 补充提取的物性,这里由于后续还要使用,不进行参数变换
properties['D'] = result.D
properties['cp'] = result.Cp
properties['cv'] = result.Cv,
properties['cp'] = result.Cp
properties['cv'] = result.Cv,
properties['rho'] = result.D * self.mw
properties['cp_mass'] = result.Cp / self.mw * 1000.0
properties['cv_mass'] = result.Cv / self.mw * 1000.0
if include_transport:
self._add_transport_properties(properties, result)
return properties
def _add_transport_properties(self, properties, result):
"""Add CO2 transport properties needed by PCHE correlations."""
transport = self.rp.TRNPRPdll(properties['T'], result.D, self.z)
if getattr(transport, 'ierr', 0) > 0:
raise ValueError(f"REFPROP transport calculation error:{transport.ierr}")
viscosity_micro_pa_s = getattr(transport, 'eta', None)
thermal_conductivity = getattr(transport, 'tcx', None)
if viscosity_micro_pa_s is None:
viscosity_micro_pa_s = getattr(transport, 'visc', None)
if thermal_conductivity is None:
thermal_conductivity = getattr(transport, 'tcond', None)
if viscosity_micro_pa_s is None or thermal_conductivity is None:
raise ValueError("REFPROP transport result missing viscosity or conductivity")
viscosity_pa_s = viscosity_micro_pa_s * 1.0e-6
properties['mu'] = viscosity_pa_s
properties['viscosity'] = viscosity_pa_s
properties['lambda'] = thermal_conductivity
properties['thermal_conductivity'] = thermal_conductivity