modelSolarRadInRoom
Information
This model distributes the incoming short wave radtion onto different areas of the room according to the approach in the ASHREA Standard, Annex B7 "Detailed calculation of solar fractions". The ASHREA makes some assumptions to estimate the sight factors of each element. For more details on the assumptions, we refer to the ASHREA standard. In order to ease the usage of this model, we made additional assumptions.
Assumptions by ASHREA
- First bounce: All shortwave radiation initially hits the floor
- Second bounce: Not absorbed radiation is diffusivly reflected by floor and distributed over all surfaces according to the view factors of each surface
- Third bounce: Remaining radiation is distributed over each surface in proportion to it's area-absorptance product
- Remaining bounces: Based on calculations from third bounce
Additional Assumptions
In order to ease the usage of this model, we added the following assumptions. You can read more about the reasons of these assumptions in the corresponding issue 918.
- In constrast to the ASHREA, we allow for different solar absorptance factors
- All floors act as one joined area. However, the heat flows are seperated based on areas etc. at the end according to ASHRAE
- All walls have the same heigh + ceiling and floor have (joined together) the same area. This is necessary in order to use the approximations of sight factors from the standard. This is checked via asserts
- We only calculate one view/sight factor, and that is from floor to ceiling. This assumes floor and ceiling are two parallel areas with the same total area
- All remaining radiation of the second bounce is distributed
proportional to the areas of the surfaces:
sight_factor_floor_win = A_win / (A_win + A_walls) * (1 - sight_factor_floor_ceil)
sight_factor_floor_walls = A_walls / (A_win + A_walls) * (1 - sight_factor_floor_ceil)
sight_factor_floor_wall_i = A_wall_i / A_walls * sight_factor_floor_walls
sight_factor_floor_win_i = A_win_i / A_win * sight_factor_floor_walls
Note that the last assumption would be valid for a quadratic room
with no windows. Only for extremly long rooms this assumptions could
be dangerous. However, a floor typically reflects only 10
% of the incoming radiation. Approx. 50 % of
that go to the ceiling, the rest to the walls. Therefor, effects like
correct window placement etc. on the temperatures of the walls will
be of a small magnitude.
Parameterization
You have to connect the bus connector ShortRadSurf of each surface (floor, wall, ceiling) of type wall to the corresponding port. As the current implementation of type window only supports one directional short wave radiation, the port win_out may be ignored. However, you can check how much radiation is lost to the ambient.
If you model a room with multiple floor elements, you have to specify the parameters floor_length and floor_height. These scales are required to calculate the view factors in the second bounce.
Known Limitations
- Although we implemented the exact same equations as in the ASHREA (besides out approach for the third bounce), the results of the model do NOT match the results provided in the tables of the Appendix in the ASHREA. This is due to the high fiew factor from floor to ceiling in the second bounce. We could not quantify how the results in the Appendix are obtained, as their solar fraction for the ceiling is too low. In order to use the ASHREA values from the tables instead of the dynamic calculation, you may use the option table_based_calc.
- In the ASHREA, all surfaces shall have the same absorbtance. Our modelling approach enable differing values.
- This model works best for nearly quadratic rooms
- Windows in the floors or ceilings are not regarded
Sources
- ANSI/ASHREA Standard 140-2017
- Principles of Heat Transfer - Chapter 9.4 [Link]
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| ThermalZones.HighOrder.Components.Types.PartialCoeffTable | staticCoeffTable | ||
| Methods | |||
| Boolean | use_dynamicMethod | true | True = dynamic as holistic approach, false = static approach to obtain the same values as provided in tables of the ASHREA |
| Static Calculation | |||
| Integer | nWin | 1 | Number of windows in room transmitting shortwave radiation |
| Integer | nWalls | 4 | Number of walls in room - For static calculation, the only option is nWalls=4! The order is: East, South, West, North |
| Integer | nFloors | 1 | Number of floors in room |
| Integer | nCei | 1 | Number of ceilings in room |
| Dynamic Calculation | |||
| Modelica.Units.SI.Length | floor_length | 0 | Total length of floors (not levels). Multiple floor parts are modeled as one area. For this equivelant area, you have to specify the length and width of the total floor |
| Modelica.Units.SI.Length | floor_width | 0 | Total width of floors (not levels). Multiple floor parts are modeled as one area. For this equivelant area, you have to specify the length and width of the total floor |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.ShortRadSurf[nWin] | win_in | Windows input | |
| Interfaces.ShortRadSurf[nWalls] | walls | Output to the walls | |
| Interfaces.ShortRadSurf[nFloors] | floors | Output to the floor(s) | |
| Interfaces.ShortRadSurf[nCei] | ceilings | Output to the ceiling(s) | |
| Interfaces.ShortRadSurf[nWin] | win_out | Output to the ceiling(s) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Real[nWin] | solar_frac_win_abs | if use_dynamicMethod then fill(solar_frac_win_abs_int/nWin, nWin) else fill(staticCoeffTable.coeffWinAbs/nWin, nWin) | Solar fractions for windows, absorbed |
| Real[nWin] | solar_frac_win_lost | if use_dynamicMethod then fill(solar_frac_win_lost_int/nWin, nWin) else fill(staticCoeffTable.coeffWinLost/nWin, nWin) | Solar fractions for windows, lost cause of transmitvity |
| Real[nCei] | solar_frac_cei | if use_dynamicMethod then bounce_1_cei .+ bounce_2_floor_cei .+ bounce_3_rem_cei .+ bounce_R_rem_cei else fill(staticCoeffTable.coeffCeiling/nCei, nCei) | Solar fractions for ceilings |
| Real[nFloors] | solar_frac_flo | if use_dynamicMethod then fill(solar_frac_flo_int/nFloors, nFloors) else fill(staticCoeffTable.coeffFloor/nFloors, nFloors) | Solar fractions for floors |
| Real[nWalls] | solar_frac_wall | if use_dynamicMethod then bounce_1_wall .+ bounce_2_floor_wall .+ bounce_3_rem_wall .+ bounce_R_rem_wall else {staticCoeffTable.coeffOWEast, staticCoeffTable.coeffOWSouth, staticCoeffTable.coeffOWWest, staticCoeffTable.coeffOWNorth} | Solar fractions for walls |
Contents
| Name | Description |
|---|---|
| sight_fac_parallelprotected | Calculate sight factor based on B7-2 in ASHRAE Appendix for parallel areas |
| sight_fac_orthogonalprotected | Calculate sight factor based on B7-1 in ASHRAE Appendix for orthogonal areas |
Revisions
-
June, 18, 2020 by Fabian Wuellhorst:
#918: Implemented.