Approximate calculation of the mean convective heat transfer coefficient kc for forced convection with a fully developed fluid flow in a turbulent regime. See more information.
Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Name | Description |
---|---|
kc_approxForcedConvection | Mean convective heat transfer coefficient for forced convection | approximation | turbulent regime | hydrodynamically developed fluid flow |
kc_approxForcedConvection_KC | Mean convective heat transfer coefficient for forced convection | approximation | turbulent regime | hydrodynamically developed fluid flow |
kc_approxForcedConvection_IN_con | Input record for function kc_approxForcedConvection and kc_approxForcedConvection_KC |
kc_approxForcedConvection_IN_var | Input record for function kc_approxForcedConvection and kc_approxForcedConvection_KC |
Approximate calculation of the mean convective heat transfer coefficient kc for forced convection with a fully developed fluid flow in a turbulent regime.
A detailled documentation for this convective heat transfer calculation can be found in its underlying function kc_approxForcedConvection_KC . Note that additionally a failure status is observed in this function to check if the intended boundary conditions are fulfilled. See more information .
Type | Name | Default | Description |
---|---|---|---|
Constant inputs | |||
kc_approxForcedConvection_IN_con | IN_con | Input record for function kc_approxForcedConvection | |
Variable inputs | |||
kc_approxForcedConvection_IN_var | IN_var | Input record for function kc_approxForcedConvection |
Type | Name | Description |
---|---|---|
Output | ||
CoefficientOfHeatTransfer | kc | Convective heat transfer coefficient [W/(m2.K)] |
PrandtlNumber | Pr | Prandl number [1] |
ReynoldsNumber | Re | Reynolds number [1] |
NusseltNumber | Nu | Nusselt number [1] |
Real | failureStatus | 0== boundary conditions fulfilled | 1== failure >> check if still meaningfull results |
function kc_approxForcedConvection "Mean convective heat transfer coefficient for forced convection | approximation | turbulent regime | hydrodynamically developed fluid flow" //SOURCE: A Bejan and A.D. Kraus. Heat Transfer handbook.John Wiley & Sons, 2nd edition, 2003. (p.424 ff) //Notation of equations according to SOURCE //input records input Modelica.Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_IN_con IN_con "Input record for function kc_approxForcedConvection"; input Modelica.Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_IN_var IN_var "Input record for function kc_approxForcedConvection"; //output variables output SI.CoefficientOfHeatTransfer kc "Convective heat transfer coefficient"; output SI.PrandtlNumber Pr "Prandl number"; output SI.ReynoldsNumber Re "Reynolds number"; output SI.NusseltNumber Nu "Nusselt number"; output Real failureStatus "0== boundary conditions fulfilled | 1== failure >> check if still meaningfull results"; protected type TYP = Modelica.Fluid.Dissipation.Utilities.Types.kc_general; Real MIN=Modelica.Constants.eps; Real prandtlMax[3]={120,16700,500} "Maximum Prandtl number"; Real prandtlMin[3]={0.7,0.7,1.5} "Minimum Prandtl number"; Real reynoldsMax[3]={1.24e5,1e6,1e6} "Maximum Reynolds number"; Real reynoldsMin[3]={2500,1e4,3e3} "Minimum Reynolds number"; SI.Diameter d_hyd=max(MIN, 4*IN_con.A_cross/max(MIN, IN_con.perimeter)) "Hydraulic diameter"; //failure status Real fstatus[2] "Check of expected boundary conditions"; algorithm Pr := Modelica.Fluid.Dissipation.Utilities.Functions.General.PrandtlNumber( IN_var.cp, IN_var.eta, IN_var.lambda); Re := max(1, Modelica.Fluid.Dissipation.Utilities.Functions.General.ReynoldsNumber( IN_con.A_cross, IN_con.perimeter, IN_var.rho, IN_var.eta, abs(IN_var.m_flow))) "Reynolds number"; kc := Modelica.Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_KC( IN_con, IN_var); Nu := kc*d_hyd/max(MIN, IN_var.lambda); //failure status fstatus[1] := if IN_con.target == TYP.Rough then if Pr > prandtlMax[1] or Pr < prandtlMin[1] then 1 else 0 else if IN_con.target == TYP.Middle then if Pr > prandtlMax[2] or Pr < prandtlMin[2] then 1 else 0 else if IN_con.target == TYP.Finest then if Pr > prandtlMax[3] or Pr < prandtlMin[3] then 1 else 0 else 0; fstatus[2] := if IN_con.target == TYP.Rough then if Re > reynoldsMax[1] or Re < reynoldsMin[1] then 1 else 0 else if IN_con.target == TYP.Middle then if Re > reynoldsMax[2] or Re < reynoldsMin[2] then 1 else 0 else if IN_con.target == TYP.Finest then if Re > reynoldsMax[3] or Re < reynoldsMin[3] then 1 else 0 else 0; failureStatus := 0; for i in 1:size(fstatus, 1) loop if fstatus[i] == 1 then failureStatus := 1; end if; end for;end kc_approxForcedConvection;
Approximate calculation of the mean convective heat transfer coefficient kc for forced convection with a fully developed fluid flow in a turbulent regime. See more information .
Type | Name | Default | Description |
---|---|---|---|
Constant inputs | |||
kc_approxForcedConvection_IN_con | IN_con | Input record for function kc_approxForcedConvection_KC | |
Variable inputs | |||
kc_approxForcedConvection_IN_var | IN_var | Input record for function kc_approxForcedConvection_KC |
Type | Name | Description |
---|---|---|
CoefficientOfHeatTransfer | kc | Output for function kc_approxForcedConvection_KC [W/(m2.K)] |
function kc_approxForcedConvection_KC "Mean convective heat transfer coefficient for forced convection | approximation | turbulent regime | hydrodynamically developed fluid flow" //SOURCE: A Bejan and A.D. Kraus. Heat Transfer handbook.John Wiley & Sons, 2nd edition, 2003. (p.424 ff) //Notation of equations according to SOURCE //type = //input records input Modelica.Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_IN_con IN_con "Input record for function kc_approxForcedConvection_KC"; input Modelica.Fluid.Dissipation.HeatTransfer.General.kc_approxForcedConvection_IN_var IN_var "Input record for function kc_approxForcedConvection_KC"; //output variables output SI.CoefficientOfHeatTransfer kc "Output for function kc_approxForcedConvection_KC"; protected type TYP = Modelica.Fluid.Dissipation.Utilities.Types.kc_general; Real MIN=Modelica.Constants.eps; SI.Diameter d_hyd=max(MIN, 4*IN_con.A_cross/max(MIN, IN_con.perimeter)) "Hydraulic diameter"; SI.PrandtlNumber Pr=max(MIN, abs(IN_var.eta*IN_var.cp/max(MIN, IN_var.lambda))) "Prandtl number"; SI.ReynoldsNumber Re=max(1, 4*abs(IN_var.m_flow)/max(MIN, IN_con.perimeter* IN_var.eta)) "Reynolds number"; algorithm kc := IN_var.lambda/d_hyd*(if IN_con.target == TYP.Rough then 0.023*Re^(4/5)* Pr^IN_con.exp_Pr else if IN_con.target == TYP.Middle then 0.023*Re^(4/5)*Pr ^(1/3)*(IN_var.eta/IN_var.eta_wall)^0.14 else if IN_con.target == 3 and Pr <= 1.5 then 0.0214*max(1, abs(Re^0.8 - 100))*Pr^0.4 else if IN_con.target == TYP.Finest then 0.012*max(1, abs(Re^0.87 - 280))*Pr^0.4 else 0); //Documentationend kc_approxForcedConvection_KC;
Extends from Modelica.Fluid.Dissipation.Utilities.Records.HeatTransfer.General (Input for generic correlation).
Type | Name | Default | Description |
---|---|---|---|
Generic variables | |||
kc_general | target | Dissipation.Utilities.Types.... | Target correlation |
Area | A_cross | Modelica.Constants.pi*0.1^2/4 | Cross sectional area [m2] |
Length | perimeter | Modelica.Constants.pi*0.1 | Wetted perimeter [m] |
Real | exp_Pr | 0.4 | Exponent for Prandtl number w.r.t. Dittus/Boelter | 0.4 for heating | 0.3 for cooling |
record kc_approxForcedConvection_IN_con "Input record for function kc_approxForcedConvection and kc_approxForcedConvection_KC" //generic variables extends Modelica.Fluid.Dissipation.Utilities.Records.HeatTransfer.General; parameter Real exp_Pr=0.4 "Exponent for Prandtl number w.r.t. Dittus/Boelter | 0.4 for heating | 0.3 for cooling";end kc_approxForcedConvection_IN_con;
Extends from Modelica.Fluid.Dissipation.Utilities.Records.General.FluidProperties (Base record for fluid properties).
Type | Name | Default | Description |
---|---|---|---|
Fluid properties | |||
SpecificHeatCapacityAtConstantPressure | cp | Specific heat capacity of fluid at constant pressure [J/(kg.K)] | |
DynamicViscosity | eta | Dynamic viscosity of fluid [Pa.s] | |
ThermalConductivity | lambda | Thermal conductivity of fluid [W/(m.K)] | |
Density | rho | Density of fluid [kg/m3] | |
DynamicViscosity | eta_wall | Dynamic viscosity of fluid at wall temperature [Pa.s] | |
Input | |||
MassFlowRate | m_flow | [kg/s] |
record kc_approxForcedConvection_IN_var "Input record for function kc_approxForcedConvection and kc_approxForcedConvection_KC" //fluid property variables extends Modelica.Fluid.Dissipation.Utilities.Records.General.FluidProperties; SI.DynamicViscosity eta_wall "Dynamic viscosity of fluid at wall temperature"; //input variable (mass flow rate) SI.MassFlowRate m_flow;end kc_approxForcedConvection_IN_var;