Calculates the ratio of the surface areas of a wall to the total wall area,
unless the area is zero. It subtracts the wall area AExt
for first entry in AArray
and AWin
for
second entry in AArray unless AArray[1]
and/or
AArray[2]
are not zero. This is done separately for each
orientation. Consequently, the function gives an nRow x nCol
array back as output. Each row stands for one area in
AArray
and each column for one orientation in
AExt
and AWin
. The function is used to
calculate the split factors for
IBPSA.ThermalZones.ReducedOrder.RC.BaseClasses.ThermSplitter.
SplitFaci = AArray[i] /ATot
wherebyATot
is the sum of AArray
. To
perform this,
AExt
and AWin
can just be set to vectors of
zeros with length 1.
For solar radiation through windows, the window and wall area with the same
orientation as the incoming radiation should be subtracted as these areas
cannot be hit by the radiation. This needs to be done separately for each
orientation and for exterior walls and windows only, according to:
SplitFaci,k = (AArray[i] - AExt[k]) /(ATot - AExt[k] -AWin[k])
andSplitFaci,k = (AArray[i] - AWin[k]) /(ATot - AExt[k] - AWin[k])
respectively. For all other walls, the equation is:SplitFaci,k = AArray[i] /(ATot - AExt[k] - AWin[k])
function splitFacVal extends Modelica.Icons.Function; input Integer nRow "Number of rows"; input Integer nCol "Number of columns"; input Modelica.Units.SI.Area[:] AArray "Vector of areas"; input Modelica.Units.SI.Area[nCol] AExt "Vector of exterior wall areas"; input Modelica.Units.SI.Area[nCol] AWin "Vector of window areas"; output Real[nRow, nCol] splitFacValues "Split factor values for ThermSplitter"; end splitFacVal;