placades¶
- class placades.Battery(label, bus_electricity, storage_capacity, max_charge_rate=1.0, max_discharge_rate=1.0, charge_efficiency=0.95, discharge_efficiency=0.95, self_discharge_rate=0.001, capex_capacity=None, capex_power=None, opex=None, initial_storage_level=0.5)[source]¶
Batteriespeicher basierend auf GenericStorage
- __init__(label, bus_electricity, storage_capacity, max_charge_rate=1.0, max_discharge_rate=1.0, charge_efficiency=0.95, discharge_efficiency=0.95, self_discharge_rate=0.001, capex_capacity=None, capex_power=None, opex=None, initial_storage_level=0.5)[source]¶
Batteriespeicher Facade
- Parameters:
label (str or tuple) – Eindeutige Bezeichnung der Batterie
bus_electricity (oemof.solph.Bus or placades.CarrierBus) – Strom-Bus für Laden/Entladen
storage_capacity (float) – Speicherkapazität in kWh
max_charge_rate (float) – Maximale Laderate als C-Rate (default: 1C = 1h Vollladung)
max_discharge_rate (float) – Maximale Entladerate als C-Rate
charge_efficiency (float) – Ladewirkungsgrad (default: 95%)
discharge_efficiency (float) – Entladewirkungsgrad (default: 95%)
self_discharge_rate (float) – Selbstentladung pro Stunde in % (default: 0.1%/h)
capex_capacity (float, optional) – Investitionskosten Speicher in €/kWh
capex_power (float, optional) – Investitionskosten Leistung in €/kW
opex (float, optional) – Betriebskosten in €/kWh Durchsatz
initial_storage_level (float) – Anfänglicher Ladestand (0-1)
Examples
>>> from oemof.solph import Bus >>> electricity_bus = Bus(label="my_electricity_bus")
- class placades.CHP(label, bus_gas, bus_electricity, bus_heat, electrical_capacity=None, electrical_efficiency=0.35, thermal_efficiency=0.5, opex=0)[source]¶
Blockheizkraftwerk (BHKW) basierend auf Converter
- __init__(label, bus_gas, bus_electricity, bus_heat, electrical_capacity=None, electrical_efficiency=0.35, thermal_efficiency=0.5, opex=0)[source]¶
Blockheizkraftwerk (BHKW) Facade
- Parameters:
label (str or tuple) – Eindeutige Bezeichnung des BHKW
bus_gas (oemof.solph.Bus or placades.CarrierBus) – Gas-Bus (Input)
bus_electricity (oemof.solph.Bus or placades.CarrierBus) – Strom-Bus (Output)
bus_heat (oemof.solph.Bus or placades.CarrierBus) – Wärme-Bus (Output)
electrical_capacity (float, optional) – Elektrische Nennleistung in kW
electrical_efficiency (float) – Elektrischer Wirkungsgrad (default: 35%)
thermal_efficiency (float) – Thermischer Wirkungsgrad (default: 50%)
opex (float, optional) – Betriebskosten in €/kWh_el, alle Arten von spezifischen Kosten bezogen auf die Stromproduktion. Auch zusätzliche Abgaben auf z.B. Gas können über die Wirkungsgrade umgerechnet und damit auf die Stromproduktion umgerechnet werden
Examples
>>> from oemof.solph import Bus >>> electricity_bus = Bus(label="my_electricity_bus") >>> heat_bus = Bus(label="my_heat_bus") >>> gas_bus = Bus(label="my_gas_bus")
- class placades.CarrierBus(name, carrier=None, balanced=None, excess=None, excess_costs=None)[source]¶
Bus mit Medium-Attribut
- __init__(name, carrier=None, balanced=None, excess=None, excess_costs=None)[source]¶
Bus mit Energieträger-Information
- Parameters:
name (str or tuple) – Eindeutige Bezeichnung des Bus
carrier (str) – Energieträger/Medium (z.B. ‘electricity’, ‘gas’, ‘heat’, ‘hydrogen’)
**kwargs – Weitere Parameter für Bus
Examples
>>> electricity_bus = CarrierBus(name="grid", carrier="electricity") >>> gas_bus = CarrierBus(name="gas_grid", carrier="natural_gas") >>> heat_bus = CarrierBus(name="district_heating", carrier="heat") >>> h2_bus = CarrierBus(name="h2_network", carrier="hydrogen")
- class placades.DSO(name, bus_electricity, energy_price=0.3, feedin_tariff=0.1, peak_demand_pricing=0, peak_demand_pricing_period=1, renewable_share=0.44, feedin_cap=None)[source]¶
- __init__(name, bus_electricity, energy_price=0.3, feedin_tariff=0.1, peak_demand_pricing=0, peak_demand_pricing_period=1, renewable_share=0.44, feedin_cap=None)[source]¶
Energy provider for electricity distribution.
This class represents a distribution system operator (DSO) that provides electricity from the utility grid with pricing and feedin capabilities.
Important
The renewable share affects the overall system renewable factor calculation.
- Structure:
- input & output
bus : Electricity
- Parameters:
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
energy_price (float, default=0.3) – Price of the energy carrier sourced from the utility grid. Can be also a timeseries in €/kWh.
feedin_tariff (float, default=0.1) – Price received for feeding electricity into the grid. Can be also a timeseries in €/kWh.
peak_demand_pricing (float, default=0) – Grid fee to be paid based on the peak demand of a given period in €/kW.
peak_demand_pricing_period (int, default=1) – Number of reference periods in one year for peak demand pricing in times per year (Only one of the following are acceptable values: 1 (yearly), 2, 3 ,4, 6, 12 (monthly)).
renewable_share (float, default=0.44) – Share of renewables in the generation mix of the energy supplied by the DSO utility. [Factor] (Real number between 0 and 1).
feedin_cap (float or None, default=None) – Maximum flow for feeding electricity into the grid at any given timestep in kW (Acceptable values are either a positive real number or None).
Examples
>>> from oemof.solph import Bus >>> ebus = Bus(label="electricity_bus") >>> my_dso = DSO( ... name="main_grid", ... bus_electricity=ebus, ... energy_price=0.25, ... feedin_tariff=0.08, ... )
- class placades.Demand(name, bus_in_electricity, input_timeseries)[source]¶
Electricity demand/consumption component.
This class represents an electricity demand that consumes electrical energy according to a specified time series pattern.
- Structure:
- input
from_bus : Electricity
- Parameters:
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
bus_in_electricity (placades.CarrierBus) – Connected Bus component for the electricity input flow. [object].
input_timeseries (array-like) – Timeseries. Timeseries in :unit:.
Examples
>>> from placades import CarrierBus as Bus >>> ebus = Bus(name="electricity_bus") >>> my_demand = Demand( ... name="office_demand", ... bus_in_electricity=ebus, ... input_timeseries="electricity_demand.csv", ... )
- class placades.Excess(name, bus_in, cost)[source]¶
Short description
Long description about the facade and how to use it.
Important
Some important information about this facade.
- Parameters:
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
bus_in (oemof.solph.Bus or placade.CarrierBus) – Connected Bus component for an input flow. [object].
cost (float or array-like) – Price of the energy carrier sourced from the utility grid. Can be also a timeseries in €/kWh.
Examples
- class placades.Project(name, lifetime, tax, discount_factor, shortage_cost=999, excess_cost=99, disable_shortage=False, disable_excess=False, latitude=50.587031, longitude=10.165876)[source]¶
- class placades.PvPlant(project_data, bus_out_electricity, input_timeseries, name, age_installed=0, installed_capacity=0, capex_fix=0, capex_var=1000, opex_fix=10, opex_var=0, lifetime=20, optimize_cap=False, maximum_capacity=None, renewable_asset=True)[source]¶
- __init__(project_data, bus_out_electricity, input_timeseries, name, age_installed=0, installed_capacity=0, capex_fix=0, capex_var=1000, opex_fix=10, opex_var=0, lifetime=20, optimize_cap=False, maximum_capacity=None, renewable_asset=True)[source]¶
Photovoltaic power plant for solar electricity generation.
This class represents a photovoltaic plant that converts solar irradiation into electrical energy using photovoltaic panels.
Important
This is a renewable energy source that contributes to the renewable share of the system.
- Structure:
- output
to_bus : Electricity
- Optimization:
The characteristic quantity of the optimization is the nominal power-output of the PV-plant given in kWp
- Parameters:
project_data (Project object) – The framework of the project in which the asset is ought to be optimized.
bus_out_electricity (bus object) – Connected Bus component for the electricity output flow. [object].
input_timeseries (array-like) – Timeseries. Timeseries in :unit:.
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
age_installed (int, default=0) – Number of years the asset has already been in operation. If the project lasts longer than its remaining lifetime, the replacement costs of the asset will be taken into account in a (Natural number).
installed_capacity (float, default=0) – Already existing installed capacity. If the project lasts longer than its remaining lifetime, the replacement costs of the asset will be taken into account in :unit:.
capex_fix (float, default=0) – Planning and development costs. This could be planning and development costs which do not depend on the (optimized) capacities of the assets in € (Positive real number).
capex_var (float, default=1000) – Specific investment costs of the asset related to the installed capacity (CAPEX) in €/:unit:.
opex_fix (float, default=10) – Specific operational and maintenance costs of the asset related to the installed capacity (OPEX_fix) in €/(:unit: • a)
opex_var (float, default=0) – Costs associated with a flow through/from the asset (OPEX_var or fuel costs). This could be fuel costs for fuel sources like biogas or oil or operational costs for thermal power plants which only occur when operating the plant in €/kWh.
lifetime (int, default=20) – Number of operational years of the asset until it has to be replaced in a (Natural number).
optimize_cap (bool, default=False) – Choose if capacity optimization should be performed for this asset. [-] (Acceptable values are either Yes or No.).
maximum_capacity (float or None, default=None) – Maximum total capacity of an asset that can be installed at the project site. This includes the already existing installed and additional capacity possible. An example would be that a roof can only carry 50 kW PV (maximum capacity), whereas the installed capacity is already 10 kW. The optimization would only be allowed to add 40 kW PV at maximum in :unit: (Acceptable values are either a positive real number or None.).
renewable_asset (bool, default=True) – Choose if this asset should be considered as renewable. This parameter is necessary to consider the renewable share constraint correctly. [-] (Acceptable values are either Yes or No.).
Examples
>>> from placades import Project >>> from placades import CarrierBus >>> my_project = Project( ... name="my_project", ... lifetime=20, ... tax=0, ... discount_factor=0.01 ... ) >>> el_bus = CarrierBus(name="my_electricity_bus") >>> my_pv = PvPlant( ... bus_out_electricity=el_bus, ... name="my_pv_plant", ... age_installed=0, # a ... installed_capacity=0, # kW ... capex_fix=0, # € ... capex_var=1000, # €/kWp ... opex_fix=10, # €/kWp/a ... opex_var=0, # €/kWh ... lifetime=25, # a ... optimize_cap=True, ... maximum_capacity=1000, # kWp ... renewable_asset=True, ... input_timeseries=[1,2,3], ... project_data=my_project, ... )
- class placades.Shortage(name, bus_out, cost)[source]¶
Short description
Long description about the facade and how to use it.
Important
Some important information about this facade.
- Parameters:
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
bus_out (oemof.solph.Bus or placade.CarrierBus) – Connected Bus component for an input flow. [object].
cost (float or array-like) – Price of the energy carrier sourced from the utility grid. Can be also a timeseries in €/kWh.
Examples
- class placades.WindTurbine(project_data, bus_out_electricity, input_timeseries, name, age_installed=0, installed_capacity=0, capex_fix=0, capex_var=1000, opex_fix=10, opex_var=0, lifetime=20, optimize_cap=False, maximum_capacity=None, renewable_asset=True)[source]¶
- __init__(project_data, bus_out_electricity, input_timeseries, name, age_installed=0, installed_capacity=0, capex_fix=0, capex_var=1000, opex_fix=10, opex_var=0, lifetime=20, optimize_cap=False, maximum_capacity=None, renewable_asset=True)[source]¶
Wind turbine for electricity generation.
This class represents a wind turbine that converts kinetic energy of wind into electrical energy.
Important
This is a renewable energy source that contributes to the renewable share of the system.
- Structure:
- output
to_bus : Electricity
- Optimization:
The characteristic quantity of the optimization is the nominal power-output of the wind turbine given in kW
- Parameters:
project_data (Project object) – The framework of the project in which the asset is ought to be optimized.
bus_out_electricity (bus object) – Connected Bus component for the electricity output flow. [object].
input_timeseries (array-like) – Timeseries. Timeseries in :unit:.
name (str) – Name of the asset. [-] (Input the names in a computer friendly format, preferably with underscores instead of spaces, and avoiding special characters).
age_installed (int, default=0) – Number of years the asset has already been in operation. If the project lasts longer than its remaining lifetime, the replacement costs of the asset will be taken into account in a (Natural number).
installed_capacity (float, default=0) – Already existing installed capacity. If the project lasts longer than its remaining lifetime, the replacement costs of the asset will be taken into account in :unit:.
capex_fix (float, default=0) – Planning and development costs. This could be planning and development costs which do not depend on the (optimized) capacities of the assets in € (Positive real number).
capex_var (float, default=1000) – Specific investment costs of the asset related to the installed capacity (CAPEX) in €/:unit:.
opex_fix (float, default=10) – Specific operational and maintenance costs of the asset related to the installed capacity (OPEX_fix) in €/(:unit: • a)
opex_var (float, default=0) – Costs associated with a flow through/from the asset (OPEX_var or fuel costs). This could be fuel costs for fuel sources like biogas or oil or operational costs for thermal power plants which only occur when operating the plant in €/kWh.
lifetime (int, default=20) – Number of operational years of the asset until it has to be replaced in a (Natural number).
optimize_cap (bool, default=False) – Choose if capacity optimization should be performed for this asset. [-] (Acceptable values are either Yes or No.).
maximum_capacity (float or None, default=None) – Maximum total capacity of an asset that can be installed at the project site. This includes the already existing installed and additional capacity possible. An example would be that a roof can only carry 50 kW PV (maximum capacity), whereas the installed capacity is already 10 kW. The optimization would only be allowed to add 40 kW PV at maximum in :unit: (Acceptable values are either a positive real number or None.).
renewable_asset (bool, default=True) – Choose if this asset should be considered as renewable. This parameter is necessary to consider the renewable share constraint correctly. [-] (Acceptable values are either Yes or No.).
Examples
>>> from placades import Project >>> from placades import CarrierBus >>> my_project = Project( ... name="my_project", ... lifetime=20, ... tax=0, ... discount_factor=0.01 ... ) >>> el_bus = CarrierBus(name="my_electricity_bus") >>> my_wind = WindTurbine( ... bus_out_electricity=el_bus, ... name="my_wind_plant", ... age_installed=0, # a ... installed_capacity=0, # kW ... capex_fix=0, # € ... capex_var=1000, # €/kW ... opex_fix=10, # €/kW/a ... opex_var=0, # €/kWh ... lifetime=25, # a ... optimize_cap=True, ... maximum_capacity=1000, # kW ... renewable_asset=True, ... input_timeseries=[1,2,3], ... project_data=my_project, ... )