Changeset 4209


Ignore:
Timestamp:
Sep 2, 2019 12:00:03 PM (23 months ago)
Author:
suehring
Message:

Bugfix in initialization of indoor temperature; Prescibe default indoor temperature in case it is not given in the namelist input

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/indoor_model_mod.f90

    r4182 r4209  
    2525! Former revisions:
    2626! -----------------
    27 ! $Id: indoor_model_mod.f90
     27! $Id$
     28! - Bugfix in initialization of indoor temperature
     29! - Prescibe default indoor temperature in case it is not given in the
     30!   namelist input
     31!
     32!
    2833! Corrected "Former revisions" section
    2934!
     
    183188    INTEGER(iwp) ::  solar_protection_on     !< Solar protection on
    184189
    185     REAL(wp) ::  a_m                           !< [m2] the effective mass-related area
    186     REAL(wp) ::  air_change                    !< [1/h] Airflow
    187     REAL(wp) ::  c_m                           !< [J/K] internal heat storage capacity
    188     REAL(wp) ::  dt_indoor = 3600.0_wp         !< [s] namelist parameter: time interval for indoor-model application
    189     REAL(wp) ::  facade_element_area           !< [m2_facade] building surface facade
    190     REAL(wp) ::  floor_area_per_facade         !< [m2/m2] floor area per facade area
    191     REAL(wp) ::  h_t_1                         !< [W/K] Heat transfer coefficient auxiliary variable 1
    192     REAL(wp) ::  h_t_2                         !< [W/K] Heat transfer coefficient auxiliary variable 2
    193     REAL(wp) ::  h_t_3                         !< [W/K] Heat transfer coefficient auxiliary variable 3
    194     REAL(wp) ::  h_t_wm                        !< [W/K] Heat transfer coefficient of the emmision (got with h_t_ms the thermal mass)
    195     REAL(wp) ::  h_t_is                        !< [W/K] thermal coupling conductance (Thermischer Kopplungsleitwert)
    196     REAL(wp) ::  h_t_ms                        !< [W/K] Heat transfer conductance term (got with h_t_wm the thermal mass)
    197     REAL(wp) ::  h_t_wall                      !< [W/K] heat transfer coefficient of opaque components (assumption: got all thermal mass) contains of h_t_wm and h_t_ms
    198     REAL(wp) ::  h_t_es                        !< [W/K] heat transfer coefficient of doors, windows, curtain walls and glazed walls (assumption: thermal mass=0)
    199     REAL(wp) ::  h_v                           !< [W/K] heat transfer of ventilation
    200     REAL(wp) ::  indoor_volume_per_facade      !< [m3] indoor air volume per facade element
    201     REAL(wp) ::  initial_indoor_temperature    !< [K] initial indoor temperature (namelist parameter)
    202     REAL(wp) ::  net_sw_in                     !< [W/m2] net short-wave radiation
    203     REAL(wp) ::  phi_hc_nd                     !< [W] heating demand and/or cooling demand
    204     REAL(wp) ::  phi_hc_nd_10                  !< [W] heating demand and/or cooling demand for heating or cooling
    205     REAL(wp) ::  phi_hc_nd_ac                  !< [W] actual heating demand and/or cooling demand
    206     REAL(wp) ::  phi_hc_nd_un                  !< [W] unlimited heating demand and/or cooling demand which is necessary to reach the demanded required temperature (heating is positive, cooling is negative)
    207     REAL(wp) ::  phi_ia                        !< [W] internal air load = internal loads * 0.5, Eq. (C.1)
    208     REAL(wp) ::  phi_m                         !< [W] mass specific thermal load (internal and external)
    209     REAL(wp) ::  phi_mtot                      !< [W] total mass specific thermal load (internal and external)
    210     REAL(wp) ::  phi_sol                       !< [W] solar loads
    211     REAL(wp) ::  phi_st                        !< [W] mass specific thermal load implied non thermal mass
    212     REAL(wp) ::  q_wall_win                    !< [W/m2]heat flux from indoor into wall/window
    213     REAL(wp) ::  q_waste_heat                  !< [W/m2]waste heat, sum of waste heat over the roof to Palm
    214    
    215     REAL(wp) ::  q_c_m                         !< [W] Energy of thermal storage mass specific thermal load for internal and external heatsources (for energy bilanz)
    216     REAL(wp) ::  q_c_st                        !< [W] Energy of thermal storage mass specific thermal load implied non thermal mass (for energy bilanz)
    217     REAL(wp) ::  q_int                         !< [W] Energy of internal air load (for energy bilanz)
    218     REAL(wp) ::  q_sol                         !< [W] Energy of solar (for energy bilanz)
    219     REAL(wp) ::  q_trans                       !< [W] Energy of transmission (for energy bilanz)
    220     REAL(wp) ::  q_vent                        !< [W] Energy of ventilation (for energy bilanz)
    221    
    222     REAL(wp) ::  schedule_d                    !< [-] activation for internal loads (low or high + low)
    223     REAL(wp) ::  skip_time_do_indoor = 0.0_wp  !< [s] Indoor model is not called before this time
    224     REAL(wp) ::  theta_air                     !< [degree_C] air temperature of the RC-node
    225     REAL(wp) ::  theta_air_0                   !< [degree_C] air temperature of the RC-node in equilibrium
    226     REAL(wp) ::  theta_air_10                  !< [degree_C] air temperature of the RC-node from a heating capacity of 10 W/m2
    227     REAL(wp) ::  theta_air_ac                  !< [degree_C] actual room temperature after heating/cooling
    228     REAL(wp) ::  theta_air_set                 !< [degree_C] Setpoint_temperature for the room
    229     REAL(wp) ::  theta_m                       !< [degree_C} inner temperature of the RC-node
    230     REAL(wp) ::  theta_m_t                     !< [degree_C] (Fictive) component temperature timestep
    231     REAL(wp) ::  theta_m_t_prev                !< [degree_C] (Fictive) component temperature previous timestep (do not change)
    232     REAL(wp) ::  theta_op                      !< [degree_C] operative temperature
    233     REAL(wp) ::  theta_s                       !< [degree_C] surface temperature of the RC-node
    234     REAL(wp) ::  time_indoor = 0.0_wp          !< [s] time since last call of indoor model
    235     REAL(wp) ::  total_area                    !< [m2] area of all surfaces pointing to zone
    236     REAL(wp) ::  window_area_per_facade        !< [m2] window area per facade element
    237    
    238     REAL(wp), PARAMETER ::  h_is                     = 3.45_wp     !< [W/(m2 K)] surface-related heat transfer coefficient between surface and air (chap. 7.2.2.2)
     190    REAL(wp) ::  a_m                                 !< [m2] the effective mass-related area
     191    REAL(wp) ::  air_change                          !< [1/h] Airflow
     192    REAL(wp) ::  c_m                                 !< [J/K] internal heat storage capacity
     193    REAL(wp) ::  dt_indoor = 3600.0_wp               !< [s] namelist parameter: time interval for indoor-model application
     194    REAL(wp) ::  facade_element_area                 !< [m2_facade] building surface facade
     195    REAL(wp) ::  floor_area_per_facade               !< [m2/m2] floor area per facade area
     196    REAL(wp) ::  h_t_1                               !< [W/K] Heat transfer coefficient auxiliary variable 1
     197    REAL(wp) ::  h_t_2                               !< [W/K] Heat transfer coefficient auxiliary variable 2
     198    REAL(wp) ::  h_t_3                               !< [W/K] Heat transfer coefficient auxiliary variable 3
     199    REAL(wp) ::  h_t_wm                              !< [W/K] Heat transfer coefficient of the emmision (got with h_t_ms the thermal mass)
     200    REAL(wp) ::  h_t_is                              !< [W/K] thermal coupling conductance (Thermischer Kopplungsleitwert)
     201    REAL(wp) ::  h_t_ms                              !< [W/K] Heat transfer conductance term (got with h_t_wm the thermal mass)
     202    REAL(wp) ::  h_t_wall                            !< [W/K] heat transfer coefficient of opaque components (assumption: got all
     203                                                     !< thermal mass) contains of h_t_wm and h_t_ms
     204    REAL(wp) ::  h_t_es                              !< [W/K] heat transfer coefficient of doors, windows, curtain walls and
     205                                                     !< glazed walls (assumption: thermal mass=0)
     206    REAL(wp) ::  h_v                                 !< [W/K] heat transfer of ventilation
     207    REAL(wp) ::  indoor_volume_per_facade            !< [m3] indoor air volume per facade element
     208    REAL(wp) ::  initial_indoor_temperature = 293.15 !< [K] initial indoor temperature (namelist parameter)
     209    REAL(wp) ::  net_sw_in                           !< [W/m2] net short-wave radiation
     210    REAL(wp) ::  phi_hc_nd                           !< [W] heating demand and/or cooling demand
     211    REAL(wp) ::  phi_hc_nd_10                        !< [W] heating demand and/or cooling demand for heating or cooling
     212    REAL(wp) ::  phi_hc_nd_ac                        !< [W] actual heating demand and/or cooling demand
     213    REAL(wp) ::  phi_hc_nd_un                        !< [W] unlimited heating demand and/or cooling demand which is necessary to
     214                                                     !< reach the demanded required temperature (heating is positive,
     215                                                     !< cooling is negative)
     216    REAL(wp) ::  phi_ia                              !< [W] internal air load = internal loads * 0.5, Eq. (C.1)
     217    REAL(wp) ::  phi_m                               !< [W] mass specific thermal load (internal and external)
     218    REAL(wp) ::  phi_mtot                            !< [W] total mass specific thermal load (internal and external)
     219    REAL(wp) ::  phi_sol                             !< [W] solar loads
     220    REAL(wp) ::  phi_st                              !< [W] mass specific thermal load implied non thermal mass
     221    REAL(wp) ::  q_wall_win                          !< [W/m2]heat flux from indoor into wall/window
     222    REAL(wp) ::  q_waste_heat                        !< [W/m2]waste heat, sum of waste heat over the roof to Palm
     223                                                     
     224    REAL(wp) ::  q_c_m                               !< [W] Energy of thermal storage mass specific thermal load for internal
     225                                                     !< and external heatsources (for energy bilanz)
     226    REAL(wp) ::  q_c_st                              !< [W] Energy of thermal storage mass specific thermal load implied non thermal mass (for energy bilanz)
     227    REAL(wp) ::  q_int                               !< [W] Energy of internal air load (for energy bilanz)
     228    REAL(wp) ::  q_sol                               !< [W] Energy of solar (for energy bilanz)
     229    REAL(wp) ::  q_trans                             !< [W] Energy of transmission (for energy bilanz)
     230    REAL(wp) ::  q_vent                              !< [W] Energy of ventilation (for energy bilanz)
     231                                                     
     232    REAL(wp) ::  schedule_d                          !< [-] activation for internal loads (low or high + low)
     233    REAL(wp) ::  skip_time_do_indoor = 0.0_wp        !< [s] Indoor model is not called before this time
     234    REAL(wp) ::  theta_air                           !< [degree_C] air temperature of the RC-node
     235    REAL(wp) ::  theta_air_0                         !< [degree_C] air temperature of the RC-node in equilibrium
     236    REAL(wp) ::  theta_air_10                        !< [degree_C] air temperature of the RC-node from a heating capacity
     237                                                     !< of 10 W/m2
     238    REAL(wp) ::  theta_air_ac                        !< [degree_C] actual room temperature after heating/cooling
     239    REAL(wp) ::  theta_air_set                       !< [degree_C] Setpoint_temperature for the room
     240    REAL(wp) ::  theta_m                             !< [degree_C} inner temperature of the RC-node
     241    REAL(wp) ::  theta_m_t                           !< [degree_C] (Fictive) component temperature timestep
     242    REAL(wp) ::  theta_m_t_prev                      !< [degree_C] (Fictive) component temperature previous timestep (do not change)
     243    REAL(wp) ::  theta_op                            !< [degree_C] operative temperature
     244    REAL(wp) ::  theta_s                             !< [degree_C] surface temperature of the RC-node
     245    REAL(wp) ::  time_indoor = 0.0_wp                !< [s] time since last call of indoor model
     246    REAL(wp) ::  total_area                          !< [m2] area of all surfaces pointing to zone
     247    REAL(wp) ::  window_area_per_facade              !< [m2] window area per facade element
     248   
     249    REAL(wp), PARAMETER ::  h_is                     = 3.45_wp     !< [W/(m2 K)] surface-related heat transfer coefficient between
     250                                                                   !< surface and air (chap. 7.2.2.2)
    239251    REAL(wp), PARAMETER ::  h_ms                     = 9.1_wp      !< [W/(m2 K)] surface-related heat transfer coefficient between component and surface (chap. 12.2.2)
    240252    REAL(wp), PARAMETER ::  params_f_f               = 0.3_wp      !< [-] frame ratio chap. 8.3.2.1.1 for buildings with mostly cooling 2.0_wp
    241     REAL(wp), PARAMETER ::  params_f_w               = 0.9_wp      !< [-] correction factor (fuer nicht senkrechten Stahlungseinfall DIN 4108-2 chap.8, (hier konstant, keine WinkelabhÀngigkeit)
    242     REAL(wp), PARAMETER ::  params_f_win             = 0.5_wp      !< [-] proportion of window area, Database A_win aus Datenbank 27 window_area_per_facade_percent
    243     REAL(wp), PARAMETER ::  params_solar_protection  = 300.0_wp    !< [W/m2] chap. G.5.3.1 sun protection closed, if the radiation on facade exceeds this value
     253    REAL(wp), PARAMETER ::  params_f_w               = 0.9_wp      !< [-] correction factor (fuer nicht senkrechten Stahlungseinfall
     254                                                                   !< DIN 4108-2 chap.8, (hier konstant, keine WinkelabhÀngigkeit)
     255    REAL(wp), PARAMETER ::  params_f_win             = 0.5_wp      !< [-] proportion of window area, Database A_win aus
     256                                                                   !< Datenbank 27 window_area_per_facade_percent
     257    REAL(wp), PARAMETER ::  params_solar_protection  = 300.0_wp    !< [W/m2] chap. G.5.3.1 sun protection closed, if the radiation
     258                                                                   !< on facade exceeds this value
    244259
    245260   
     
    525540    build_ids = build_ids_l
    526541#endif
    527 
    528542!
    529543!-- Note: in parallel mode, building IDs can occur mutliple times, as
     
    749763       ENDDO
    750764    ENDDO
    751 
    752765!
    753766!-- Determine total number of facade elements per building and assign number to
     
    887900    ENDDO
    888901    DEALLOCATE( n_fa )
    889 
    890902!
    891903!-- Initialize building parameters, first by mean building type. Note,
     
    9921004        ENDDO
    9931005    ENDIF
    994 
    9951006!
    9961007!-- Calculation of surface-related heat transfer coeffiecient
     
    10171028!-- Initialize indoor temperature. Actually only for output at initial state.
    10181029    DO  nb = 1, num_build
    1019        buildings(nb)%t_in(:) = initial_indoor_temperature
     1030       IF ( buildings(nb)%on_pe )                                              &
     1031          buildings(nb)%t_in(:) = initial_indoor_temperature
    10201032    ENDDO
    10211033
Note: See TracChangeset for help on using the changeset viewer.