Source code for oemof.solph.components._sink

# -*- coding: utf-8 -*-

"""
solph version of oemof.network.Sink

SPDX-FileCopyrightText: Uwe Krien <krien@uni-bremen.de>
SPDX-FileCopyrightText: Simon Hilpert
SPDX-FileCopyrightText: Cord Kaldemeyer
SPDX-FileCopyrightText: Stephan Günther
SPDX-FileCopyrightText: Birgit Schachler
SPDX-FileCopyrightText: Johannes Kochems

SPDX-License-Identifier: MIT

"""
from warnings import warn

from oemof.network import Node
from oemof.tools import debugging


[docs]class Sink(Node): """A component which is designed for one input flow. Parameters ---------- label : str String holding the label of the Sink object. The label of each object must be unique. Examples -------- Defining a Sink: >>> from oemof import solph >>> bel = solph.buses.Bus(label='electricity') >>> electricity_export = solph.components.Sink( ... label='el_export', ... inputs={bel: solph.flows.Flow()}) Notes ----- It is theoretically possible to use the Sink object with multiple inputs. However, we strongly recommend using multiple Sink objects instead. """ def __init__(self, label=None, inputs=None, custom_attributes=None): if inputs is None: inputs = {} if custom_attributes is None: custom_attributes = {} if len(inputs) != 1: msg = ( "A Sink is designed to have one input but you provided {0}." " If this is intended and you know what you are doing you can " "disable the SuspiciousUsageWarning globally." ) warn( msg.format(len(inputs)), debugging.SuspiciousUsageWarning, ) super().__init__( label=label, inputs=inputs, custom_properties=custom_attributes )
[docs] def constraint_group(self): pass