Beispiel #1
0
 def test_missing_bus_param_deriv(self):
     """
     Test missing bus parameter in bus derivatives for cogeneration unit.
     """
     self.instance.num_vars = 2
     self.instance.inl = [connection(self.instance, 'out1',
                                     basics.sink('sink'), 'in1')]
     self.instance.inl[0].fluid = dc_flu(val={'water': 1})
     self.instance.bus_deriv(self.bus.comps.loc[self.instance])
Beispiel #2
0
def construct_connections(c, *args):
    r"""
    Create TESPy connection from data in the .csv-file and its parameters.

    Parameters
    ----------
    c : pandas.core.series.Series
        Connection information from .csv-file.

    args[0] : pandas.core.frame.DataFrame
        DataFrame containing all created components.

    Returns
    -------
    conn : tespy.connections.connection.Connection
        TESPy connection object.
    """
    # create connection
    conn = Connection(
        args[0].instance[c.source], c.source_id,
        args[0].instance[c.target], c.target_id, label=str(c.label)
    )

    # read basic properties
    for key in ['design', 'offdesign', 'design_path', 'local_design',
                'local_offdesign']:
        if key in c:
            if isinstance(c[key], float):
                setattr(conn, key, None)
            else:
                setattr(conn, key, c[key])

    # read fluid properties
    for key in ['m', 'p', 'h', 'T', 'x', 'v', 'Td_bp']:
        if key in c:
            setattr(conn, key, dc_prop(
                val=c[key], val0=c[key + '0'], val_set=c[key + '_set'],
                unit=c[key + '_unit'], ref=None, ref_set=c[key + '_ref_set']))

    if 'state' in c:
        conn.state = dc_simple(val=c[key], is_set=c[key + '_set'])

    # read fluid vector
    val = {}
    val0 = {}
    val_set = {}
    for key in args[1].fluids:
        if key in c:
            val[key] = c[key]
            val0[key] = c[key + '0']
            val_set[key] = c[key + '_set']

    conn.fluid = dc_flu(
        val=val, val0=val0, val_set=val_set, balance=c['balance'])

    # write properties to connection and return connection object
    return conn
Beispiel #3
0
 def test_missing_Bus_param_deriv(self):
     """Test wrong/missing bus parameter in bus derivatives."""
     # both values do not matter, but are required for the test
     self.instance.num_nw_vars = 1
     self.instance.num_vars = 1
     self.instance.inl = [Connection(self.instance, 'out1',
                                     Sink('sink'), 'in1')]
     self.instance.inl[0].fluid = dc_flu(val={'water': 1})
     with raises(ValueError):
         self.instance.bus_deriv(self.bus)
Beispiel #4
0
 def test_missing_bus_param_deriv(self):
     """
     Test missing bus parameter in bus derivatives for combustion engine.
     """
     # both values do not matter, but are required for the test
     self.instance.num_nw_vars = 1
     self.instance.num_vars = 1
     self.instance.inl = [
         connection(self.instance, 'out1', basics.sink('sink'), 'in1')
     ]
     self.instance.inl[0].fluid = dc_flu(val={'water': 1})
     self.instance.bus_deriv(self.bus.comps.loc[self.instance])
Beispiel #5
0
    def attr():
        r"""
        Return available attributes of a connection.

        Returns
        -------
        out : list
            List of available attributes of a connection.
        """
        return {'m': dc_prop(), 'p': dc_prop(), 'h': dc_prop(), 'T': dc_prop(),
                'x': dc_prop(), 'v': dc_prop(),
                'fluid': dc_flu(), 'Td_bp': dc_prop(), 'state': dc_simple()}
Beispiel #6
0
def construct_conns(c, *args):
    r"""
    Create TESPy connection from data in the .csv-file and its parameters.

    Parameters
    ----------
    c : pandas.core.series.Series
        Connection information from .csv-file.

    args[0] : pandas.core.frame.DataFrame
        DataFrame containing all created components.

    Returns
    -------
    conn : tespy.connections.connection
        TESPy connection object.
    """
    # create connection
    conn = connection(args[0].instance[c.s], c.s_id, args[0].instance[c.t],
                      c.t_id)

    kwargs = {}
    # read basic properties
    for key in [
            'design', 'offdesign', 'design_path', 'local_design',
            'local_offdesign'
    ]:
        if key in c:
            kwargs[key] = c[key]

    # read fluid properties
    for key in ['m', 'p', 'h', 'T', 'x', 'v', 'Td_bp']:
        if key in c:
            if key in c:
                kwargs[key] = dc_prop(val=c[key],
                                      val0=c[key + '0'],
                                      val_set=c[key + '_set'],
                                      unit=c[key + '_unit'],
                                      unit_set=c[key + '_unit_set'],
                                      ref=None,
                                      ref_set=c[key + '_ref_set'])

    key = 'state'
    if key in c:
        kwargs[key] = dc_simple(val=c[key], is_set=c[key + '_set'])

    # read fluid vector
    val = {}
    val0 = {}
    val_set = {}
    for key in args[1].fluids:
        if key in c:
            val[key] = c[key]
            val0[key] = c[key + '0']
            val_set[key] = c[key + '_set']

    kwargs['fluid'] = dc_flu(val=val,
                             val0=val0,
                             val_set=val_set,
                             balance=c['balance'])

    # write properties to connection and return connection object
    conn.set_attr(**kwargs)
    return conn