How to add a heating/cooling system in CEA
Step 0: Make an issue and create a branch
As this procedure requires adding scripts in CEA master, please make a branch before performing the changes.
Step 1: Add the new system to the database
Open
cea/databases/systems/emission_systems.xlsIn the tab
heatingorcooling, add a row for the new system.Specify the operating conditions of the new system, for cooling systems:
code: add a new codeTxthat has not been used.
Qcsmax_Wm2: maximum cooling capacity of the system.
dTcs_C:
For Air Handling Units (ahu), if applicable:
Tscs0_ahu_C: coolant (water) supply temperature at the primary sidedTcs0_ahu_C: temperature change of the coolant at the primary sideTc_sup_air_ahu_C: air supply temperature from ahu to the room
For Air Recirculation Units (aru), if applicable:
Tscs0_aru_C: coolant (water) supply temperature at the primary sidedTcs0_aru_C: temperature change of the coolant at the primary sideTc_sup_air_aru_C: air supply temperature from ahu to the room
For Sensible Cooling Units (scu), if applicable:
Tscs0_scu_C: coolant (water) supply temperature at the primary sidedTcs0_scu_C: temperature change of the coolant at the primary side
Step 2: Add the new system to the options
Go to script
cea/demand/control_heating_cooling_systems.pyAdd the code of the new systems (Tx) to function
has_cooling_systemsorhas_heating_systemsAdd a new function that check the type of the system, similar to
has_3for2_cooling_systems
Step 3: Add a new function to model new technologies
Currently, there are models for AHU, ARU, SCU running with heating/cooling coil. If the new systems is utilizing different technologies, the models should be added to airconditioning_model.py.
Step 3: Add a new function to calculate cooling/heating loads
Go to script
cea/demand/hourly_procedure_heating_cooling_system_load.pyAdd a new function to set up the calculation procedure for cooling/heating loads, similar to
calc_cool_loads_3for2
Step 4: Add distribution losses
Go to cea/demand/sensible_loads.py
Update calc_Qhs_Qcs_loss
Step 5: Calculate temperature and mass flow primary supply systems
Go to cea/demand/sensible_loads.py
Update calc_temperatures_emission_systems
Step 6: Calculate auxiliary electricity
calc_Eauxf_cs_dis calc_Eauxf_hs_dis