## Buildings.HeatTransfer.Convection.Functions

Functions for convective heat transfer

### Information

This package contains functions that are used in the package Buildings.HeatTransfer.### Package Content

Name | Description |
---|---|

windDirectionModifier | Wind direction modifier that is used to compute the wind-driven convective heat transfer coefficient |

HeatFlux | Correlations for convective heat flux |

## Buildings.HeatTransfer.Convection.Functions.windDirectionModifier

Wind direction modifier that is used to compute the wind-driven convective heat transfer coefficient

### Information

Function that outputs *1* if the incidence angle is below 100 degrees, and
*0.5* otherwise.
The implementation is once continuously differentiable in its input arguments.

See Buildings.HeatTransfer.Convection.Exterior for an example that uses this function.

Extends from Modelica.Icons.Function (Icon for functions).

### Inputs

Type | Name | Default | Description |
---|---|---|---|

Angle | azi | Surface azimuth [rad] | |

Angle | dir | Wind direction (0=wind from North) [rad] |

### Outputs

Type | Name | Description |
---|---|---|

Real | W | Wind direction modifier |

### Modelica definition

function windDirectionModifier
"Wind direction modifier that is used to compute the wind-driven convective heat transfer coefficient"
extends Modelica.Icons.Function;
input Modelica.SIunits.Angle azi "Surface azimuth";
input Modelica.SIunits.Angle dir(min=0, max=2*Modelica.Constants.pi)
"Wind direction (0=wind from North)";
output Real W "Wind direction modifier";
protected
constant Modelica.SIunits.Angle lee = Modelica.SIunits.Conversions.from_deg(100)
"Angle at which the transition occurs";
constant Real cosLee = Modelica.Math.cos(lee)
"Cosine of the angle at which the transition occurs";
algorithm
// The wind direction is defined in TMY3 as dir=0 if from North, and 0 <= dir < 2*pi
// Hence, we subtract pi to redefine dir=0 as wind coming from the south.
// This simplifies the implementation since a surface azimuth is defined as azi=0
// if the surface is south-facing
W:=Buildings.Utilities.Math.Functions.spliceFunction(
pos=0.5,
neg=1,
x=cosLee-Modelica.Math.cos(azi+Modelica.Constants.pi-dir),
deltax=0.05);
end windDirectionModifier;