Source code for tessif_examples.basic.time_varying_efficiency_transformer

# src/tessif_examples/basic/time_varying_efficiency_transformer.py
"""Tessif minimum working example energy system model."""
import tessif.frused.namedtuples as nts
from pandas import date_range
from tessif import components, system_model


[docs]def create_time_varying_efficiency_transformer(): """Create a small es having a transformer with varying efficiency. Returns ------- :class:`tessif.system_model.AbstractEnergySystem` Tessif minimum working example energy system. Example ------- Generic System Visualization: .. image:: ../../_static/system_model_graphs/time_varying_efficiency_transformer.png :align: center :alt: Image showing the mwe energy system graph """ opt_timespan = date_range("7/13/1990", periods=3, freq="H") demand = components.Sink( name="Demand", inputs=("electricity",), carrier="electricity", node_type="sink", flow_rates={"electricity": nts.MinMax(min=10, max=10)}, ) commodity = components.Source( name="Commodity", outputs=("energy",), carrier="energy", node_type="source", ) import_source = components.Source( name="Import", outputs=("electricity",), carrier="electricity", node_type="source", flow_costs={"electricity": 1000}, ) transformer = components.Transformer( name="Transformer", inputs=("energy",), outputs=("electricity",), conversions={("energy", "electricity"): [3 / 5, 4 / 5, 2 / 5]}, # conversions={('energy', 'electricity'): 1}, # # flow_rates={ # "energy": nts.MinMax(0, float("+inf")), # "electricity": nts.MinMax(0, 10) # }, flow_costs={"energy": 0, "electricity": 100}, flow_emissions={"energy": 0, "electricity": 1000}, ) commodity_bus = components.Bus( name="Com Bus", inputs=("Commodity.energy",), outputs=("Transformer.energy",), carrier="energy", node_type="bus", ) powerline = components.Bus( name="Powerline", inputs=("Transformer.electricity", "Import.electricity"), outputs=("Demand.electricity",), carrier="electricity", node_type="bus", ) transformer_eff_es = system_model.AbstractEnergySystem( uid="Transformer-Timeseries-Example", busses=( commodity_bus, powerline, ), sinks=(demand,), sources=(commodity, import_source), transformers=(transformer,), timeframe=opt_timespan, ) return transformer_eff_es