Incorporated reposition costs in all scenarios (0,1,2,3)
This commit is contained in:
parent
9c3e9641a8
commit
d4de6cc471
|
@ -77,17 +77,62 @@ class LifeCycleCosts:
|
||||||
if self._retrofitting_scenario == 2 or self._retrofitting_scenario == 3:
|
if self._retrofitting_scenario == 2 or self._retrofitting_scenario == 3:
|
||||||
chapter = chapters.chapter('D_services')
|
chapter = chapters.chapter('D_services')
|
||||||
capital_cost_pv = surface_roof * factor_pv * chapter.item('D301010_photovoltaic_system').initial_investment[0]
|
capital_cost_pv = surface_roof * factor_pv * chapter.item('D301010_photovoltaic_system').initial_investment[0]
|
||||||
|
reposition_cost_PV = 0
|
||||||
|
for year in range(1, self._number_of_years + 1):
|
||||||
|
costs_increase = math.pow(1 + self._consumer_price_index, year) / math.pow(1 + self._discount_rate, year)
|
||||||
|
if (year % chapter.item('D301010_photovoltaic_system').lifetime) == 0:
|
||||||
|
reposition_cost_PV += surface_roof * factor_pv * chapter.item('D301010_photovoltaic_system').reposition[
|
||||||
|
0] * costs_increase
|
||||||
|
|
||||||
capital_cost_heating_equipment = total_floor_area * factor_heating_power * chapter.item('D3020_heat_generating_systems').initial_investment[0]
|
capital_cost_heating_equipment = total_floor_area * factor_heating_power * chapter.item('D3020_heat_generating_systems').initial_investment[0]
|
||||||
|
|
||||||
capital_cost_cooling_equipment = total_floor_area * factor_cooling_power * chapter.item('D3030_cooling_generation_systems').initial_investment[0]
|
capital_cost_cooling_equipment = total_floor_area * factor_cooling_power * chapter.item('D3030_cooling_generation_systems').initial_investment[0]
|
||||||
|
|
||||||
capital_cost_distribution_equipment = total_floor_area * factor_cooling_power * chapter.item('D3040_distribution_systems').initial_investment[0]
|
capital_cost_distribution_equipment = total_floor_area * factor_cooling_power * chapter.item('D3040_distribution_systems').initial_investment[0]
|
||||||
|
|
||||||
capital_cost_other_hvac_ahu = total_floor_area * factor_cooling_power * chapter.item('D3080_other_hvac_ahu').initial_investment[0]
|
capital_cost_other_hvac_ahu = total_floor_area * factor_cooling_power * chapter.item('D3080_other_hvac_ahu').initial_investment[0]
|
||||||
|
|
||||||
capital_cost_lighting = total_floor_area * factor_pv * chapter.item('D5020_lighting_and_branch_wiring').initial_investment[0]
|
capital_cost_lighting = total_floor_area * factor_pv * chapter.item('D5020_lighting_and_branch_wiring').initial_investment[0]
|
||||||
|
|
||||||
capital_cost_services=capital_cost_pv+capital_cost_heating_equipment+capital_cost_cooling_equipment+capital_cost_distribution_equipment+capital_cost_other_hvac_ahu+capital_cost_lighting
|
capital_cost_services=capital_cost_pv+capital_cost_heating_equipment+capital_cost_cooling_equipment+capital_cost_distribution_equipment+capital_cost_other_hvac_ahu+capital_cost_lighting
|
||||||
|
|
||||||
|
reposition_cost_heating_equipment = 0
|
||||||
|
reposition_cost_cooling_equipment = 0
|
||||||
|
reposition_cost_lighting = 0
|
||||||
|
reposition_cost_hvac_ahu = 0
|
||||||
|
capital_cost_pv = 0
|
||||||
|
reposition_cost_PV = 0
|
||||||
|
|
||||||
|
for year in range(1, self._number_of_years + 1):
|
||||||
|
chapter = chapters.chapter('D_services')
|
||||||
|
costs_increase = math.pow(1 + self._consumer_price_index, year) / math.pow(1 + self._discount_rate, year)
|
||||||
|
if (year % chapter.item('D3020_heat_generating_systems').lifetime) == 0:
|
||||||
|
reposition_cost_heating_equipment = total_floor_area * factor_heating_power * \
|
||||||
|
chapter.item('D3020_heat_generating_systems').reposition[
|
||||||
|
0] * costs_increase
|
||||||
|
if (year % chapter.item('D3030_cooling_generation_systems').lifetime) == 0:
|
||||||
|
reposition_cost_cooling_equipment = total_floor_area * factor_cooling_power * \
|
||||||
|
chapter.item('D3030_cooling_generation_systems').reposition[
|
||||||
|
0] * costs_increase
|
||||||
|
if (year % chapter.item('D3080_other_hvac_ahu').lifetime) == 0:
|
||||||
|
reposition_cost_hvac_ahu = total_floor_area * factor_cooling_power * \
|
||||||
|
chapter.item('D3080_other_hvac_ahu').reposition[
|
||||||
|
0] * costs_increase
|
||||||
|
if (year % chapter.item('D5020_lighting_and_branch_wiring').lifetime) == 0:
|
||||||
|
reposition_cost_lighting = total_floor_area * chapter.item('D5020_lighting_and_branch_wiring').reposition[
|
||||||
|
0] * costs_increase
|
||||||
|
|
||||||
capital_cost_subtotal = capital_cost_skin + capital_cost_services
|
capital_cost_subtotal = capital_cost_skin + capital_cost_services
|
||||||
|
|
||||||
capital_cost_total = capital_cost_subtotal*(1+chapters.design_allowance)*(1+chapters.overhead_and_profit)
|
capital_cost_total = capital_cost_subtotal*(1+chapters.design_allowance)*(1+chapters.overhead_and_profit)
|
||||||
|
|
||||||
return capital_cost_total
|
reposition_cost_subtotal = reposition_cost_PV + reposition_cost_heating_equipment + reposition_cost_cooling_equipment + reposition_cost_hvac_ahu + reposition_cost_hvac_ahu + reposition_cost_lighting
|
||||||
|
|
||||||
|
reposition_cost_total = reposition_cost_subtotal * (1+chapters.design_allowance)*(1+chapters.overhead_and_profit)
|
||||||
|
|
||||||
|
life_cycle_cost_capital_total = capital_cost_total + reposition_cost_total
|
||||||
|
|
||||||
|
return life_cycle_cost_capital_total
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _search_archetype(costs_catalog, function):
|
def _search_archetype(costs_catalog, function):
|
||||||
costs_archetypes = costs_catalog.entries('archetypes').archetypes
|
costs_archetypes = costs_catalog.entries('archetypes').archetypes
|
||||||
|
@ -155,11 +200,11 @@ class LifeCycleCosts:
|
||||||
cooling_demand= 10 * total_floor_area
|
cooling_demand= 10 * total_floor_area
|
||||||
|
|
||||||
if self._retrofitting_scenario==2 or self._retrofitting_scenario==3:
|
if self._retrofitting_scenario==2 or self._retrofitting_scenario==3:
|
||||||
heating_SCOP=1
|
heating_SCOP=3
|
||||||
cooling_SEER=2.8
|
cooling_SEER=4.5
|
||||||
else:
|
else:
|
||||||
heating_SCOP = 2.5
|
heating_SCOP = 1
|
||||||
cooling_SEER = 4
|
cooling_SEER = 2
|
||||||
|
|
||||||
electricity_heating=heating_demand/heating_SCOP
|
electricity_heating=heating_demand/heating_SCOP
|
||||||
electricity_cooling=cooling_demand/cooling_SEER
|
electricity_cooling=cooling_demand/cooling_SEER
|
||||||
|
|
4
main.py
4
main.py
|
@ -34,11 +34,11 @@ ConstructionFactory('nrcan', city).enrich()
|
||||||
print('enrich constructions... done')
|
print('enrich constructions... done')
|
||||||
number_of_years = 30
|
number_of_years = 30
|
||||||
consumer_price_index = 0.04
|
consumer_price_index = 0.04
|
||||||
discount_rate = 0.06
|
discount_rate = 0.03
|
||||||
#retrofitting_scenario = 2
|
#retrofitting_scenario = 2
|
||||||
catalog = CostCatalogFactory('montreal_custom').catalog
|
catalog = CostCatalogFactory('montreal_custom').catalog
|
||||||
|
|
||||||
for i in range(1,4) :
|
for i in range(0,4) :
|
||||||
for building in city.buildings:
|
for building in city.buildings:
|
||||||
lcc = LifeCycleCosts(building, catalog, number_of_years, consumer_price_index, discount_rate, i)
|
lcc = LifeCycleCosts(building, catalog, number_of_years, consumer_price_index, discount_rate, i)
|
||||||
total_capital_costs = lcc.calculate_capital_costs()
|
total_capital_costs = lcc.calculate_capital_costs()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user