Process

class src.Source.characterization.Process.process.Process(in_var, kb: KB)[source]

Bases: object

Create Process object and characterize its process components (Inflow/Outflow/Maintenance/Evaporation).

A process is sequencing of actions, in continuous or batch, which includes heating/cooling of streams. Regarding the types of streams: Inflow - going in stream -, Outflow - going out stream - , Maintenance/ Evaporation - energy demand for a specific temperature. The process can be continuous or in batch.

id

Process ID

Type

int

object_type

DEFAULT = “process”

Type

str

streams

Data of the streams associated to this equipment

Type

list

equipment_id

Equipment ID associated

Type

int

operation_temperature

Operation temperature [ºC]

Type

float

schedule_type

Process schedule type; batch (1) or continuous (0)

Type

int

example_of_daily_period

Hours in a daily period [h]

Type

list

eff_equipment

Efficiency of the equipment associated []

Type

float

fuel

Fuel of the equipment associated

Type

str

cycle_time_percentage

Process cycle time percentage []

Type

float

Parameters
  • in_var (dict) –

    Process characterization data, with the following keys:

    • id: int

      Process ID []

    • equipment_id: int

      Associated equipment ID []

    • operation_temperature: float

      process temperature [ºC]

    • saturday_on: int

      If it is available on Saturday []; 1 (yes) or 0 (no)

    • sunday_on: int

      If it is available on Sunday []; 1 (yes) or 0 (no)

    • shutdown_periods: list

      List with lists of periods of days it is not available [day]; e.g. [[130,140],[289,299]]

    • daily_periods: list

      List with lists of hourly periods it is available [h]; e.g. [[8,12],[15,19]]

    • schedule_type: int

      Process schedule type; batch (1) or continuous (0)

    • cycle_time_percentage: float

      Percentage of time needed of a cycle for the Startup/Inflow/Outflow during batch process. Example: For a cycle_time 1h and cycle_time_percentage=0.1; initial 10%/6min for heating the startup fluid and inflow, and last 10%/6min for the outflow discharge.

    • inflow_data: list

      Inflow streams dicts, with the following keys:

      • name: str

        Inflow name

      • mass: float, optional

        Inflow mass [kg]; Provide flowrate or mass

      • flowrate: float, optional

        Inflow flowrate [kg/h]; Provide flowrate or mass

      • fluid_cp: float

        Inflow cp [kJ/kg.K]

      • supply_temperature: float

        Inflow supply/initial temperature [ºC]

    • outflow_datalist

      Outflow data dicts, with the following keys:

      • fluid_cp: float

        Outflow cp [kJ/kg.K]

      • target_temperature: float

        Outflow target/final temperature [ºC]

      • flowrate: float, optional

        Outflow mass flowrate [kg/h]

      • mass: float, optional

        Outflow mass [kg]

      • initial_temperature: float, optional

        Outflow initIal temperature [ºC]

    • maintenance_datalist

      Maintenance/Eavporation data dicts, with the following keys:

      • name: str

        Name

      • maintenance_capacity: float

        Maintenance or evaporation capacity [kW]

  • kb (dict) – Knowledge Base data

generate_inflow(data)[source]
generate_maintenance_and_evaporation(data)[source]
generate_outflow(outflow_data)[source]
schedule(stream_type)[source]