This function computes the wind pressure coefficient for low-rise buildings with rectangular shape. The correlation is the data fit from Swami and Chandra (1987), who fitted a function to various wind pressure coefficients from the literature. The same correlation is also implemented in CONTAM (Persily and Ivy, 2001).
The wind pressure coefficient is computed based on the natural logarithm of the side ratio of the walls, which is defined as
G = ln(x ⁄ y)
where x is the length of the wall that will be connected to this model, and y is the length of the adjacent wall as shown in the figure below.

Based on the wind incidence angle α and the side ratio of
the walls, the model computes how much the wind pressure is
attenuated compared to the reference wind pressure
Cp0. The reference wind pressure Cp0 is a
user-defined parameter, and must be equal to the wind pressure at
zero wind incidence angle, i.e., α = 0. Swami and Chandra
(1987) recommend Cp0 = 0.6 for all low-rise
buildings as this represents the average of various values reported
in the literature. The attenuation factor is
Cp ⁄ Cp0 = ln(1.248 - 0.703 sin(α ⁄ 2) - 1.175 sin2(α) - 0.131 sin3(2 α G) + 0.769 cos(α ⁄ 2) +0.071 G2 * sin2(α ⁄ 2) + 0.717 cos2(α ⁄ 2)),
where Cp is the wind pressure coefficient for the current angle of incidence.
This function is used in Buildings.Fluid.Sources.Outside_CpLowRise which can be used directly with components of this package.
Symmetry requires that the first derivative of the wind pressure coefficient with respect to the incidence angle is zero for incidence angles of zero and π. However, the correlation of Swami and Chandra has non-zero derivatives at these values. In this implementation, the original function is therefore slightly modified for incidence angles between 0 and 5 degree, and between 175 and 180 degree. This leads to a model that is differentiable in the incidence angle, which generally leads to better numeric performance.
function windPressureLowRise input Real Cp0(min = 0) "Wind pressure coefficient for normal wind incidence angle"; input Modelica.SIunits.Angle incAng "Wind incidence angle (0: normal to wall)"; input Real G "Natural logarithm of side ratio"; output Real Cp "Wind pressure coefficient"; end windPressureLowRise;
spliceFunction with regStep.
This is for issue
300.constant keyword for a180 as its
value depends on the input of the function.