Skip to content

Latest commit

 

History

History
71 lines (45 loc) · 3.36 KB

File metadata and controls

71 lines (45 loc) · 3.36 KB

Gibbs Reactor

The IDAES Gibbs reactor model represents a unit operation where a material stream undergoes some set of reactions such that the Gibbs energy of the resulting mixture is minimized. Gibbs reactors rely on conservation of individual elements within the system, and thus require element balances, and make use of Lagrange multipliers to find the minimum Gibbs energy state of the system.

Configuration Arguments

The Gibbs Reactor unit model allows users to specify a list of components which should be considered to be inerts within the reactor. This is done using the "inert_species" configuration argument, which should be a list of valid component names. These components will be considered inert, such that flows in and out of the unit for those components in each phase are equal.

Degrees of Freedom

Gibbs reactors generally have between 0 and 2 degrees of freedom, depending on construction arguments.

Typical fixed variables are:

  • reactor heat duty (has_heat_transfer = True only).
  • reactor pressure change (has_pressure_change = True only).

Model Structure

The core Gibbs reactor unit model consists of a single ControlVolume0DBlock (named control_volume) with one Inlet Port (named inlet) and one Outlet Port (named outlet).

Variables

Gibbs reactor units add the following additional Variables beyond those created by the Control Volume Block.

Variable Name Symbol Notes
lagrange_mult Lt, e Lagrange multipliers
heat_duty Qt Only if has_heat_transfer = True, reference
deltaP ΔPt Only if has_pressure_change = True, reference

Parameters

The Gibbs reactor unit model includes a scaling parameter for the Gibbs energy minimization constraint, which is named "gibbs_scaling". The default value is 1 and users may adjust the value of this parameter is required.

Constraints

Gibbs reactor models write the following additional constraints to calculate the state that corresponds to the minimum Gibbs energy of the system.

`gibbs_minimization(time, phase, component)`:

where gpartial, t, j is the partial molar Gibbs energy of component j at time t, Lt, e is the Lagrange multiplier for element e at time t and αj, e is the number of moles of element e in one mole of component j. gpartial, t, j and αj, e come from the outlet StateBlock. t, eps is the gibbs_scaling parameter. In cases where inert species are present, these are excluded from the sume term.

In cases where inerts are present, the following additional constraint is written for each inert component and phase:

GibbsReactor Class

idaes.generic_models.unit_models.gibbs_reactor

GibbsReactor

GibbsReactorData Class

GibbsReactorData