# Free Energy Minimisation (FEM)

(Redirected from FEM)

Navigation: Models ➔ Energy Transfer Models ➔ Free Energy Minimisation (FEM)

## General Description

The Free Energy Minimisation (FEM) model will apply standard Gibbs FEM equations to the material in the feed stream to the 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 FEM unit. This may be calculated at either the FEM Feed or Product temperature.

## Diagram

The diagram shows a drawing of the FEM unit, with a Feed (In) and Product (Out) stream, and optional Vent stream (Build 139 or later only). When the user inserts the 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 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 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: A fraction of the selected species may be 'Locked-up' and will not be available for reaction in the FEM calculations; A box allowing the user to enter the fraction of the species that is locked-up will be visible; Species that are 'Inert' or 'Bypassed' may not be Locked-up. Y Yes By ticking this box the user indicates that the selected species may be part of the possible product species group. C Constrain Only available in Build 138. This column will only be visible if the "WithConstraints" option is ticked on the "Reactor" Tab. If this box is ticked then user can enter the value of the coefficient in the "Coeff" column (will appear on the far right of the table). See Notes 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.

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 (eg Pb(ml)) to Phase 2, and all slag individual phases (eg 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

These may be set by the user to tune the overall reaction extents, and based on calculations in a PGM or a SysCAD Custom Calculation

### 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 (available from Build 138) 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 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

1. Reactor tab - This tab contains general information relating to the unit.
2. EHX - Optional tab, only visible if the HeatLossMethod = EHX Block (when FEM_Reaction is enabled) or EnvironHX = On (when FEM_Reaction is NOT enabled).
3. RB - Optional tab, only visible if FEM_Reaction is disabled and Reactions = On.
4. 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.
5. 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.
6. Analysis tab - This tab mainly displays the elemental breakdown of species involved in the FEM block.
7. Results tabs - These tabs display the species and elemental results of the FEM calculations.
8. 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.
9. 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.
10. QFEM - Optional tab, only visible if ShowQFEM is enabled. This page shows the properties of the product stream from the FEM block.
11. QProd - Optional tab, only visible if ShowQProd is enabled. This page shows the properties of the Product stream from the unit.
12. Info tab - contains general settings for the unit and allows the user to include documentation about the unit and create Hyperlinks to external documents.
13. Links tab - contains a summary table for all the input and output streams.
14. 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 unit class ID.

#### 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.
MinOnDeltaGf Tick Box Only available in Build 137 or earlier.
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 vapor 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 (eg. 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 (eg 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 (eg 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 (eg 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. This feature is only available in Build 137 and later. 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) C (Constrain) Tickbox Only available in Build 138 or later. Additional Material Constraints and coefficients.Note: This column is only visible if the 'WithConstraints' box is ticked on the first tab of the FEM Access window. 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.

 Tag (Long/Short) Input / Calc Description/Calculated Variables / Options Gibbs FEM Solver Control UseConvergedSoln / UseCvgdSoln Tickbox Model will try to use previous solution as a starting point if feed hasn't changed much since previous iteration. This saves computational time hence speeding up model solution. FEM Solver Tolerances and Parameters Tolerances If pressed, will reset the 3 tolerance parameters below and FEM.MaxIterations to their default values. MajorsTolerance / MajorsTol Input Internal model tolerance. Smaller tolerances lead to more accurate solutions but may take longer to converge and in some situations may not converge. MinorsTolerance / MinorsTol Input Internal model tolerance. Smaller tolerances lead to more accurate solutions but may take longer to converge and in some situations may not converge. ReuseConvergedSolnTol / ReuseCvgdSolnTol Input Only visible if UseConvergedSoln option has been enabled. Tolerance for deciding if current feed is close enough to previous feed to allow use of previous solution as a starting point. FEM.MaxIterations Input Maximum number of iterations for FEM to converge. FixedHeat Solver Tolerances and Parameters (only visible if OpMode = Fixed Heat) FixedHeat.UseAutoDamping Tickbox Only visible if OpMode = Fixed Heat. Damping for FixedHeat convergence. If solution is not converging because of large changes in free energy at a particular point, adding damping may help. If this option is enabled SysCAD will automatically add damping. FixedHeat.AutoDamping Display Only visible if OpMode = Fixed Heat and UseAutoDamping has been enabled. The damping value that SysCAD is currently using. FixedHeat.Damping Input Only visible if OpMode = Fixed Heat and UseAutoDamping has NOT been enabled. 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. Absolute tolerance for FixedHeat to converge. FixedHeat.MaxIterations Input Only visible if OpMode = Fixed Heat. Maximum number of iterations for FixedHeat to converge. FixedHeat Solver Performance (only visible if OpMode = Fixed Heat) FixedHeat.Iterations Display Only visible if OpMode = Fixed Heat. Number of iterations for FixedHeat to converge. FixedHeat.FEM.Iterations Display Only visible if OpMode = Fixed Heat. FixedHeat.FEM.VCSTime Calc Only visible if OpMode = Fixed Heat. Time for call to VCS routine. FEM Solver Performance ConvergedSolnUsed / CvgdSolnUsed Display Only visible if UseConvergedSoln option has been enabled. Flag to indicate if previous solution was successfully used as starting point for new solution. FEM.Iterations Display Number of iterations for FEM to converge. FEM.BasisOpt.Calls Display Number of calls to the Basic Optimisation function. FEM.SpCount.Unformable Calc The number of un-formable species present. FEM.VCSTime Calc Time for call to VCS routine. FEM.VCSInitTime Calc Time for completion of VCS initialisation. Overall FEM.EPTime Calc Total time in EvalProducts. FEM.SolveTime Calc Overall solve time. FEM.Temperature / T Calc The temperature of the FEM after reactions. FEM.HeatFlow Calc The net heat loss or gain for FixedT calculations. This is the energy that is required to maintain the temperature of the FEM products. Sweep... Temperature Sweep Model must be solved first to establish feed conditions Sweep action evaluates FEM over a temperature range and copies thermal balance to clipboard. If there are discontinuities in the thermal balance at any point, these indicate phase boundaries or species appearing/disappearing from the product. The FixedHeat model may have difficulties solving near these points. Compare action compares the state at the minimum and maximum temperatures. Appeared species are present at the high, but not at the low temperature. Disappeared species are the other way around. Intervals Input The number of intervals to be evaluated. The number of points in the output will be one more than this number. MinT Input The minimum temperature to be evaluated. MaxT Input The maximum temperature to be evaluated. SpAppeared Display Only updated when Sweep and Compare or Compare Only button is pressed. The species which are present at the maximum temperature of the evaluated range but not at the minimum temperature of the evaluated range. SpDisappeared Display Only updated when Sweep and Compare or Compare Only button is pressed. The species which are present at the minimum temperature of the evaluated range but not at the maximum temperature of the evaluated range. Sweep Only available if the model has been solved. If pressed, the model will be evaluated at a number of points (Intervals+1) from MinT to MaxT. Two columns of data (Temperature vs HeatFlow) will be copied to the clipboard. It can then be pasted into other programs such as MS Excel. A comparison will also be made between the states at the minimum and maximum temperatures and the results will be displayed in the SpAppeared and SpDisappeared fields described above. Compare Only available if the model has been solved. If pressed, a comparison will be made between the states at the minimum and maximum temperatures and the results will be displayed in the SpAppeared and SpDisappeared fields described above.

### Analysis Tab

 Tag (Long/Short) Input / Calc Description Comment FEM Species Analysis FEMSpecies Check Data button. SpCount.Bypass Display Number of species that Bypass the FEM. (A) SpCount.Inert Display Number of Inert species. (B) SpCount.CanReact Display Number of species that can exist in the FEM product. (C - possible product species) SpCount.ReactAll Display Number of species that MUST react totally, i.e. they cannot exist as a product species. (D - if present in feed) SpCount.Other Display Number of species that are discarded. (E - unexpected if present in feed) SpCount.Total Display Total number of species present in the project. (=A+B+C+D+E) SpCount.WithLockup Display Number of species that have Lockup enabled. This field is normally hidden. ElemCount.CanReact Display Total elements present in the FEM reactions. (Used) ElemCount.Total Calc Total elements present in the project. Count of FEM Species for Elements based on selected I and Y.The following table displays all of the elements involved in the FEM calculations. Each column will be described below: Element Display A list of the elements that occur in the species in the FEM feed. Bypass Display The number of species containing the element that are Bypassed. Inert Display The number of species containing the element that are Inert. CanReact Display The number of species containing the element that are possible FEM product species. Total Display The total number of species containing the element in the FEM feed. Used Display Indicates if the element is used in the FEM calculations. AN Display The atomic number of the element. Excluded Elements based on selected Y and I Element Display A list of the elements that occur in the species that are in the FEM feed, but are excluded from the reactions. Total Display The total number of species containing the element that are excluded from reactions. AN Display The atomic number of the element.

### 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, Gibbs Free Energy and $\displaystyle{ \Delta G^f_0 }$ (Build 137 or earlier) 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 DataThe 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 Input Correction $\displaystyle{ RT\ln a }$ for chemical potential. If a=1, there is no correction.Note: In Build 139 or later, 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. S Display Only available in Build 138 or earlier. Only displayed if the user has ticked ShowDeltaGf. Species Entropy at the Product temperature. Gf Display Only displayed if the user has ticked ShowDeltaGf. Species Gibbs free energy at the Product temperature. DeltaGf Display Only displayed in Build 137 or earlier. Only displayed if the user has ticked ShowDeltaGf. Product $\displaystyle{ \Delta G^f_0. }$ Free energy of formation from elements at same conditions. 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 (...)

 Tag (Long/Short) Input / Calc Description/Calculated Variables / Options Species With Flow Mass Flow and Species Count are displayed for the following variables. LowFlow Display Species with flow less than the user specified minimum flow, 'FeedLowFlow.MassFlow'. These species will NOT be used in the FEM calculations. OtherBypass Display Species that will Bypass the FEM calculations. FEM.Lockup Display Species that the user has defined to have Lockup. FEM.Inert Display Species that the user has defined as Inert. FEM.ReactAll Display Species that cannot occur in the FEM product, i.e. they must fully react. (they do not have 'Y' ticked on the FEM tab(s)). FEM.Feed Display Species in the FEM feed. FEM.Prod Display FEM Product species. FEM.Discard Display Species that have been discarded from the FEM calculations. These are species with individual mass flows < ProductSpTrace.MassFlow (a user defined value). FEM.InvalidFeedCp Display Species in the FEM Feed with invalid Cp at the FEM feed temperature. FEM.InvalidProdCp Display Species in the FEM Product with invalid Cp at the FEM product temperature. FEM.InvalidFeedS25 Display Only available in Build 138 or later. Species in the FEM Feed with invalid S25 at the FEM feed temperature. FEM.InvalidProdS25 Display Only available in Build 138 or later. Species in the FEM Product with invalid S25 at the FEM product temperature. SpList.LowFlow Display A list of species with flow less than the user specified minimum flow, 'FeedLowFlow.MassFlow'. SpList.OtherBypass Display A list of species that will Bypass the FEM calculations. SpList.Lockup Display A list of species that have Lockup enabled. SpList.Inert Display A list of Inert species. SpList.ReactAll Display A list of species in the FEM feed that will be forced to react completely in the FEM. SpList.Unformable Display A list of species that have been selected as possible FEM products that cannot be formed in the FEM reactor. SpList.Discard Display A list of FEM product species that have flow rates below the minimum allowable flow, 'DiscardTraceProducts' (this is normally a very small value, in the order of 1e-10). FEM_Zeros Hide or Show species with no flow in the FEM element table below. Inerts Hide or Show inert species in the FEM element table below. Elemental DataThis table shows the molecular flows based on the user defined groups. Each column will be described below: Element A list of all of the elements involved in the FEM block. CanReact.QMl Mole flow of the element in species that can react and can appear as products in the FEM. ReactAll.QMl Mole flow of the element in species that are forced to react, i.e. cannot appear as products in the FEM. Inert.Qml Mole flow of the element in inert species. MoleFlow / QMl Total mole flow of the element in all species in the FEM calculations. Used Indicates if the element is used in the FEM calculations. AN Atomic Number.

### 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, $\displaystyle{ SI = e^{-\Delta G/RT} }$. If a species is present in the product, then the saturation index is 1. Otherwise, the saturation index $\displaystyle{ SI\lt 1 }$, 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

Insert into 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

 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)


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 (eg 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 vapor 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, eg 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 vapor components) then results are likely to be inaccurate.