cea.technologies package

Submodules

cea.technologies.blinds module

blinds

cea.technologies.blinds.calc_blinds_activation(radiation, g_gl, Rf_sh)[source]

This function calculates the blind operation according to ISO 13790.

Parameters:
  • radiation – radiation in [W/m2]
  • g_gl – window g value
  • Rf_sh – shading factor

cea.technologies.boilers module

condensing boilers

cea.technologies.boilers.calc_Cinv_boiler(Q_design, Q_annual, gV)[source]

Calculates the annual cost of a boiler (based on A+W cost of oil boilers) [CHF / a] and Faz. 2012 data

:type Q_design : float :param Q_design: Design Load of Boiler in [W]

:type Q_annual : float :param Q_annual: Annual thermal load required from Boiler in [Wh]

Parameters:gV – globalvar.py

:rtype InvCa : float :returns InvCa: Annualized investment costs in CHF/a including Maintenance Cost

cea.technologies.boilers.calc_Cop_boiler(Q_load, Q_design, T_return_to_boiler)[source]

This function calculates efficiency for operation of condensing Boilers based on LHV. This efficiency accounts for boiler efficiency only (not plant efficiency!)

operational efficiency after:
http://www.greenshootscontrols.net/?p=153
Parameters:
  • Q_load (float) – Load of time step
  • Q_design (float) – Design Load of Boiler

:type T_return_to_boiler : float :param T_return_to_boiler: Return Temperature of the network to the boiler [K]

Retype boiler_eff:
 float
Returns boiler_eff:
 efficiency of Boiler (Lower Heating Value), in abs. numbers
cea.technologies.boilers.cond_boiler_op_cost(Q_therm, Q_design, T_return_to_boiler, BoilerFuelType, ElectricityType, gV)[source]

Calculates the operation cost of a Condensing Boiler (only operation, not annualized cost)

:type Q_therm : float :param Q_therm: Load of time step

Parameters:Q_design (float) – Design Load of Boiler

:type T_return_to_boiler : float :param T_return_to_boiler: return temperature to Boiler (from DH network)

Parameters:gV – globalvar.py

:rtype C_boil_therm : float :returns C_boil_therm: Total generation cost for required load (per hour) in CHF

:rtype C_boil_per_Wh : float :returns C_boil_per_Wh: cost per Wh in CHF / kWh

:rtype Q_primary : float :returns Q_primary: required thermal energy per hour (in Wh Natural Gas)

Rtype E_aux_Boiler:
 float
Returns E_aux_Boiler:
 auxiliary electricity of boiler operation
cea.technologies.boilers.cond_boiler_operation(Q_load, Q_design, T_return_to_boiler)[source]

This function calculates efficiency for operation of condensing Boilers at DH plant based on LHV. This efficiency accounts for boiler efficiency only (not plant efficiency!)

operational efficiency after:
http://www.greenshootscontrols.net/?p=153
Parameters:
  • Q_load (float) – Load of time step
  • Q_design (float) – Design Load of Boiler

:type T_return_to_boiler : float :param T_return_to_boiler: Return Temperature of the network to the boiler [K]

Retype boiler_eff:
 float
Returns boiler_eff:
 efficiency of Boiler (Lower Heating Value), in abs. numbers

cea.technologies.chillers module

Vapor-compressor chiller

cea.technologies.chillers.calc_Cinv_VCC(qcold, gV)[source]

Annualized investment costs for the vapor compressor chiller

:type qcold : float :param qcold: peak cooling demand in [W] :param gV: globalvar.py

Returns InvCa:annualized chiller investment cost in CHF/a
Rtype InvCa:float
cea.technologies.chillers.calc_VCC(mdot, tsup, tret, gV)[source]

For the operation of a Vapor-compressor chiller between a district cooling network and a condenser with fresh water to a cooling tower following [D.J. Swider, 2003]_.

:type mdot : float :param mdot: plant supply mass flow rate to the district cooling network :type tsup : float :param tsup: plant supply temperature to DCN :type tret : float :param tret: plant return temperature from DCN :param gV: globalvar.py

:rtype wdot : float :returns wdot: chiller electric power requirement :rtype qhotdot : float :returns qhotdot: condenser heat rejection

..[D.J. Swider, 2003] D.J. Swider (2003). A comparison of empirically based steady-state models for vapor-compression liquid chillers. Applied Thermal Engineering.

cea.technologies.cogeneration module

cogeneration (combined heat and power)

cea.technologies.cogeneration.CC_Op(wdot, gt_size, fuel, tDH, gV)[source]

Operation Function of Combined Cycle at given electricity Demand (wdot). The gas turbine (GT) exhaust gas is used by the steam turbine (ST).

:type wdot : float :param wdot: Electric load that is demanded to the gas turbine (only GT output, not CC output!) :type gt_size : float :param gt_size: size of the gas turbine and (not CC)(P_el_max) :type fuel : string :param fuel: fuel used, either ‘NG’ (natural gas) or ‘BG’ (biogas) :type tDH : float :param tDH: plant supply temperature to district heating network (hot) :param gV: globalvar.py

:rtype wtot : float :returns wtot: total electric power output from the combined cycle (both GT + ST !) :rtype qdot : float :returns qdot: thermal output from teh combined cycle :rtype eta_elec : float :returns eta_elec: total electric efficiency :rtype eta_heat : float :returns eta_heat: total thermal efficiency :rtype eta_all : float :returns eta_all: sum of total electric and thermal efficiency

cea.technologies.cogeneration.GT_fullLoadParam(gt_size, fuel, gV)[source]

Calculates gas turbine efficiency and exhaust gas mass flow rate at full load.

:type gt_size : float :param gt_size: Maximum electric load that is demanded to the gas turbine :type fuel : string :param fuel: fuel used, either NG (Natural Gas) or BG (Biogas) :param gV: globalvar.py

:rtype eta0 : float :returns eta0: efficiency at full load :rtype mdot0 : float :returns mdot0: exhaust gas mass flow rate at full load

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.cogeneration.GT_partLoadParam(wdot, gt_size, eta0, mdot0, fuel, gV)[source]

Calculates GT operational parameters at part load

:type wdot : float :param wdot: GT electric output (load) :type gt_size : float :param gt_size: Maximum electric load that is demanded to the gas turbine :type eta0 : float :param eta0: GT part-load electric efficiency :type mdot0 : float :param mdot0: GT part-load exhaust gas mass flow :type fuel : string :param fuel: fuel used, either ‘NG’ (natural gas) or ‘BG’ (biogas)

:rtype eta : float :returns eta: GT part-load electric efficiency :rtype mdot : float :returns mdot: GT part-load exhaust gas mass flow rate :rtype texh : float :returns texh: exhaust gas temperature :rtype mdotfuel : float :returns mdotfuel: mass flow rate of fuel(gas) requirement

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.cogeneration.ST_Op(mdot, texh, tDH, fuel, gV)[source]

Operation of a double pressure (LP,HP) steam turbine connected to a district heating network following [C. Weber, 2008]_

:type mdot : float :param mdot: GT part-load exhaust gas mass flow rate :type texh : float :param texh: GT exhaust gas temperature :type tDH : float :param tDH: plant supply temperature to district heating network (hot) :param fuel: fuel used, either ‘NG’ (natural gas) or ‘BG’ (biogas) :type tDH : float :param gV: globalvar.py

:rtype qdot : float :returns qdot: heat power supplied to the DHN :rtype wdotfin : float :returns wdotfin: electric power generated from the steam cycle

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.cogeneration.calc_Cinv_CCT(CC_size, gV)[source]

Annualized investment costs for the Combined cycle

:type CC_size : float :param CC_size: Electrical size of the CC

:rtype InvCa : float :returns InvCa: annualized investment costs in CHF

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.cogeneration.calc_Cinv_FC(P_design, gV)[source]

Calculates the investment cost of a Fuel Cell in CHF

http://hexis.com/sites/default/files/media/publikationen/140623_hexis_galileo_ibb_profitpaket.pdf?utm_source=HEXIS+Mitarbeitende&utm_campaign=06d2c528a5-1_Newsletter_2014_Mitarbeitende_DE&utm_medium=email&utm_term=0_e97bc1703e-06d2c528a5-

:type P_design : float :param P_design: Design thermal Load of Fuel Cell [W_th]

Rtype InvCa:float
Returns InvCa:annualized investment costs in CHF
cea.technologies.cogeneration.calc_Cop_CCT(GT_SIZE, T_DH_Supply, fuel, gV)[source]

The function iterate the CCT operation between its nominal capacity and minimum load and generate linear functions of the GT operation.

This generated function calculates Operation Point and associated costs of the cogeneration at given thermal load (Q_therm_requested).

How to use the return functions : input Q_therm_requested into the output interpolation functions Conditions: not below or above boundaries Q_therm_min & Q_therm_max

:type GT_SIZE : float :param GT_SIZE: Nominal capacity of Gas Turbine (only GT not cogeneration)

:type T_DH_Supply : float :param T_DH_Supply: CHP plant supply temperature to DHN

:type fuel : string :param fuel: type of fuel, either “NG” or “BG”

Parameters:gV – globalvar.py

:rtype wdot_interpol : function :returns wdot_interpol: interpolation function for part load electricity requirement for given Q_therm_requested

Rtype Q_used_prim_interpol:
 function
Returns Q_used_prim_interpol:
 interpolation function, primary energy used for given Q_therm_requested

:rtype cost_per_Wh_th_incl_el_interpol : function :returns cost_per_Wh_th_incl_el_interpol: interpolation function, operation cost per thermal energy generated at Q_therm_requested

:rtype Q_therm_min : float :returns Q_therm_min: minimum thermal energy output

:rtype Q_therm_max : float :returns Q_therm_max: maximum thermal energy output

Rtype eta_elec_interpol:
 function
Returns eta_elec_interpol:
 interpolation function, electrical efficiency at Q_therm_requested

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.cogeneration.calc_eta_FC(Q_load, Q_design, phi_threshold, approach_call)[source]

Efficiency for operation of a SOFC (based on LHV of NG) including all auxiliary losses Valid for Q_load in range of 1-10 [kW_el]

Modeled after:
Approach A (NREL Approach):
http://energy.gov/eere/fuelcells/distributedstationary-fuel-cell-systems and NREL : p.5 of [M. Zolot et al., 2004]_

Approach B (Empiric Approach): [Iain Staffell]_

:type Q_load : float :param Q_load: Load at each time step

:type Q_design : float :param Q_design: Design Load of FC

:type phi_threshold : float :param phi_threshold: where Maximum Efficiency is reached, used for Approach A

:type approach_call : string :param appraoch_call: choose “A” or “B”: A = NREL-Approach, B = Empiric Approach

:rtype eta_el : float :returns eta_el: electric efficiency of FC (Lower Heating Value), in abs. numbers

:rtype Q_fuel : float :returns Q_fuel: Heat demand from fuel (in Watt)

..[M. Zolot et al., 2004] M. Zolot et al., Analysis of Fuel Cell Hybridization and Implications for Energy Storage Devices, NREL, 4th International Advanced Automotive Battery. http://www.nrel.gov/vehiclesandfuels/energystorage/pdfs/36169.pdf

..[Iain Staffell, 2009] Iain Staffell, For Domestic Heat and Power: Are They Worth It?, PhD Thesis, Birmingham: University of Birmingham. http://etheses.bham.ac.uk/641/1/Staffell10PhD.pdf

cea.technologies.controllers module

controllers

cea.technologies.controllers.calc_simple_temp_control(tsd, prop_comfort, limit_inf_season, limit_sup_season, weekday)[source]
cea.technologies.controllers.calc_simple_ventilation_control(ve, people, Af, gv, hour_day, hour_year, n50)[source]

Modified version of calc_simple_ventilation_control from functions. Fixed infiltration according to schedule is only considered for mechanically ventilated buildings.

ve : required ventilation rate according to schedule (?) people : occupancy schedules (pax?) Af : conditioned floor area (m2) gv : globalvars hour_day : hour of the day [0..23] hour_year : hour of the year [0..8760] n50 : building envelope leakiness from archetypes

q_req : required ventilation rate schedule (m3/s)

cea.technologies.controllers.calc_ventialtion_HVAC_buildings(area_envelope, HVAC_on, Tin, Tout, ws, method)[source]

infiltration according to energy plus, blast, or DOE2 tools

cea.technologies.controllers.temperature_control_tabs(bpr, tsd, hoy, gv, control)[source]

Controls for TABS operating temperature based on the operating parameters defined by Koschenz and Lehmann “Thermoaktive Bauteilsysteme (TABS)” (2000), that is: maximum surface temperature and maximum temperature difference between TABS surface and air. If either of these is exceeded, they are set to the maximum and all temperatures are recalculated. The formulas below are simply reformulations of the calculations in the R-C model.

cea.technologies.cooling_tower module

System Modeling: Cooling tower

cea.technologies.cooling_tower.calc_CT(qhotdot, Qdesign, gV)[source]

For the operation of a water condenser + direct cooling tower based on [B. Stephane, 2012]_

:type qhotdot : float :param qhotdot: heating power to condenser, From Model_VCC :type Qdesign : float :param Qdesign: Max cooling power

:type wdot : float :param wdot: electric power needed for the variable speed drive fan

..[B. Stephane, 2012] B. Stephane (2012), Evidence-Based Model Calibration for Efficient Building Energy Services. PhD Thesis, University de Liege, Belgium

cea.technologies.cooling_tower.calc_Cinv_CT(CT_size, gV)[source]

Annualized investment costs for the Combined cycle

:type CT_size : float :param CT_size: Size of the Cooling tower in [W]

:rtype InvCa : float :returns InvCa: annualized investment costs in Dollars

cea.technologies.furnace module

furnaces

cea.technologies.furnace.calc_Cinv_furnace(Q_design, Q_annual, gv)[source]

Calculates the annualized investment cost of a Furnace based on Bioenergy 2020 (AFO) and POLYCITY Ostfildern

:type Q_design : float :param Q_design: Design Load of Boiler

:type Q_annual : float :param Q_annual: annual thermal Power output [Wh]

Parameters:gV – globalvar.py

:rtype InvC_return : float :returns InvC_return: total investment Cost for building the plant

:rtype InvCa : float :returns InvCa: annualized investment costs in [CHF] including O&M

cea.technologies.furnace.calc_eta_furnace(Q_load, Q_design, T_return_to_boiler, MOIST_TYPE, gv)[source]

Efficiency for Furnace Plant (Wood Chip CHP Plant, Condensing Boiler) based on LHV.

Capacity : 1-10 [MW], Minimum Part Load: 30% of P_design Source: POLYCITY HANDBOOK 2012

:type Q_load : float :param Q_load: Load of time step

:type Q_design : float :param Q_design: Design Load of Boiler

:type T_return_to_boiler : float :param T_return_to_boiler: return temperature to the boiler

:type MOIST_TYPE : float :param MOIST_TYPE: moisture type of the fuel, set in MasterToSlaveVariables (‘wet’ or ‘dry’)

Parameters:gV – globalvar.py

up to 6MW_therm_out Capacity proven! = 8 MW th (burner)

:rtype eta_therm : float :returns eta_therm: thermal Efficiency of Furnace (LHV), in abs. numbers

:rtype eta_el : float :returns eat_el: electric efficiency of Furnace (LHV), in abs. numbers

:rtyp;e Q_aux : float :returns Q_aux: auxiliary power for Plant operation [W]

cea.technologies.furnace.furnace_op_cost(Q_therm, Q_design, T_return_to_boiler, MOIST_TYPE, gv)[source]

Calculates the operation cost of a furnace plant (only operation, no annualized cost!)

:type Q_therm : float :param Q_therm: thermal energy required from furnace plant in [Wh]

:type Q_design : float :param Q_design: Design Load of Boiler [W]

:type T_return_to_boiler : float :param T_return_to_boiler: return temperature to the boiler

:type MOIST_TYPE : float :param MOIST_TYPE: moisture type of the fuel, set in MasterToSlaveVariables (‘wet’ or ‘dry’)

Parameters:gV – globalvar.py

:rtype C_furn : float :returns C_furn: Total generation cost for required load (per hour) in [CHF], including profits from electricity sold

:rtype C_furn_per_kWh : float :returns C_furn_per_kWh: cost generation per kWh thermal energy produced in [Rp / kWh], including profits from electricity sold

:rtype Q_primary : float :returns Q_primary: required thermal energy per hour [Wh] of wood chips

:rtype E_furn_el_produced : float :returns E_furn_el_produced: electricity produced by furnace plant in [Wh]

cea.technologies.heat_exchangers module

heat exchangers

cea.technologies.heat_exchangers.calc_Cinv_HEX(Q_design, gV)[source]

Calculates the cost of a heat exchanger (based on A+W cost of oil boilers) [CHF / a]

:type Q_design : float :param Q_design: Design Load of Boiler

Parameters:gV – globalvar.py

:rtype InvC_return : float :returns InvC_return: total investment Cost in [CHF]

:rtype InvCa : float :returns InvCa: annualized investment costs in [CHF/a]

cea.technologies.heating_coils module

Heating and cooling coils of Air handling units

cea.technologies.heating_coils.calc_cooling_coil(Qcsf, Qcsf_0, Ta_sup_cs, Ta_re_cs, Tcs_sup_0, Tcs_re_0, ma_sup_cs, ma_sup_0, Ta_sup_0, Ta_re_0, Cpa, gv)[source]
cea.technologies.heating_coils.calc_heating_coil(Qhsf, Qhsf_0, Ta_sup_hs, Ta_re_hs, Ths_sup_0, Ths_re_0, ma_sup_hs, ma_sup_0, Ta_sup_0, Ta_re_0, Cpa, gv)[source]

cea.technologies.heatpumps module

heatpumps

cea.technologies.heatpumps.GHP_InvCost(GHP_Size, gV)[source]

Calculates the annualized investment costs for the geothermal heat pump

:type GHP_Size : float :param GHP_Size: Design electrical size of the heat pump in [Wel]

InvCa : float
annualized investment costs in EUROS/a
cea.technologies.heatpumps.GHP_Op_max(tsup, tground, nProbes, gV)[source]

For the operation of a Geothermal heat pump (GSHP) at maximum capacity supplying DHN.

:type tsup : float :param tsup: supply temperature to the DHN (hot) :type tground : float :param tground: ground temperature :type nProbes: float :param nProbes: bumber of probes :param gV: globalvar.py

Rtype qhotdot:float
Returns qhotdot:
 heating energy provided from GHSP
Rtype COP:float
Returns COP:coefficient of performance of GSHP
cea.technologies.heatpumps.GHP_op_cost(mdot, tsup, tret, gV, COP)[source]

Operation cost of GSHP supplying DHN

:type mdot : float :param mdot: supply mass flow rate to the DHN :type tsup : float :param tsup: supply temperature to the DHN (hot) :type tret : float :param tret: return temeprature from the DHN (cold) :type COP: float :param COP: coefficient of performance of GSHP :param gV: globalvar.py

Rtype C_GHP_el:float
Returns C_GHP_el:
 electricity cost of GSHP operation
Rtype wdot:float
Returns wdot:electricty required for GSHP operation
Rtype qcoldot:float
Returns qcoldot:
 cold power requirement
Rtype q_therm:float
Returns q_therm:
 thermal energy supplied to DHN
cea.technologies.heatpumps.HPLake_Op(mdot, tsup, tret, tlake, gV)[source]

For the operation of a Heat pump between a district heating network and a lake

:type mdot : float :param mdot: supply mass flow rate to the DHN :type tsup : float :param tsup: supply temperature to the DHN (hot) :type tret : float :param tret: return temeprature from the DHN (cold) :type tlake : float :param tlake: lake temperature :param gV: globalvar.py

:rtype wdot_el : float :returns wdot_el: total electric power requirement for compressor and auxiliary el. :rtype qcolddot : float :returns qcolddot: cold power requirement

..[L. Girardin et al., 2010] L. Girardin, F. Marechal, M. Dubuis, N. Calame-Darbellay, D. Favrat (2010). EnerGis: a geographical information based system for the evaluation of integrated energy conversion systems in urban areas, Energy.

..[C. Montagud et al., 2014] C. Montagud, J.M. Corberan, A. Montero (2014). In situ optimization methodology for the water circulation pump frequency of ground source heat pump systems. Energy and Buildings

cea.technologies.heatpumps.HPLake_op_cost(mdot, tsup, tret, tlake, gV)[source]

For the operation of lake heat pump supplying DHN

:type mdot : float :param mdot: supply mass flow rate to the DHN :type tsup : float :param tsup: supply temperature to the DHN (hot) :type tret : float :param tret: return temeprature from the DHN (cold) :type tlake : float :param tlake: lake temperature :param gV: globalvar.py

Rtype C_HPL_el:float
Returns C_HPL_el:
 electricity cost of Lake HP operation
Rtype wdot:float
Returns wdot:electricty required for Lake HP operation
Rtype Q_cold_primary:
 float
Returns Q_cold_primary:
 cold power requirement
Rtype Q_therm:float
Returns Q_therm:
 thermal energy supplied to DHN
cea.technologies.heatpumps.HPSew_op_cost(mdot, tsup, tret, tsupsew, gV)[source]

Operation cost of sewage water HP supplying DHN

:type mdot : float :param mdot: supply mass flow rate to the DHN :type tsup : float :param tsup: supply temperature to the DHN (hot) :type tret : float :param tret: return temeprature from the DHN (cold) :type tsupsew : float :param tsupsew: sewage supply temperature :param gV: globalvar.py

Rtype C_HPSew_el_pure:
 float
Returns C_HPSew_el_pure:
 electricity cost of sewage water HP operation
Rtype C_HPSew_per_kWh_th_pure:
 float
Returns C_HPSew_per_kWh_th_pure:
 electricity cost per kWh thermal energy produced from sewage water HP
Rtype qcoldot:float
Returns qcoldot:
 cold power requirement
Rtype q_therm:float
Returns q_therm:
 thermal energy supplied to DHN
Rtype wdot:float
Returns wdot:electricty required for sewage water HP operation

..[L. Girardin et al., 2010] L. Girardin, F. Marechal, M. Dubuis, N. Calame-Darbellay, D. Favrat (2010). EnerGis: a geographical information based system for the evaluation of integrated energy conversion systems in urban areas, Energy.

cea.technologies.heatpumps.calc_Cinv_GHP(GHP_Size, gV)[source]

Calculates the annualized investment costs for the geothermal heat pump

:type GHP_Size : float :param GHP_Size: Design electrical size of the heat pump in [Wel]

:type InvCa : float :returns InvCa: annualized investment costs in [EUROS/a]

..[D. Bochatay et al., 2005] D. Bochatay, I. Blanc, O. Jolliet, F. Marechal, T. Manasse-Ratmandresy (2005). Project PACOGEN Evaluation economique et environmentale de systemes energetiques a usage residentiel., EPFL.

cea.technologies.heatpumps.calc_Cinv_HP(HP_Size, gV)[source]

Calculates the annualized investment costs for the heat pump

:type HP_Size : float :param HP_Size: Design thermal size of the heat pump in [W]

:rtype InvCa : float :returns InvCa: annualized investment costs in [CHF/a]

..[C. Weber, 2008] C.Weber, Multi-objective design and optimization of district energy systems including polygeneration energy conversion technologies., PhD Thesis, EPFL

cea.technologies.heatpumps.calc_Cop_GHP(mdot, tsup, tret, tground, gV)[source]

For the operation of a Geothermal heat pump (GSHP) supplying DHN.

:type mdot : float :param mdot: supply mass flow rate to the DHN :type tsup : float :param tsup: supply temperature to the DHN (hot) :type tret : float :param tret: return temeprature from the DHN (cold) :type tground : float :param tground: ground temperature :param gV: globalvar.py

:rtype wdot_el : float :returns wdot_el: total electric power requirement for compressor and auxiliary el. :rtype qcolddot : float :returns qcolddot: cold power requirement :rtype qhotdot_missing : float :returns qhotdot_missing: deficit heating energy from GSHP :rtype tsup2 : :returns tsup2: supply temperature after HP (to DHN)

..[O. Ozgener et al., 2005] O. Ozgener, A. Hepbasli (2005). Experimental performance analysis of a solar assisted ground-source heat pump greenhouse heating system, Energy Build. ..[C. Montagud et al., 2014] C. Montagud, J.M. Corberan, A. Montero (2014). In situ optimization methodology for the water circulation pump frequency of ground source heat pump systems. Energy and Buildings

cea.technologies.photovoltaic module

photovoltaic

cea.technologies.photovoltaic.Calc_PV_power(S, Tcell, eff_nom, areagroup, Bref, misc_losses)[source]
cea.technologies.photovoltaic.Calc_Sm_PV(te, I_sol, I_direct, I_diffuse, tilt, Sz, teta, tetad, tetaeg, n, Pg, K, NOCT, a0, a1, a2, a3, a4, L)[source]
cea.technologies.photovoltaic.Calc_diffuseground_comp(tilt_radians)[source]
cea.technologies.photovoltaic.calc_Cinv_pv(P_peak)[source]

P_peak in kW result in CHF Lifetime 20 y

cea.technologies.photovoltaic.calc_Crem_pv(E_nom)[source]

Calculates KEV (Kostendeckende Einspeise - Verguetung) for solar PV and PVT. Therefore, input the nominal capacity of EACH installation and get the according KEV as return in Rp/kWh

Parameters:E_nom – Nominal Capacity of solar panels (PV or PVT) in Wh
Returns:KEV_obtained_in_RpPerkWh : float KEV remuneration in Rp / kWh
cea.technologies.photovoltaic.calc_properties_PV(type_PVpanel)[source]
cea.technologies.photovoltaic.calc_pv_generation(type_panel, hourly_radiation, Number_groups, number_points, prop_observers, weather_data, g, Sz, Az, ha, latitude, misc_losses)[source]
cea.technologies.photovoltaic.calc_pv_main(locator, sensors_data, radiation, latitude, longitude, year, gv, weather_path)[source]
cea.technologies.photovoltaic.test_photovoltaic()[source]

cea.technologies.photovoltaic_thermal module

Photovoltaic thermal panels

cea.technologies.photovoltaic_thermal.Calc_PVT_module(tilt_angle, IAM_b_vector, I_direct_vector, I_diffuse_vector, Te_vector, n0, c1, c2, mB0_r, mB_max_r, mB_min_r, C_eff, t_max, IAM_d, Area_a, dP1, dP2, dP3, dP4, Tin, Leq, Le, Nseg, eff_nom, Bref, Sm_pv, Tcell_pv, misc_losses, areagroup)[source]
cea.technologies.photovoltaic_thermal.calc_Cinv_PVT(P_peak)[source]

P_peak in kW result in CHF

cea.technologies.photovoltaic_thermal.calc_PVT(locator, sensors_data, radiation, latitude, longitude, year, gv, weather_path)[source]
cea.technologies.photovoltaic_thermal.calc_PVT_generation(type_panel, hourly_radiation, Number_groups, number_points, prop_observers, weather_data, g, Sz, Az, ha, latitude, misc_losses, type_SCpanel, Tin, height)[source]
cea.technologies.photovoltaic_thermal.test_PVT()[source]

cea.technologies.pumps module

pumps

cea.technologies.pumps.Pump_Cost(deltaP, mdot, eta_pumping, gV)[source]

Calculates the cost of a pumping device. if the nominal load (electric) > 375kW, a new pump is installed if the nominal load (electric) < 500W, a pump with Pel_design = 500W is assumed

Investment costs are calculated upon the life time of a GHP (20y) and a GHP- related interest rate of 6%

:type deltaP : float :param deltaP: nominal pressure drop that has to be overcome with the pump

:type mdot : float :param mdot: nominal mass flow

:type eta_pumping : float :param pump efficiency: (set 0.8 as standard value, eta = E_pumping / E_elec)

:rtype InvCa : float :returns InvCa: annualized investment costs in CHF/year

cea.technologies.pumps.Pump_operation(P_design)[source]
Modeled after:
05_merkblatt_wirtschaftlichkeit_14.pdf 23_merkblatt_pumpen_web.pdf ER_2010_11_Heizungspumpen.pdf MerkblattPreiseFU2010_2011.pdf MerkblattPreiseMotoren2010_2011.pdf
P_design : float
Load of time step
eta_el : float
electric efficiency of Pumping operation in abs. numbers (e.g. 0.93)
cea.technologies.pumps.calc_Cinv_pump(deltaP, mdot, eta_pumping, gV)[source]

Calculates the cost of a pumping device. if the nominal load (electric) > 375kW, a new pump is installed if the nominal load (electric) < 500W, a pump with Pel_design = 500W is assumed

Investement costs are calculated upon the life time of a GHP (20y) and a GHP- related interest rate of 6%

:type deltaP : float :param deltaP: nominal pressure drop that has to be overcome with the pump

:type mdot : float :param mdot: nominal mass flow

:type eta_pumping : float :param pump efficiency: (set 0.8 as standard value, eta = E_pumping / E_elec)

:rtype InvC_return : float :returns InvC_return: total investment Cost in CHF

:rtype InvCa : float :returns InvCa: annualized investment costs in CHF/year

cea.technologies.pumps.calc_Ctot_pump(dicoSupply, buildList, network_results_folder, ntwFeat, gV)[source]

Computes the total pump investment cost

:type dicoSupply : class context :type buildList : list :param buildList: list of buildings in the district :type network_results_folder : string :param network_results_folder: path to network results folder :type ntwFeat : class ntwFeatures

:rtype pumpCosts : float :returns pumpCosts: pumping cost

cea.technologies.radiators module

heating radiators

cea.technologies.radiators.calc_radiator(Qh, tair, Qh0, tair0, tsh0, trh0)[source]
cea.technologies.radiators.fh(x, mCw0, k2, Qh0, tair, LMRT, nh)[source]
cea.technologies.radiators.lmrt(tair0, trh0, tsh0)[source]

cea.technologies.sewage_heat_exchanger module

Sewage source heat exchanger

cea.technologies.sewage_heat_exchanger.calc_Sewagetemperature(Qwwf, Qww, tsww, trww, totwater, mcpww, cp, density, SW_ratio)[source]

Calculate sewage temperature and flow rate released from DHW usages and Fresh Water (FW) in buildings.

Parameters:
  • Qwwf (float) – final DHW heat requirement
  • Qww (float) – DHW heat requirement
  • tsww (float) – DHW supply temperature
  • trww (float) – DHW return temperature
  • totwater (float) – fresh water flow rate
  • mcpww (float) – DHW heat capacity
  • cp (float) – water specific heat capacity
  • density – water density
  • SW_ratio (float) – ratio of waste water to fresh water production.
Returns mcp_combi:
 

sewage water heat capacity [kWh/K]

Rtype mcp_combi:
 

float

Returns t_to_sewage:
 

sewage water temperature

Rtype t_to_sewage:
 

float

cea.technologies.sewage_heat_exchanger.calc_sewage_heat_exchanger(locator, Length_HEX_available, gv)[source]

Calaculate the heat extracted from the sewage HEX.

Parameters:
  • locator – an InputLocator instance set to the scenario to work on
  • Length_HEX_available (float) – HEX length available
  • gv – globalvar.py

Save the results to SWP.csv

cea.technologies.sewage_heat_exchanger.calc_sewageheat(mcp, tin, w_HEX, Vf, cp, h0, min_m, L_HEX, tmin, ATmin)[source]

Calculates the operation of sewage heat exchanger.

Parameters:
  • mcp (float) – heat capacity of total sewage in a zone
  • tin (float) – sewage inlet temperature of a zone
  • w_HEX (float) – width of the sewage HEX
  • Vf (float) – sewage flow rate [m/s]
  • cp (float) – water specific heat capacity
  • h0 (float) – sewage heat transfer coefficient
  • min_m (float) – sewage minimum flow rate in [lps]
  • L_HEX (float) – HEX length available
  • tmin (float) – minimum temperature of extraction
  • ATmin (float) – minimum area of heat exchange
Returns Q_source:
 

heat supplied by sewage

Return type:

float

Returns t_source:
 

sewage heat supply temperature

Rtype t_source:

float

Returns tb2:

sewage return temperature

Rtype tbs:

float

Returns ta1:

temperature inlet of the cold stream (from the HP)

Rtype ta1:

float

Returns ta2:

temperature outlet of the cold stream (to the HP)

Rtype ta2:

float

..[J.A. Fonseca et al., 2016] J.A. Fonseca, Thuy-An Nguyen, Arno Schlueter, Francois Marechal (2016). City Enegy Analyst (CEA): Integrated framework for analysis and optimization of building energy systems in neighborhoods and city districts. Energy and Buildings.

cea.technologies.sewage_heat_exchanger.test_ss_heatpump()[source]

cea.technologies.solar_collector module

solar collectors

cea.technologies.solar_collector.Calc_SC_module2(radiation, tilt_angle, IAM_b_vector, I_direct_vector, I_diffuse_vector, Te_vector, n0, c1, c2, mB0_r, mB_max_r, mB_min_r, C_eff, t_max, IAM_d, Area_a, dP1, dP2, dP3, dP4, Tin, Leq, Le, Nseg)[source]
cea.technologies.solar_collector.Calc_incidenteangleB(g, lat, ha, tilt, teta_z)[source]
cea.technologies.solar_collector.Calc_qloss_net(Mfl, Le, Area_a, Tm, Te, maxmsc)[source]
cea.technologies.solar_collector.SC_generation(type_SCpanel, group_radiation, prop_observers, number_points, weather_data, g, Sz, Az, ha, latitude, Tin, height)[source]
cea.technologies.solar_collector.Selectminimumenergy2(m, q, dp)[source]
cea.technologies.solar_collector.SelectminimumenergySc(q1, q2, q3, q4, E1, E2, E3, E4, m1, m2, m3, m4, dP1, dP2, dP3, dP4, Area_a)[source]
cea.technologies.solar_collector.calc_Cinv_SC(Area)[source]

Lifetime 35 years

cea.technologies.solar_collector.calc_Eaux_SC(qV_des, Dp_collector, Leq, Aa)[source]

auxiliary electricity solar collectort

Parameters:
  • qV_des
  • Dp_collector
  • Leq
  • Aa
Returns:

cea.technologies.solar_collector.calc_SC(locator, sensors_data, radiation, latitude, longitude, year, gv, weather_path)[source]
cea.technologies.solar_collector.calc_anglemodifierSC(Az_vector, g_vector, ha_vector, teta_z, tilt_angle, type_SCpanel, latitude, Sz_vector)[source]
cea.technologies.solar_collector.calc_groups(Clean_hourly, observers_fin)[source]
cea.technologies.solar_collector.calc_properties_SC(type_SCpanel)[source]

properties of module :param type_SCpanel: :return:

cea.technologies.solar_collector.calc_qgain(Tfl, Tabs, qrad, DT, TinSub, Tout, Aseg, c1, c2, Mfl, delts, Cpwg, C_eff, Te)[source]
cea.technologies.solar_collector.calc_qrad(n0, IAM_b, I_direct, IAM_d, I_diffuse, tilt)[source]
cea.technologies.solar_collector.optimal_angle_and_tilt(observers_all, latitude, worst_sh, worst_Az, transmittivity, grid_side, module_lenght, angle_north, Min_Isol, Max_Isol)[source]
cea.technologies.solar_collector.test_solar_collector()[source]

cea.technologies.storagetank module

Sensible Heat Storage - Fully Mixed tank

cea.technologies.storagetank.calc_Qww_ls_st(ta, te, Tww_st, V, Qww, Qww_ls_r, Qww_ls_nr, gv)[source]

This algorithm calculates the heat flows within a fully mixed water storage tank. Heat flows include sensible heat loss to the environment (ql), heat charged into the tank (qc), and heat discharged from the tank (qd).

Parameters:
  • Tww_st (float) – tank temperature in [C]
  • Tww_setpoint (float) – DHW temperature set point in [C]
  • ta (float) – room temperature in [C]
  • te (float) – ambient temperature in [C]
  • V (float) – DHW tank size in [m3]
  • Qww (float) – DHW demand in [W]
  • Qww_ls_r – recoverable loss in distribution in [W]
  • Qww_ls_nr (float) – non-recoverable loss in distribution in [W]
  • gv – globalvar.py
Return ql:

storage sensible heat loss in [W].

Return qd:

heat discharged from the tank in [W], including dhw heating demand and distribution heat loss.

Return qc:

heat charged into the tank in [W].

Rtype ql:

float

Rtype qd:

float

Rtype qc:

float

cea.technologies.storagetank.ode(y, t, ql, qd, qc, Pwater, Cpw, Vtank)[source]

This algorithm describe the energy balance of the dhw tank with a differential equation.

Parameters:
  • y (float) – storage sensible temperature in K.
  • t (float) – time steps.
  • ql (float) – storage tank sensible heat loss in W.
  • qd (float) – heat discharged from the tank in W.
  • qc (float) – heat charged into the tank in W.
Return dydt:

change in temperature at each time step.

cea.technologies.storagetank.solve_ode_storage(Tww_st_0, ql, qd, qc, Vtank, gv)[source]

This algorithm solves the differential equation, ode.

Parameters:
  • Tww_st_0 (float) – initial tank temperature in [C]
  • ql (float) – storage tank sensible heat loss in W.
  • qd (float) – heat discharged from the tank in W.
  • qc (float) – heat charged into the tank in W.
  • Vtank (float) – DHW tank size in [m3]
  • gv – globalvar.py
Returns y[1]:

solution of the ode

Rtype y[1]:

float

cea.technologies.substation module

Substation Model

cea.technologies.substation.calc_DC_supply(t_0, t_1)[source]

This function calculates the temperature of the district cooling network according to the minimum observed (different to zero) in all buildings connected to the grid.

Parameters:
  • t_0 – last minimum temperature
  • t_1 – current minimum temperature to evaluate
Returns:

tmin, new minimum temperature

cea.technologies.substation.calc_DH_supply(t_0, t_1)[source]

This function calculates the temperature of the district heating network according to the maximum observed in all buildings connected to the grid. :param t_0: last maximum temperature :param t_1: current maximum temperature :return: tmax, new maximum temperature

cea.technologies.substation.calc_HEX_cooling(Q, UA, thi, tho, tci, ch)[source]

This function calculates the mass flow rate, temperature of return (secondary side) and heat exchanger area for a plate heat exchanger. Method of Number of Transfer Units (NTU)

Parameters:
  • Q – cooling load
  • UA – coefficient representing the area of heat exchanger times the coefficient of transmittance of the heat exchanger
  • thi – in temperature of primary side
  • tho – out temperature of primary side
  • tci – in temperature of secondary side
  • ch – capacity mass flow rate primary side
Returns:

  • tco, out temperature of secondary side (district cooling network)
  • cc, capacity mass flow rate secondary side

cea.technologies.substation.calc_HEX_heating(Q, UA, thi, tco, tci, cc)[source]

This function calculates the mass flow rate, temperature of return (secondary side) and heat exchanger area for a shell-tube pleat exchanger in the heating case.

Method of Number of Transfer Units (NTU)

Parameters:
  • Q – load
  • UA – coefficient representing the area of heat exchanger times the coefficient of transmittance of the heat exchanger
  • thi – in temperature of secondary side
  • tco – out temperature of primary side
  • tci – in temperature of primary side
  • cc – capacity mass flow rate primary side
Returns:

  • tho, out temperature of secondary side (district cooling network)
  • ch, capacity mass flow rate secondary side

cea.technologies.substation.calc_HEX_mix(Q1, Q2, t1, m1, t2, m2)[source]

This function computes the average temperature between two vectors of heating demand. In this case, domestic hotwater and space heating.

Parameters:
  • Q1 – load heating
  • Q2 – load domestic hot water
  • t1 – out temperature of heat exchanger for space heating
  • m1 – mas flow rate secondary side of heat exchanger for space heating
  • t2 – out temperature of heat exchanger for domestic hot water
  • m2 – mas flow rate secondary side of heat exchanger for domestic hot water
Returns:

tavg: average out temperature.

cea.technologies.substation.calc_area_HEX(Qnom, dTm_0, U)[source]

Thi function calculates the area of a het exchanger at nominal conditions.

Parameters:
  • Qnom – nominal load
  • dTm_0 – nominal logarithmic temperature difference
  • U – coeffiicent of transmissivity
Returns:

  • area, area of heat exchange
  • UA, coefficient representing the area of heat exchanger times the coefficient of transmittance of the heat exchanger

cea.technologies.substation.calc_dTm_HEX(thi, tho, tci, tco, flag)[source]

This function estimates the logarithmic temperature difference between two streams

Parameters:
  • thi – in temperature hot stream
  • tho – out temperature hot stream
  • tci – in temperature cold stream
  • tco – out temperature cold stream
  • flag – heat: when using for the heating case, ‘cool’ otherwise
Returns:

dtm = logaritimic temperature difference

cea.technologies.substation.calc_plate_HEX(NTU, cr)[source]

This function calculates the efficiency of exchange for a plate heat exchanger according to the NTU method of AShRAE 90.1

Parameters:
  • NTU – number of transfer units
  • cr – ratio between min and max capacity mass flow rates
Returns:

eff: efficiency of heat exchange

cea.technologies.substation.calc_shell_HEX(NTU, cr)[source]

This function calculates the efficiency of exchange for a tube-shell heat exchanger according to the NTU method of AShRAE 90.1

Parameters:
  • NTU – number of transfer units
  • cr – ratio between min and max capacity mass flow rates
Returns:

eff: efficiency of heat exchange

cea.technologies.substation.calc_substation_cooling(Q, thi, tho, tci, ch, ch_0, Qnom, thi_0, tci_0, tho_0, gv)[source]

this function calculates the state of the heat exchanger at the substation of every customer with cooling needs

Parameters:
  • Q – cooling laad
  • thi – in temperature of primary side
  • tho – out temperature of primary side
  • tci – in temperature of secondary side
  • ch – capacity mass flow rate primary side
  • ch_0 – nominal capacity mass flow rate primary side
  • Qnom – nominal cooling load
  • thi_0 – nominal in temperature of primary side
  • tci_0 – nominal in temperature of secondary side
  • tho_0 – nominal out temperature of primary side
  • gv – path to global variables class
Returns:

tco = out temperature of secondary side (district cooling network) cc = capacity mass flow rate secondary side Area_HEX_cooling = are of heat excahnger.

cea.technologies.substation.calc_substation_heating(Q, thi, tco, tci, cc, cc_0, Qnom, thi_0, tci_0, tco_0, gv)[source]

This function calculates the mass flow rate, temperature of return (secondary side) and heat exchanger area of every substation.

Parameters:
  • Q – heating load
  • thi – in temperature of secondary side
  • tco – out temperature of primary side
  • tci – in temperature of primary side
  • cc – capacity mass flow rate primary side
  • cc_0 – nominal capacity mass flow rate primary side
  • Qnom – nominal cooling load
  • thi_0 – nominal in temperature of secondary side
  • tci_0 – nominal in temperature of primary side
  • tco_0 – nominal out temperature of primary side
  • gv – path to global variables class
Returns:

tho = out temperature of secondary side (district cooling network) ch = capacity mass flow rate secondary side Area_HEX_heating = are of heat excahnger.

cea.technologies.substation.substation_main(locator, total_demand, building_names, gv, Flag)[source]

this function calculates the temperatures and mass flow rates of the district heating network at every costumer. Based on this, the script calculates the hourly temperature of the network at the plant. This temperature needs to be equal to that of the customer with the highest temperature requirement plus thermal losses in the network.

Parameters:
  • locator – path to locator function
  • total_demand – dataframe with total demand and names of all building in the area
  • building_names – dataframe with names of all buildings in the area
  • gv – path to global variables class
  • Flag – boolean, True if the function is called by the master optimizaiton. False if the fucntion is called during preprocessing
cea.technologies.substation.substation_model(locator, gv, building, t_DH, t_DH_supply, t_DC_supply, t_HS, t_WW)[source]
Parameters:
  • locator – path to locator function
  • gv – path to global variables class
  • building – dataframe with consumption data per building
  • t_DH – vector with hourly temperature of the district heating network without losses
  • t_DH_supply – vector with hourly temperature of the district heating netowork with losses
  • t_DC_supply – vector with hourly temperature of the district coolig network with losses
  • t_HS – maximum hourly temperature for all buildings connected due to space heating
  • t_WW – maximum hourly temperature for all buildings connected due to domestic hot water
Returns:

Dataframe stored for every building with the mass flow rates and temperatures district heating and cooling side in:

where fName_result: ID of the building accounting for the individual at which it belongs to.

cea.technologies.tabs module

Termoactivated building surfaces (TABS)

cea.technologies.tabs.calc_floorheating(Qh, tm, Qh0, tsh0, trh0, Af)[source]

Calculates the operating conditions of the TABS system based on existing radiator model, replacing the radiator equation with the simple calculation for TABS from SIA 2044, which in turn is based on Koschenz & Lehmann “Thermoaktive Bauteilsysteme (TABS)”.

Parameters:
  • Qh – heating demand
  • tm – Temperature of the thermal mass
  • Qh0 – nominal heating power of the heating system
  • tsh0 – nominal supply temperature to the TABS system
  • trh0 – nominal return temperature from the TABS system
  • Af – heated area
Returns:

  • tsh, supply temperature to the TABS system
  • trh, return temperature from the TABS system
  • mCw, flow rate in the TABS system

cea.technologies.thermal_network module

hydraulic network

cea.technologies.thermal_network.calc_Cinv_network_linear(LengthNetwork, gV)[source]

calculate annualised network investment cost with a linearized function.

Parameters:LengthNetwork – total length of the network in [m]
Pram gV:globalvar.py
Returns InvCa:annualised investment cost of the thermal network
Rtype InvCa:float

cea.technologies.thermal_storage module

thermal storage

cea.technologies.thermal_storage.calc_Cinv_storage(vol, gV)[source]

calculate the annualized investment cost of a thermal storage tank

Parameters:
  • vol (float) – storage tank volume
  • gV – global.var
Returns InvCa:

Module contents