from tespy.connections import connection, bus, ref
from tespy.tools import char_line
from tespy.networks import network
from tespy.components import (heat_exchanger, pump, turbine, source, sink,
                              cycle_closer, splitter, merge, condenser, drum,
                              valve, heat_exchanger_simple)
from tespy.tools import logger

from fluprodia import FluidPropertyDiagram
from CoolProp.CoolProp import PropsSI as PSI

import pandas as pd
import numpy as np
import logging

logger.define_logging(screen_level=logging.ERROR)


class PowerPlant():
    def __init__(self, working_fluid):

        self.working_fluid = working_fluid
        fluids = ['water', self.working_fluid, 'air']
        self.nw = network(fluids=fluids)
        self.nw.set_attr(p_unit='bar', T_unit='C', h_unit='kJ / kg')

        # geo parameters

        geo_mass_flow = 210
        geo_steam_share = 0.1
        T_brine_in = 144.8
示例#2
0
@author: witte
"""

# %% imports

import numpy as np
import os
import logging
from tespy.networks import load_network
from tespy.tools import logger
from tespy.tools.helpers import TESPyNetworkError

import json

logger.define_logging(log_version=True, file_level=logging.DEBUG,
                      screen_level=logging.INFO)
# %% power plant model class


def load_models(cd):

    power_plant_path = os.path.join(
        cd.working_dir, cd.powerplant_path,
        cd.scenario + '.powerplant_ctrl.json')
    power_plant_models = {}
    with open(power_plant_path) as f:
        power_plant_models.update(json.load(f))

    for key, val in power_plant_models['power_plant_models'].items():
        power_plant_models['power_plant_models'][key]['plant'] = model(
                cd, val, key)
示例#3
0
"""

# %% imports

import pandas as pd
import numpy as np
import json
from scipy import interpolate
import logging
from tespy.networks import load_network
from tespy.tools import logger
from tespy.connections import ref
from tespy.tools.helpers import TESPyNetworkError

logger.define_logging(
    log_path=True, log_version=True, screen_level=logging.WARNING, file_level=logging.WARNING
)
# %% power plant model class


class model:
    """
    Creates the model for the power plant. Parameters are loaded from
    coupling data object cd.

    Parameters
    ----------
    cd : coupling_data
        Generel data for the interface handling.

    min_well_depth : float
from tespy.connections import connection
from tespy.networks import network
from tespy.components import evaporator, heat_exchanger, pump, turbine, source, sink, cycle_closer, splitter, merge, condenser
from CoolProp.CoolProp import PropsSI
import numpy as np
from tespy.tools import logger
import logging
mypath = logger.define_logging(log_path=True,
                               log_version=True,
                               timed_rotating={'backupCount': 4},
                               screen_level=logging.WARNING,
                               screen_datefmt="no_date")
# define basic cycle
fluids = ['water', 'Isopentane', 'Air']
nw = network(fluids=fluids)
nw.set_attr(p_unit='bar', T_unit='C', h_unit='kJ / kg')
# input parameters (the mass flow rate of cooling air should be adjusted
# based on the temperature of the geo-fluid for stable calculation)
# geo-fluid part
mass_flow_rate_brine = 190.1
mass_flow_rate_steam = 20.4
T_brine_in = 146.6
T_reinjection = 69.1
# cooling air part
mass_flow_rate_air = 6142
T_air = -4.7
p_air = 0.61
# calculation secondary variables
p_before_turbine = PropsSI('P', 'T', T_brine_in + 273.15 - 28, 'Q', 1,
                           'Isopentane') / 1e5
p_steam_in = PropsSI('P', 'T', T_brine_in + 273.15, 'Q', 1, 'water') / 1e5