我正在尝试计算由嵌入式蒸汽管道提供的热量中存储的热量。
我解决此问题的方法是使用MATLAB的PDE工具箱。首先,我建立了一个具有两个单元的多圆柱模型。内缸(单元1)代表蒸汽,而外缸(单元2)代表热质量(混凝土)。管道未建模。
管道中蒸汽流动的对流传热系数可以通过Nusselt方程的修正形式来确定,该形式包括蒸汽温度与混凝土壁温之比。由于蒸汽和壁面温度沿轴向变化,对流传热系数不是恒定的,因此我尝试使用辅助函数,但无法弄清楚辅助函数如何引用两个不同单元的状态同时。我已经附上了一段代码,其中使用了辅助函数来设置混凝土和蒸汽的热性能。因为XSteam和PDE工具箱不能很好地协同工作,所以我不得不对Steam属性使用近似值(但这是另一篇文章的问题)。
Concrete_Thermal_Conductivity = @(location,state) 1.467 - 6.667 * 10^-4 * state.u; % [W/m-K]
Concrete_Specific_Heat = @(location,state) 0.7 + 8.75 * 10^-4 * state.u; % [kJ/kg-K]
thermalProperties(Thermal_Model,'cell',2,'ThermalConductivity',Concrete_Thermal_Conductivity,"MassDensity",Concrete_Density,"SpecificHeat",Concrete_Specific_Heat);
%Determine properties for steam.
Steam_Thermal_Conductivity = @(location,state) 0.0109 + 1.19 * 10^-4 * state.u; % [W/m•K]
Steam_Density = @(location,state) 27 - 0.0745 * state.u + 101 * 10^-4 * state.u^2 -5.07 * 10^-8 * state.u^3; % [kg/m^3]
Steam_Specific_Heat = @(location,state) 6.19 - 0.0215 * state.u + 3.79 * 10^-5 * state.u^2 -2.16 * 10^-8 * state.u^3; % [kJ/kg•K]
Steam_Velocity = @(location,state) Steam_Mass_Flow_Rate / (Steam_Density * Tube_Cross_Sectional_Area); % [m/s]
Prandtl_Number = @(location,state) 1.16 - 4.07 * 10^-4 * state.u; % [N/A]
Steam_Viscosity = @(location,state) 7.6 * 10^-6 + 4.17 * 10^-8 * state.u; % [N•s/m^2]
Reynolds_Number = @(location,state) Steam_Density * Steam_Velocity * Concrete_Inner_Radius * 2 / Steam_Viscosity; % [N/A]
Nusselt_Number = @(location,state) 0.027 * Reynolds_Number^0.8 * Prandtl_Number^(1/3) * (state.u / Thermal_Model.Cell1.Temperature)^0.55; % modified Nusselt Number equation
Steam_Convective_Heat_Transfer_Coefficient = @(location,state) Nusselt_Number * Steam_Thermal_Conductivity / (Concrete_Inner_Radius * 2); % [W/m^2•K]
thermalProperties(Thermal_Model,'Cell',1,'ThermalConductivity',Steam_Thermal_Conductivity,'MassDensity',Steam_Density,'SpecificHeat',Steam_Specific_Heat);
%% Specify Boundary Conditions
thermalBC(Thermal_Model,'Face',1,"Temperature",Steam_Inlet_Temperature);
thermalBC(Thermal_Model,'Face',[4,5,6],"HeatFlux",0);
thermalBC(Thermal_Model,'Face',3,"ConvectionCoefficient",Steam_Convective_Heat_Transfer_Coefficient,'AmbientTemperature',Thermal_Model.Cell1.Temperature);
设置边界条件以使热量仅通过对流在两个单元之间传递。蒸汽在流经管道时应降低温度,而热质量则由内而外缓慢升高温度。
相反,我收到错误消息,“类'pde.ThermalModel'的无法识别的方法,属性或字段'Cell1'。”
我不确定在Nusselt数辅助函数内或“ AmbientTemperature”的热边界条件下如何还能参考单元1的温度。