Skip to content
Snippets Groups Projects
Commit eb1047e0 authored by Christoph von Oy's avatar Christoph von Oy
Browse files

Unified interfaces

Unified interfaces between the main classes and thier entitiy classes
Unified interfaces between runme and the main classes
Made Main manage all prosumers instead of one at a time
Removed process_each_prosumer() from runme
parent 61056e9a
No related branches found
No related tags found
No related merge requests found
Subproject commit d914920165330f710c732de4417c29db7bd067b8
Subproject commit 3519ec06eade34bf29da5f46877a3c7057e56edc
......@@ -9,20 +9,6 @@ class SimulationScope(Enum):
PROSUMER = 1
COMMUNITY = 2
def process_each_prosumer(prosumer_name, prosumer_specification, input_profiles, t_horizon, t_step, prosumer_strategy):
start_time = time.time()
prosumer = main.Main(prosumer_name, prosumer_specification, input_profiles, t_horizon, t_step)
after_setup_time = time.time()
print("process_each_prosumer:\tProsumer Construction [s]: \t" + str(after_setup_time - start_time))
prosumer.run_optimization(prosumer_strategy)
after_optimization_time = time.time()
print("process_each_prosumer:\tProsumer Optimization [s]: \t" + str(after_optimization_time - after_setup_time))
prosumer.show_results()
return prosumer.prosumer
start_time = time.time()
simulation_scope = SimulationScope.COMMUNITY
t_start = pd.Timestamp("2019-05-10 00:00:00") # start time of simulation
......@@ -50,16 +36,16 @@ input_profiles = Tooling.input_profile_processor.input_profile_processor.process
after_input_processing_time = time.time()
print("runme:\t\t\tProfile Processing [s]: \t" + str(after_input_processing_time - start_time))
# 'topology_path': path to directory that contains the matrices that define the prosumer topology
# 'config_path': path to global configurations like prices, injection prices, emission costs, etc.
prosumer_dict = {'SCN2_CAT1_PV11_3000_6000':{'topology_path': 'input_files/models/prosumer_models/SCN2_CAT1_PV11',
'config_path': 'input_files/models/prosumer_models/SCN2_CAT1_PV11/config.csv',
# 'topology_path': path to directory that contains the matrices that define the prosumer topology
prosumer_dict = {'SCN2_CAT1_PV11_3000_6000':{'config_path': 'input_files/models/prosumer_models/SCN2_CAT1_PV11/config.csv',
'topology_path': 'input_files/models/prosumer_models/SCN2_CAT1_PV11',
'profiles': {'pv_roof': ('irradiance_1', 'temperature_1'),
'elec_cns': 'demand_electric_1',
'therm_cns': 'demand_heat_1',
'dhw_dmd': 'demand_hot_water_1'}},
'SCN0_CAT1_3000_6000': {'topology_path': 'input_files/models/prosumer_models/SCN0_CAT1',
'config_path': 'input_files/models/prosumer_models/SCN0_CAT1/config.csv',
'SCN0_CAT1_3000_6000': {'config_path': 'input_files/models/prosumer_models/SCN0_CAT1/config.csv',
'topology_path': 'input_files/models/prosumer_models/SCN0_CAT1',
'profiles': {'elec_cns': 'demand_electric_2',
'therm_cns': 'demand_heat_2',
'dhw_dmd': 'demand_hot_water_2'}},}
......@@ -68,9 +54,13 @@ prosumer_strategy = 'annuity'
before_optimization_time = time.time()
print("runme:\t\t\tProsumer Setup [s]: \t\t" + str(before_optimization_time - after_input_processing_time))
prosumers = dict()
for prosumer_name in prosumer_dict:
prosumers[prosumer_name] = process_each_prosumer(prosumer_name, prosumer_dict[prosumer_name], input_profiles, t_horizon, t_step, prosumer_strategy)
prosumer_main = main.Main(prosumer_dict, input_profiles, t_horizon, t_step)
prosumer_main.run_optimization(prosumer_strategy)
prosumer_main.show_results()
prosumers = prosumer_main.prosumers
after_optimization_time = time.time()
print("runme:\t\t\tProsumer Optimization [s]: \t" + str(after_optimization_time - before_optimization_time))
......@@ -78,8 +68,8 @@ if simulation_scope == SimulationScope.PROSUMER:
exit()
start_community_time = time.time()
community_assets_dict = {'ca_bat': {'topology_path': 'input_files/models/district_models/example_CA',
'config_path': 'input_files/models/district_models/example_CA/config.csv',
community_assets_dict = {'ca_bat': {'config_path': 'input_files/models/district_models/example_CA/config.csv',
'topology_path': 'input_files/models/district_models/example_CA',
'profiles': {'elec_cns_ca_bat': 'demand_electric_3'}}}
community_assets_strategy = 'sizing_max_operational_profit'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment