Reactor (Gibbs FEM)
Navigation: Models ➔ Energy Transfer Models ➔ Reactor (Gibbs FEM)
General Description
The Reactor (Gibbs FEM) model will apply standard Gibbs FEM equations to the material in the feed stream to the Gibbs FEM calculation block and produce a product stream with the lowest free energy possible.
The user may also specify an Environmental Heat Loss from the Reactor (Gibbs FEM) unit. This may be calculated at either the reactor Feed or Product temperature.
NOTE: This unit was previously documented under the heading Free Energy Minimisation (FEM).
Diagram
The diagram shows a drawing of the Reactor (Gibbs FEM) unit, with a Feed (In) and Product (Out) stream, and optional Vent stream (available from Build 139). When the user inserts the Reactor (Gibbs FEM) unit into a flowsheet, a different graphics symbol can be selected from a pull down menu. The streams may be connected to any area of the drawing without affecting the actual connection point as SysCAD ignores the physical position of the connection.
Inputs and Outputs
Label | Input / Output | No. of Connections | Description | |
---|---|---|---|---|
Min | Max | |||
In | Input | 1 | 20 | Feed Stream |
Out | Output | 1 | 1 | Product Stream |
Vent* | Output | 0 | 1 | Optional Vapour Vent Stream |
* Only available in Build 139 or later.
Model Theory
The Gibbs Free Energy Change for a reaction or a system is:
- dG = dH - TdS
- where dG - Change in Free energy
- dH - Change in Enthalpy
- T - Temperature
- dS - Change in Entropy
Equilibrium is achieved when the Free Energy is at the minimum value.
The solve routine is based on the stoichiometric "Villars-Cruise-Smith" algorithm for the Free Energy Minimisation reactions. A stoichiometric algorithm chooses a set of basis reactions to remove the element abundance constraint and determines the extents of each such that the change in free energy with extent is zero.
The actual species in the feed to the Gibbs FEM are ignored - the model effectively adds the element abundances of each incoming species, and divides this between the participating species so as to minimise the free energy - or such that the change in free energy with changes in species concentration is zero.
Species Selection
The user must be VERY careful to select the appropriate species as Bypass (B), Inert (I) or possible product species (Y).
B | Bypass | This column will only be visible if the user has ticked 'WithBypass' on the "Reactor" Tab.
If this box is ticked then the species completely bypasses the FEM calculation. However, the amount of energy required to get the species to the FEM product temperature will be included in the energy balance of the unit. |
I | Inert | By ticking this box the user indicates that the selected species will not participate in any reactions, and will pass through the FEM unchanged. However, it will be included in any concentration calculations. |
L | Lockup | This column will only be visible if the "WithLockup" option is ticked on the "Reactor" Tab.
If this box is ticked then:
Lockup can be used to implement Constrained FEM (CFEM) See Notes |
Y | Yes | By ticking this box the user indicates that the selected species may be part of the possible product species group. |
F | Forced | If the user does not tick any of the boxes, this means that if this species does occur in the feed to the FEM it MUST react completely to a product species. The user will see that the 'F' box is ticked by the model, indicating that this species will be 'Forced' to react completely if it occurs in the feed. |
Notes:
- The 'Filter' button on the FEM tab is VERY useful when selecting species to react, or as inert, etc.
- If inert gases are present in the feed they should be included in the species used, since the free energy for the gaseous species is corrected by the partial pressure.
- If a liquid species is expected as a product at a particular temperature, the solid species should be avoided by converting to liquid in a reaction block.
Example:
In the example shown below:
- H2O(g), CO(g), CO2(g) and H2(g) all have the 'Y' checkbox ticked and hence they can occur in the product stream.
- C3H8(g) and CH4(g) have no checkboxes ticked and they cannot occur as a product. If they are in the feed stream they will be forced to react completely.
- C2H6(g) has lockup selected to show the extra column that will become visible.
- N2(g) has inert selected as it will not participate in reactions.
Species Filter
The Filter button is very useful as it allows the user to filter the species list to show only the species of interest. Please see Species Filter for more information on the Filter Options that are available for the species filter.
Additional Phases
By default, all solid species are separate "single species" phases. Gases and Liquids are assigned to Gas and Liquid Phases initially. There can only be a single "Gas" phase - all gases and vapours are assigned to this phase, and this cannot be changed. There can however be multiple liquid phases - for example some liquids may be an 'aqueous' phase, while others may be an 'oil' phase. All non-gas phases are treated identically, so the assignment of the phase here is arbitrary.
For pyrometallurgy applications, there may be additional "slag", "matte", etc. phases. In the FEM tab, the user may select from an additional dropdown list and change the phase of a group of species. Within each phase the concentration dependence of chemical potential is calculated using only species within that phase; thus a slag phase should have two or more species present. If a particular phase is associated with only one species, that species will be removed from the phase and added to the "single species" phases. The user is responsible for selecting the species composition of each separate phase (apart from gases, which are all part of the gas phase, and treated slightly differently in having free energy dependent on partial pressure; other phases have no pressure dependence)
When using molten liquid phases in FEM, do not use the global Auto Phase Change option. For example, silver has a melting point of 960°C, but can exist as a liquid in a molten phase at much lower temperatures when a lower melting point metal (such as lead) is also present.
Phase Assignment
In Build 139 it is possible to associate SysCAD individual phases with VCS phases, and have the model assign the VCS phase based on the individual phase. For example we might assign all molten individual phases (e.g. Pb(ml)) to Phase 2, and all slag individual phases (e.g. SiO2(sl)) to Phase 1. This is located at the bottom of the VCSData tab.
Some care is needed when using this since individual species may be mislabeled in the database. For example Mercury (Hg) is normally specified as a liquid Hg(l), but it may coexist in a molten phase with other molten liquids. In many databases, liquid metals are not specified as being a separate molten (ml) phase.
Water H2O(l) actually has its individual phase being Aqueous - but this may not be appropriate unless other aqueous species are present. ,
SysCAD will then display the corresponding individual phase with the phase flow information
The Check Phases option simply checks the correspondence between the individual SysCAD phase and the specified phase map; if these differ, a warning message is displayed.
The Assign Phases option will assign the phases for each species based on the individual phase, as above, care is needed in some cases.
Activity Coefficient
The Gibbs FEM model is based on ideal gas, liquid behaviour and pure solid compounds. However, the user does have the freedom to modify the activity of any species, which may depend on concentration, temperature, and pressure.
The activity coefficient may be calculated using PGM or Custom Calculations and then used to tune the overall reaction extents.
Notes
- The model is aimed primarily at high temperature combustion and pyromet applications with gaseous, molten and slag species. It has some limited applicability with aqueous and ionic chemistry but should be used with care here. Other third-party Thermodynamic Calculation Engine models (OLI, ChemApp, PHREEQC, etc.) can be used in SysCAD and may be better suited in some cases.
- Thermophysical data (specific heat, enthalpy, entropy) is required if a species is to be used.
- Constrained FEM is a general technique for adding further constraints on the reactions involved in a FEM model. For example, if a particular reaction is rate-limited, we can constrain the extent of the reaction using Lockup, and hence model non-equilibrium systems. CFEM typically involves side calculations, which can be done in PGM or externally, an example is given here: Python Example - CFEM
Reference
Chemical Reaction Equilibrium Analysis, Theory and Algorithms, William R.Smith, Ronald W.Missen, Wiley-Interscience, ISBN: 0-471-09347-5.
Data Sections
- Reactor tab - This tab contains general information relating to the unit.
- EHX - Optional tab, only visible if the HeatLossMethod = EHX Block (when FEM_Reaction is enabled) or EnvironHX = On (when FEM_Reaction is NOT enabled).
- RB - Optional tab, only visible if FEM_Reaction is disabled and Reactions = On.
- FEM tab - This tab allows the user to select which species are Bypassed, Inert, Can occur in the Product (Y) or Locked up. The user may also select individual FEM phases for Solid or Liquid species.
The user may choose to show the phases on separate tabs, in which case they will be shown as - FEM_V, FEM_L and FEM_S. - Solver - Only available in Build 139 or later. This tab displays settings and results related to the solving of the model such as iterations and tolerances.
- Analysis tab - This tab mainly displays the elemental breakdown of species involved in the FEM block.
- Results tabs - These tabs display the species and elemental results of the FEM calculations.
- VCS Data tab - This tab displays a matrix of the species in the FEM reactions. The user may also enable the display of the Reactions occurring in the FEM.
- QFeed - Optional tab, only visible if ShowQFeed is enabled. This page shows the properties of the mixed stream as the feed to the tank.
- This is before the FEM is evaluated.
- QFEM - Optional tab, only visible if ShowQFEM is enabled. This page shows the properties of the product stream from the FEM block.
- QProd - Optional tab, only visible if ShowQProd is enabled. This page shows the properties of the Product stream from the unit.
- Info tab - contains general settings for the unit and allows the user to include documentation about the unit and create Hyperlinks to external documents.
- Links tab - contains a summary table for all the input and output streams.
- Audit tab - contains summary information required for Mass and Energy balance. See Model Examples for enthalpy calculation Examples.
If the FEM_Reaction option on the first page is NOT enabled then the following tab pages are NOT shown: FEM, Solver, Analysis, Results, VCS Data and QFEM.
Reactor Tab
Unit Type: Reactor - The first tab page in the access window will have this name.
Tag (Long/Short) | Input / Calc | Description/Calculated Variables / Options |
Tag | Display | This name tag may be modified with the change tag option. |
Condition | Display | OK if no errors/warnings, otherwise lists errors/warnings. |
ConditionCount | Display | The current number of errors/warnings. If condition is OK, returns 0. |
GeneralDescription / GenDesc | Display | This is an automatically generated description for the unit. If the user has entered text in the 'EqpDesc' field on the Info tab (see below), this will be displayed here. If this field is blank, then SysCAD will display the UnitType or SubClass. |
Requirements | ||
On | Tick Box | This allows the user to disable the Free energy minimisation calculations, and the unit becomes a simple conduit with no calculations. |
FEM_Reaction | Tick Box | This allows the user to disable the Free energy minimisation reactions, so the unit becomes a simple conduit. If this is disabled, most tags and tab pages normally displayed will be hidden. |
EnvironHX | Only visible if FEM_Reaction has NOT been enabled. | |
Off | No environmental heat exchange will occur. | |
On | EHX tab will become visible and user can define environmental heat loss from the unit. | |
Reactions | Only visible if FEM_Reaction has NOT been enabled. | |
Off | No reactions will be available. | |
On | RB tab will become visible and user can define reactions to occur in the unit. | |
Model (Only available in Build 139 or later.) |
Reactor | The results from the FEM calculations will be applied to the output stream, potentially affecting the composition and temperature/enthalpy of the stream. |
SideCalc | The results from the FEM calculations will be displayed but will not be applied to the output stream (input composition/temperature = output composition/temperature). | |
OpMode | FixedT | The user specifies the outlet temperature of the unit. SysCAD will determine the composition of the outlet stream at the required temperature and the amount of energy required to reach that temperature. |
FixedHeat | No additional heat will be added to the unit, and therefore the outlet temperature will be determined by the FEM calculations. | |
TemperatureReqd / T_Reqd | Input | The Required Temperature of the unit. This will be displayed if the user has chosen FixedT. |
FeedLowFlow.MassFlow / FeedLowFlowQm | Input | The user may enter a mass flow value here. Any feed species that has a flow LESS than this value will bypass the FEM. Therefore, this by definition should be a small value, that is used to disregard any minute flows into the FEM which might cause instability in the unit. |
StandardPotential | Tick Box | Only relevant when user overrides potential (DeltaGf) values on the Results tab. Use standard chemical potential values in SysCAD. Note that user supplied (overridden) Chemical Potential values are at Standard Pressure. |
DiscardUnformable | Tick Box | Only available in Build 138 or earlier. In Build 139 or later, this option is effectively always on. Removes un-formable FEM species based on feed composition each iteration. |
DiscardTraceProducts / DiscardTraceProd | Tick Box | This allows the user to discard any trace flows that are formed as products of the FEM unit. |
ProductSpTrace.MassFlow / ProdSpTrace.Qm | Input | Only visible if the DiscardTraceProducts has been enabled. The user may enter a mass flow value here. Any product species that has a flow LESS than this value will be discarded. Therefore, this by definition should be a small value, that is used to disregard any minute flows out of the FEM which might cause instability in a SysCAD project. |
ExcludeIonic | Tick Box | Only visible if the DiscardTraceProducts has been enabled. Exclude and Bypass Ionic Species. |
ExcludeNoUserCp | Tick Box | Only visible if the DiscardTraceProducts has been enabled. Exclude and Bypass Species with undefined Cp (Enthalpy). |
Environmental Heat Transfer | The user may enable different methods for Environmental Heat Transfer. | |
HeatLossMethod | None | There is no energy loss to the environment. |
EHX Block | If this is selected then the user may enable any of the heat transfer methods on the Environmental Heat Exchanger Block tab. Please note that all of these methods will be applied to the Feed stream to the FEM, NOT to the product. | |
Fixed Heat Flow | The user may specify a fixed heat flow from the FEM unit to the environment. This energy will be removed from the overall FEM.Heatflow value. | |
Ambient | This allows the user to specify an overall Heat Transfer Coefficient and Area. The model will then calculate the energy loss to the ambient temperature using the Product temperature from the FEM. The equation used for energy transfer in this case is: Q = Heat Transfer Coefficient (HTC) * Area * (Final FEM Temperature - Ambient Temperature) | |
EHX.HeatLossReqd | Input | This field is only visible if the user has selected Fixed HeatFlow. The user enters the energy flow FROM the unit to the outside environment. Note: A positive value indicates energy flow out of the unit. |
EHX.HTC | Input | This field is only visible if the user has selected Ambient. The user enters the overall Heat Transfer Coefficient for the FEM unit. |
EHX.Area | Input | This field is only visible if the user has selected Ambient. The user enters the Heat Transfer Area for the FEM unit. |
Vent | Only shows if optional Vent output is connected: passes vapour components | |
VentFractionReqd | Input | The Required Fraction of vapours to send to vent connection (default 100%). |
VentFlow | Calc | Mass Flow of vapours to vent. |
OperatingP - NOTE: this pressure is applied to the (combined) feed, before sub-models (if any). | ||
Method | AutoDetect | If there are any liquids AND no vapours present in the feed, outlet streams will take the highest pressure of the feeds. Else (e.g. some vapours present) outlet streams will take the lowest pressure of the feeds. |
LowestFeed | Outlet streams will take the lowest pressure of the feeds. | |
HighestFeed | Outlet streams will take the highest pressure of the feeds. | |
Atmospheric | Outlet streams will be at Atmospheric Pressure. The atmospheric pressure is calculated by SysCAD based on the user defined elevation (default elevation is at sea level = 101.325 kPa). The elevation can be changed on the Environment tab page of the Plant Model. | |
RequiredP | Outlet streams will be at the user specified pressure. | |
IgnoreLowMassFlow / IgnoreLowQm | Tick Box | This option is only visible if the AutoDetect, LowestFeed or HighestFeed methods are chosen. When calculating the outlet pressure and temperature of the tank, SysCAD will ignore the low flow feed streams should this option be selected. The low flow limit is set in the field below. |
LowMassFlowFrac / LowQmFrac | Input | This field is only visible if the IgnoreLowQm option is selected. This is the amount any stream contributes to the total flow. For example, if the total feed to the tank is 10 kg/s, and this field is set to 1%. Then any feed streams with less than 0.1 kg/s will be ignored in the pressure calculations. |
PressureReqd / P_Reqd | Input | This field is only visible if the RequiredP method is chosen. This is user specified pressure. |
Result | Calc | The actual pressure used for the sum of the feeds which will also be the outlet pressure (unless further model options change the pressure). |
Options | ||
WithBypass | Tick Box | This allows the user to set individual species to bypass the FEM calculations. If this is ticked, then on the FEM tab(s) the user will see a column of tick boxes with the heading 'B'. |
WithLockup | Tick Box | This allows the user to set Lockup for individual species. If this is ticked, then on the FEM tab(s) the user will see a column of tick boxes with the heading 'L'. |
WithConstraints | Tick Box | Only available in Build 138. This allows the user to set the constraint coefficient for the individual species. If this is ticked, then on the FEM tab(s) the user will see a column of tick boxes with the heading 'C'. See Notes |
WithActivity | Tick Box | Only available in Build 139 or later. Allows the user to specify the activity of a species on the Results tab. |
Display Options | ||
ShowQFeed | Tick Box | QFeed and associated tab pages (e.g. Sp) will become visible, showing the properties of the combined feed stream. See Material Flow Section. |
ShowQFEM | Tick Box | The product from the FEM calculation and associated tab pages (e.g. Qm) will become visible, showing the properties of the FEM product stream. See Material Flow Section. This may be different from ShowQProd if there are species that are bypassed. |
ShowQProd | Tick Box | QProd and associated tab pages (e.g. Sp) will become visible, showing the properties of the product stream. See Material Flow Section. |
TrackLowFlowQm | Tick Box | Gives warnings if the mass flows of any of the species in the feed flow into the FEM are < FeedLowFlow.Qm |
TrackFeedCpRange | Tick Box | Gives warnings if the Cp values of any of the species in the feed to the FEM are out of range. |
TrackProdCpRange | Tick Box | Gives warnings if the Cp values of any of the species in the product from the FEM are out of range. |
TrackDiscardQm | Tick Box | Gives warnings if any product species from the FEM have mass flows less than the user defined Trace flows. |
Grid.CheckBoxSet | Tick Box | Set on Change for CheckBoxes in FEM Grid. Hint: For projects with large numbers of species it is best NOT to tick this box, as it will slow down the configuration of the unit. |
Display.Reactions | None | No Reactions will be displayed on the VCSData Tab. |
Decimal | Reactions will be displayed on the VCSData Tab, mol balance will be displayed as decimals in the reactions. [Eg: N(g) = 0.5N2(g)] | |
Fraction | Reactions will be displayed on the VCSData Tab, mol balance will be displayed as decimals in the reactions. [Eg: N(g) = 1/2N2(g)] | |
Integer | Reactions will be displayed on the VCSData Tab, mol balance will be displayed as decimals in the reactions. [Eg: 2N(g) = N2(g)] | |
Breakdown of Feed mass flow | ||
Bypass.User.MassFlow / Bypass.User.Qm | (A) | Only displayed if WithBypass has been ticked. The mass flow of all of the user specified bypass species. The 'B' checkbox is selected on the FEM Tab(s). |
Bypass.LowFlow.MassFlow/ Bypass.LowFlow.Qm | (B) | The mass flow of all species in the feed with a mass flow < FeedLowFlow.MassFlow (defined by the user). |
Bypass.Other.MassFlow / Bypass.Other.Qm | (C) | The mass flow of unexpected species in the feed to the FEM. These are species which cannot be reacted, but the user has not selected them as part of the FEM product species. Note: Ideally this field should show a zero value. If this is a non-zero value, then it is recommended that the user reviews the species selected on the FEM tab(s) and selects additional species so that these species can be accommodated in the FEM product species. |
Bypass.MassFlow / Bypass.Qm | (D=A+B+C) | The total bypass mass flow. |
FEM.Feed.Inert.MassFlow / FEM.Feed.Inert.Qm | (E) | The user specified Inert mass flow in the feed. The 'I' checkbox is selected on the FEM Tab(s). |
FEM.Feed.CanReact.MassFlow / FEM.Feed.CanReact.Qm | (F) | The mass flow of all species in the feed to the FEM that can react. The 'Y' checkbox is selected on the FEM Tab(s). |
FEM.Feed.ReactAll.MassFlow / FEM.Feed.ReactAll.Qm | (G) | The mass flow of all species in the feed to the FEM that will be forced to react completely in the FEM calculations. These species do not have any checkboxes ticked on the FEM tab(s). |
FEM.Feed.MassFlow / FEM.Feed.Qm | (H=E+F+G) | The total feed mass flow that is available to the FEM calculations (exclude bypass). |
FEM.Feed.Lockup.MassFlow / FEM.Feed.Lockup.Qm | (Included in CanReact and ReactAll) | Only displayed if WithLockup has been ticked. The total feed mass flow that is locked up. |
FEM.Feed.NonStd.MassFlow / FEM.Feed.NonStd.Qm | (Included in Inert) | The total non standard species. (Species that are not real, made up by the user to represent some material without fully defining its chemical composition. Assumed to be inert) |
Feed.MassFlow / Feed.Qm | (=D+H) | The total feed mass flow, includes bypass |
Feed.StdSp.MassFlow / Feed.StdSp.Qm | Calc | The mass of material in the feed to the unit that does have associated standard species in the project database. |
FEM.Prod.MassFlow / FEM.Prod.Qm | Calc | The mass flow of material from the FEM model. |
Results | ||
FEM.Feed.Temperature / FEM.Feed.T | Calc | The temperature of the material feeding the FEM calculations. This is calculated AFTER the EHX calculations. |
FEM.Temperature / FEM.T | Calc | The temperature of the FEM after reactions. |
Feed.VolFlow / Feed.Qv | Calc | The volumetric flow of material into the FEM unit. |
Prod.VolFlow / Prod.Qv | Calc | The product volumetric flow. |
Feed.Temperature / Feed.T | Calc | The temperature of the feed to the unit. |
Prod.Temperature / Prod.T | Calc | The temperature of the product. |
FEM.Discarded.MassFlow / FEM.Discarded.Qm | Calc | The mass flow of discarded species from the FEM calculations. These are species with individual mass flows < ProductSpTrace.MassFlow (a user defined value). |
Energy Balance | ||
Feed.Hf | Calc | Total Enthalpy of formation of the feed to the FEM unit. |
FEM.Feed.Hf | Calc | Total Enthalpy of formation of feed taking part in the FEM calculations. |
FEM.Prod.Hf | Calc | Total Enthalpy of formation of Product from the FEM calculations. |
EHX.HeatFlow | Calc | Heat flow due to environment heat exchange. |
FEM.HeatFlow | (I) | The net heat loss or gain for FixedT calculations. This is the energy that is required to maintain the temperature of the FEM products. |
Bypass.HeatFlow | (J) | This is the energy that is required to bring the bypass material to the FEM product temperature. |
HeatFlow | (=I+J) | The net heat loss or gain for FixedT calculations. This is the overall energy required to maintain the FEM product temperature. |
FEM.Feed.Hz | Calc | Sensible Enthalpy of feed to the FEM calculations. |
FEM.Prod.Hz | Calc | Sensible Enthalpy of product from the FEM calculations. |
FEM.Delta.Hz | Calc | Difference of enthalpy from the FEM calculations. |
FEM Tab
Tag (Long/Short) | Input / Calc | Description/Calculated Variables / Options |
Gibbs Free Energy Minimisation (FEM) | ||
Selecting Bypass and Participating FEM Species | ||
(The user may select individual species to Bypass the FEM, as Inert, as appearing in the FEM product or to Lockup a portion of the species. The user may also change the FEM phase for solids or liquids.) | ||
PagePerPhase | Tickbox | This is a global selection. Ticking this box will change FEM tab into three separate Tabs, FEM_V for vapours, FEM_L for liquids and FEM_S for solids. In the image shown above, this box has been ticked and the FEM_S page is visible. This can be useful for projects with a large number of species, but the 'Filter' functionality will probably be more useful. |
SpeciesTag | This will toggle between Species:Long and Species:Short button, where the species name will toggle between chemical name or common name. For example, Methane(g) or CH4(g) | |
Select | Clicking on the "Select Y (CanReact)" button will allow the user to select 1) All 2) all Solids 3) all Liquid or 4) all Vapours that can be included in the FEM calculations. | |
FEMSpecies | Check data button performs some data validation based on the options selected for species. Any erroror are reported in the message window. This is the same action performed at solver startup when running the model. | |
Filter.On | This button allows the user to enable the Species filters. The different filter options allow the filter to be based on the elemental definition of a species or on the short or long tag for the species name. The number of species that are displayed will be shown next to this field. This is very useful for projects with a large number of species.
Please see Species Filter for more information on the Filter Options that are available for the species filter. | |
The table on this tab will display all of the species (or the species in the phase) and allows the user to choose various settings for each species. Each column will be described below: | ||
FEM Species | Display | This is a list of the Species in the project, or the species in the phase if the user has selected PagePerPhase. |
B (Bypass) | Tickbox | These species completely bypass the FEM block and are not considered in the FEM equations at all. However, they will affect the energy balance, as they will be heated/cooled to the same temperature as the FEM product. Note: This column is only visible if the 'WithBypass' box is ticked on the first tab of the FEM Access window. |
I (Inert) | Tickbox | These species do not participate in reactions. While these species will not react, they may influence the FEM products, as they are included in any concentration or partial pressure calculations. For example, Inert gases change the gaseous partial pressure of other gases, hence influence the final composition. |
L (Lockup) | Tickbox | These Species can have a Locked up fraction, i.e. a portion of the species will be 'hidden' from the FEM calculations and hence cannot react. Note: This column is only visible if the 'WithLockup' box is ticked on the first tab of the FEM Access window. |
Y (Yes) | Tickbox | These species are considered to be possible product FEM Species - i.e. they can exist in the FEM product. (CanReact) |
Phase | List | The user may specify a different phase for solid or liquid species. This affects results as it will affect the final concentration values. |
FeedTotal.Qm | Calc | The mass of each species in the feed to the FEM. |
OK | Display | If this field has a value of 1, then all Thermophysical Data (Cp, Enthalpy and Entropy including H25 and S25) is available. If it has a value of 0, then complete thermophysical data is unavailable. The species should not be used in calculations (or Cp data needs to be added in Species Database). |
F (Forced) | Display | If this field is visible and the species is present in feed, it will be forced to react completely - it may not exist in the FEM product. Note: If the user has not ticked any of the 'B', 'I' or 'Y' boxes, then this field will be visible. |
Lockup | Input | If 'L' is ticked for a species, then the user may specify the fraction of the species that is locked up, i.e. unavailable for reaction. |
Coeff | Input | Only available in Build 138 or later. If 'C' is ticked for a species, then the user may specify the constrain coefficient of the species, i.e. limitation for the reaction. See Notes |
- Lockup may be used to model nonequilibrium behaviour. A FEM reaction will always be in equilibrium, however there may be situations where the reaction occurs relatively slowly and may not proceed to completion. For example the residence time in a reactor may be shorter than the typical reaction time. In order to allow "incomplete" reactions, the user may lock up some fraction of a feed species. The "locked up" fraction of the species appears as an inert, and still influences the final composition by affecting the concentration (partial pressure or mole fraction) dependence of the free energy.
Solver Tab
Only available in Build 139 or later.
Analysis Tab
Results Tabs
First Results Tab
Build 138 or earlier | Build 139 or later (many parameters moved to Solver Tab) |
Tag (Long/Short) | Input / Calc | Description/Calculated Variables / Options |
FEM Species Data Results | ||
FixedHeat.Damping | Input | Only visible if OpMode = Fixed Heat. In Build 139 or later, this is shown on Solver Tab instead. Damping for FixedHeat convergence. If solution is not converging because of large changes in free energy at a particular point, adding damping (50%+) may help. |
FixedHeat.AbsTol | Input | Only visible if OpMode = Fixed Heat. In Build 139 or later, this is shown on Solver Tab instead. Absolute tolerance for FixedHeat to converge. |
FixedHeat.MaxIterations | Input | Only visible if OpMode = Fixed Heat. In Build 139 or later, this is shown on Solver Tab instead. Maximum number of iterations for FixedHeat to converge. |
FixedHeat.Iterations | Display | Only visible if OpMode = Fixed Heat. In Build 139 or later, this is shown on Solver Tab instead. Number of iterations for FixedHeat to converge. |
FEM.MaxIterations | Input | In Build 139 or later, this is shown on Solver Tab instead. Maximum number of iterations for FEM to converge. |
FEM.BasisOpt.Calls | Display | In Build 139 or later, this is shown on Solver Tab instead. Number of calls to the Basic Optimisation function. |
FEM.SpCount.Unformable | Calc | In Build 139 or later, this is shown on Solver Tab instead. The number of un-formable species present. |
FEM.SolveTime | calc | Only available in Build 138. In Build 139 or later, this is shown on Solver Tab instead. Overall solve time. |
FEM.VCSTime | Calc | Only available in Build 138. In Build 139 or later, this is shown on Solver Tab instead. Time for call to VCS routine. |
FEM.Temperature / T | Calc | The temperature of the FEM reactor. |
FEM.HeatFlow | Calc | Heat added/removed from FEM calculation to maintain the fixed Temperature. |
FEM.Iterations | Display | Number of iterations for FEM to converge. |
G/RT | Calc | The Final Chemical Potential. |
Participating FEM Species | ||
ShowDeltaGf | TickBox | Include Entropy and Gibbs Free Energy for each individual species in the FEM Species table below. |
ShowDeltaQm | TickBox | Displays the difference in molar flow from the Feed to Product stream for each individual species in the FEM Species table below. |
FEM_Zeros | Hide or Show species with no flow in the FEM Species table below. | |
SpeciesTag | Toggles between long and short species name. | |
Inerts | Hide or Show inert species in the FEM Species table below. | |
Filter.On | Only available in Build 139 or later. This button allows the user to enable the Species filters. The different filter options allow the filter to be based on the elemental definition of a species or on the short or long tag for the species name. The number of species that are displayed will be shown next to this field. This is very useful for projects with a large number of species.
Please see Species Filter for more information on the Filter Options that are available for the species filter. | |
Species Data The following table displays data for each individual species. Each column in the table will be described below: | ||
FEM Species | Display | List of species in the FEM calculations. This will be displayed by Phase. |
Phase | Display | The FEM phase for each species. This may be changed for Solids and Liquids, but Gases are always in a single 'Gas' phase group. |
Activity / ActivityCoeff | Input | Activity Coefficient. Correction [math]\displaystyle{ RT\ln a }[/math] for chemical potential. If a=1, there is no correction. Only shown if WithActivity option is enabled on first tab page. |
Feed.Qml | Display | Mole flow of species in feed. |
Prod.Qml | Display | Mole flow of species in product. |
Diff.Qml | Display | Only displayed if the user has ticked ShowDeltaQm. Molar Difference across the FEM block. |
Gf | Display | Only displayed if the user has ticked ShowDeltaGf. Species Gibbs free energy at the Product temperature. |
mu/RT | Input/Display | Non-dimensional chemical potential. Can be input field if user has chosen to override by ticking 'O' (see next field). |
O (Override) | Tickbox | If the user ticks this box, then they may specify an override value for the species chemical potential. If the StandardPotential option has been selected on the first tab page, then SysCAD assumes the supplied values are at Standard Pressure. |
Second Results tab (...)
VCS Data Tab
This shows additional information relating to the VCS (Villars-Cruise-Smith) FEM calculation. The algorithm determines a species basis and a set of reactions such that any of the (nonbasis) species can be produced from the basis specis.
Build 138 or earlier | Build 139 or later |
Tag (Long/Short) | Input / Calc | Description/Calculated Variables / Options |
FEM VCS Data | ||
NComp | Display | The number of components formed in the FEM calculations. |
MR | Display | The number of reacting species. |
NR | Display | The number of reactions in the FEM. |
M | Display | The number of active species feeding into the FEM block. |
N | Display | The number of product species from the FEM block. |
NE | Display | The number of elements involved in the FEM calculations. |
Display (Only available in Build 138 or later) |
Full | Only in Build 138 and earlier. The table below will show the Product and Basis species in a single table. |
Basic | Two tables will be displayed, one for the Product species and one for the Basis species. | |
WithEquation | The tables below will show the same information as the Basic option, as well as the Reaction used to produce each Product species. | |
Filter.On | Only available in Build 139 or later. This button allows the user to enable the Species filters. The different filter options allow the filter to be based on the elemental definition of a species or on the short or long tag for the species name. The number of species that are displayed will be shown next to this field. This is very useful for projects with a large number of species.
Please see Species Filter for more information on the Filter Options that are available for the species filter. | |
(Most of the rest of the fields on this page will not be displayed until the model is run) | ||
Stoichiometric Basis species head each column and product species head each row. Entries show moles of each basis species to produce product. The Basis species are ordered in terms of molar quantity. | ||
(The table below has one row per Product species. Each column will be described below:) | ||
ProdSpecies | Display | The Product species. |
MlFrac | Calc | The mole fraction of the relevant Product species in the product stream. |
DeltaG | Calc | The free energy of formation from elements of the Product species. |
SatIndex / SI | Calc | Only available in Build 139 or later. The saturation index (SI) of the Product species, [math]\displaystyle{ SI = e^{-\Delta G/RT} }[/math]. If a species is present in the product, then the saturation index is 1. Otherwise, the saturation index [math]\displaystyle{ SI\lt 1 }[/math], and the value provides some indication as to whether the species might form if the feed composition changes. A low value indicates that conditions are not favorable for the species to form. |
BasisSpeciesX | Calc | Only displayed if Display = Full. The stoichiometric co-efficient of BasisSpeciesX that is used to produce the relevant Product species. A negative co-efficient shows that the species is produced with the relevant Product species. |
(If Display = Full, all the fields described above will be in a single table with a final row MlFrac, which shows the mole fraction of each Basis Species in the product stream.) | ||
(If Display = WithEquation, the Reaction used to produce each product species is shown on the RHS of the relevant row. | ||
(If Display = Basic OR WithEquation, the following table will be displayed with one row per Basis species. Each column will be described below:) | ||
BasisSpecies | Display | The Basis species. |
MlFrac | Calc | The mole fraction of the relevant Basis species in the product stream. |
(The following fields will only be displayed if Disp is NOT set to None.) | ||
List of reactions based on species in product | ||
Reactions for formation of product species will be shown. Format of stoichiometric co-efficients are dependent on selection of Disp, described below. | ||
Disp | None | Do not display any reactions. |
Decimal | Display the FEM reactions with decimal format for the species. For example, NH(g) = 0.5 N2(g) + 0.5 H2(g) | |
Fraction | Display the FEM reactions with fractional format for the species. For example, NH(g) = 1/2 N2(g) + 1/2 H2(g) | |
Integer | Display the FEM reactions with integer format for the species. For example, 2 NH(g) = N2(g) + H2(g) | |
All | If the user clicks on this button all of the reactions displayed above will be copied to the clipboard. They may then be pasted into a report or spreadsheet as required. | |
FEM VCS Phase Information | ||
(The following fields display the molar flows for each phase present in selected FEM Species. In Build 139, also displays association of associated SysCAD individual phases) | ||
Phase0 | Display | Only available in Build 138 or later. The molar flows for Phase0, the sum of single species (condensed) phases. |
Phase1 | Display | Only available in Build 138 or later. The molar flows for Phase1, all the gas species. |
Phase2 | Display | Only available in Build 138 or later. The molar flows for Phase2. |
Phase3 | Display | Only available in Build 138 or later. The molar flows for Phase3. |
(The remaining fields are only available in Build 139 or later. Please refer to Model Theory - Phase Assignment for more information) | ||
PhaseMapCheck | Only available in Build 139 or later. If this button is pressed, a check of the correspondence between the individual SysCAD phase and the specified phase map is performed. If these differ, a warning message is displayed. | |
PhaseAssignment | Only available in Build 139 or later. If this button is pressed, SysCAD will assign the phases for each species based on the individual phase. | |
IPhase to FEM Phase Mapping | ||
PhaseMap... | ||
PhaseX (Only available in Build 139 or later) |
Single | Assign PhaseX to a Single Phase. |
Liquid | Assign PhaseX to the Liquid Phase. | |
Phase 1 | Assign PhaseX to Phase 1. | |
Phase 2 | Assign PhaseX to Phase 2. | |
Phase 3 | Assign PhaseX to Phase 3. | |
IndPhase | Assign PhaseX to IndPhase. |
Adding this Model to a Project
Add to Configuration File
Sort either by DLL or Group:
DLL: | HeatExchange.dll |
→ | Units/Links | → | Process: Reactor (Gibbs FEM) | |
DLL:(Build138 or earlier) | HeatExchange.dll | → | Units/Links | → | Process 2: FEM Reactor | |
or | Group: | General |
→ | Units/Links | → | Process: Reactor (Gibbs FEM) |
Group:(Build138 or earlier) | General | → | Units/Links | → | Process 2: FEM Reactor |
See Model Selection for more information on adding models to the configuration file.
Insert into Project Flowsheet
Insert Unit | → | Process | → | Reactor (Gibbs FEM) | |
Insert Unit (Build138 or earlier) | → | Process 2 | → | FEM Reactor |
See Insert Unit for general information on inserting units.
Example
Suppose we have the ten species
C(s), CO(g), CO2(g) CH4(g), COS(g), SO(g), SO2(g), SO3(g), CH4(g), H2(g)
and we are ultimately looking to solve for ten unknown quantities (say the total moles of each of these species in the product)
There are four elements present (C, H, O, S), so we have four constraints - the total quantity of each of the four elements must be conserved. So the total moles of each product are not independent; there are only 6 = 10-4 independent variables.
In practice, we formulate the problem in terms of a subset of the species which we can use to produce each of the remaining species, and our six independent variables are the reaction extents of each of the reactions defined by this subset. So here we have the reactions
COS(g) = -3SO3(g) + CO2(g) + 4SO2(g) [Equivalently COS(g) + 3SO3(g) = CO2(g) + 4SO2(g)]
H2(g) = - SO3(g) + SO2(g) + H2O(g)
SO(g) = - SO3(g) + 2SO2(g)
CO(g) = - SO3(g) + CO2(g) + SO2(g)
CH4(g) = -4SO3(g) + CO2(g) + 4SO2(g) + 2H2O(g)
C(s) = -2SO3(g) + CO2(g) + 2SO2(g)
Conceptually, we "convert" our entire feed to the four basis species via these reactions, then determine the extent of each reaction which minimizes the free energy. The only additional constraint is that each reaction extent lies between 0 and 100%. If the extent of a reaction is zero, then that species will not be present in the final product.
In fact there are many possible choices for the basis species, and the algorithm choses an appropriate set (and can change the basis on the fly during calculation). As discussed below, the feed composition may be such that it is impossible to partitiion the feed elements into the desired product species, in which case no solution will be found. The user must select an appropriate set of species (and phases).
Errors and Warnings
The most important consideration in getting useful results from the FEM model is correct choice of the species and phases as well as ensuring that reliable thermophysical data is available for these.
If the FEM model is used in an overall plant model, the user has no direct control over which species are present in the feed, and consequently the model may not be able to find a solution. As a simple example, consider combustion of coal in air, producing Carbon Monoxide and Dioxide. Since we expect to burn all the coal, we just choose the gases as FEM species:
Now if we have excess air, there are no problems:
Increasing the feed carbon, we can use all the oxygen and produce CO2
Additional carbon, and we need to produce CO as well
However if we put in excess carbon, there is no possible reaction that can use all that is present in the feed: the FEM model will detect this and complain
In this case we can easily correct the model by adding carbon as a FEM species. However in a model with dozens of species, it is not always clear which species may be present in the product, and one should avoid having species present which will not be products. (For example, if we are modelling combustion of liquid butane at elevated temperatures, we will not expect this to be present as a product.)
In solving a large plant model with many recycle loops, it may take a number of iterations before the feed composition to a particular model is determined, and there may well be no solution to the FEM model in the meantime. If there is no solution, the model "gives up" and sets the feed product composition to the feed and this may disrupt the overall model from finding a satisfactory solution. In this case it may be useful to use a simplified set of reaction in a reaction block to find an approximate plant solution before enabling FEM.
A further problem arises if we specify exactly 100kMol/h flow of carbon. Although there is a feasible solution (complete combustion to CO), a numerical issue arises in the calculation. (For a valid solution, there will be trace quantities of each of the species present, and we cannot satisfy this condition in this situation without a small mass imbalance.
Further issues arise when multiple species are in a particular phase. As a rule, it is necessary that all species are actually present in a phase if there are reactions available that will produce that species. This is because the chemical potential becomes large and negative as the quantity of a species goes to zero, so adding a trace amount of that species (if none were present) would reduce the free energy. However the amounts required may be minuscule and may cause roundoff errors in calculations, so the model removes trace multiphase species altogether to avoid this issue. Removing a species may then leave the system without any possible reactions - this is not an error, just an indication that the final state is fully determined.
Error and Warning Messages
- No Solution: Excess Element abundance in Non FEM Feed Species.
- This is generated in the case described above. There is no possible reaction producing the FEM species that can use all of a particular element in the feed. Add additional species containing that element so that it can be utilized.
- Number of Independent Species equals number of elements - reactions predetermined
- Suppose we have butane combustion
- C4H10 + 6.5O2 = 4CO2 + 5H2O
- If we specify FEM species CO2, O2 and H2O, and feed composition, then there is no freedom to specify the product composition, this is completely determined since all the C in the butane must react to form CO2, and all the H in butane reacts to form H2O. If there is a feasible solution to the reaction involving the FEM species, the model will find it, but issues this warning.
- We could add a further species CO (Carbon Monoxide) and the products would not then be determined by stoichiometry alone, removing the warning.
- Removing Trace species leaves no reactions - check results
- In the butane example above if we have C4H10, CO2, O2 and H2O as gaseous species, we have a reaction. However if there is no C4H10 in the product, it will be removed from the gaseous phase, and there is no further reaction available among the remaining species. So these species will work as FEM species if we have a rich mixture (excess C4H10), but if we have a lean mixture we will get the warning.
- Removing Phase leaves no reactions
- As an example, we have a combustion reactor with coal and air; the solids feed consisting of C(s) with impurities of SiO2(s) and TiO2(s). Selected FEM species are
- CO2(g), CO(g), O2(g)
SiO2(s)
C(s)
TiO2(s)
- CO2(g), CO(g), O2(g)
- With no air in the feed, it is not possible to create any component in the gas phase, which is then removed entirely. The remaining components have no reactions available, being fully determined, and a warning is given.
- When solving large models with recycles, it is possible that some reactors may not have all the required feeds during the solution, for example after a reset, in which case these warnings will be issued. Once the model flows are established, the warnings should disappear.
- Maximum Iterations Exceeded
- This message can arise when the solution is indeterminate. A simple example of this is the water-steam system at atmospheric pressure when the temperature is exactly 100°C. It could be pure steam or pure water or anything in between. At this temperature the free energy for water and steam are identical, so there is no one solution.
- One particular situation where the message appears is when you have two different phases of the same species, which would normally appear in different (non overlapping) temperature ranges. In most cases, the free energy contribution of the two phases will be sufficiently different for the model to choose between one or the other (for example, H2O(l) vs H2O(g) above and below 100C at atmospheric pressure)
- However depending on how the model handles the calculation of entropy and enthalpy for the "out of range" species, the two values may be nearly identical, resulting in an under-constrained system. The model can't decide which form should be present and ends up jumping back and forth between them (hence the Maximum Iterations Exceeded error message)
- To fix this error, check on the temperature range for which the phases are valid, and remove the species that is out of range.
- If the temperature is indeterminate (Fixed Heat) or controlled externally, further logic in a PGM might be needed to deselect a particular phase depending on the actual reaction temperature.
- There are situations when it may take many thousands of iterations to find a solution even when one exists. This happens for multiphase systems near a bubble point or dew point. For example the ethanol-water system:
- For a single component (e.g. H2O), if we are above or below the boiling point, then there is a unique solution - either pure liquid water below the boiling point, or pure steam above, and the algorithm finds this directly. However for a multicomponent system above the boiling point and below the dewpoint, all components of both vapour and liquid phases will be present. If the temperature is very close to the boiling point (at which the composition is indeterminate), then the algorithm may take a large number of iterations to find the actual composition.
- If you are seeing this message, you can try increasing the number of iterations (the maximum allowable value is presently 10000) to see if the model can find a solution.
- The message will in fact usually appear when phase boundary calculations are done, since in this case the temperature is being adjusted to find the dewpoint or bubble point.
- Allotropes of Solid Phase Present
- A general message is issued if a FEM model has multiple allotropes of a solid species, e.g. Cuprospinel which can exist as CuO.Fe2O3(s) or CuO.Fe2O3(Bs). This situation can arise when importing species from the HSC database. Allotropic forms of a solid will be imported as separate species, in this case as a solid (s) phase and a beta solid (Bs) phase. These will have non-overlapping ranges of validity for the specific heat.
- If two separate allotropes of a species are included as FEM species, the user should check the correct allotrope is being chosen when the temperature is out of range for one of them. The (invalid) specific heat calculation may yield a free energy lower than the valid calculation for the other allotrope, in which case it will be chosen in preference.
- Remove the allotrope with an invalid temperature
- Alternatively, combine the two species into a single solid species with a specific heat valid over the entire range.
- Checking Data Consistency
- There are additional warning messages in Build 139 relating to the consistency of thermophysical data for the FEM species. If you see these messages you should review the species data. In particular if S25 is not defined for a species (especially for a particular phase of a species that includes solid, liquid and vapour components) then results are likely to be inaccurate.