AixLib.ThermalZones.ReducedOrder.RC.BaseClasses.splitFacVal

# .AixLib.ThermalZones.ReducedOrder.RC.BaseClasses.splitFacVal

Share of vector entries at sum of vector for multiple vectors

## Information

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.

For internal gains, the calculation is:

SplitFaci = AArray[i] /ATot

whereby `ATot` 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])

and

SplitFaci,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])

#### Interface

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

## Revisions

- December 15, 2015 by Moritz Lauster:
  First Implementation.

Generated at 2026-05-12T20:19:03Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos