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
AixLib.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;