# Free Energy Minimisation (FEM)

(Redirected from FEM)

Navigation: Models -> Energy Transfer Models

## General Description

The Free Energy Minimisation (FEM) model will apply standard 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 and Product stream. 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
Feed In 1 20 Feed Stream
Product Out 1 1 Product Stream

## 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 - 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.Note: This column will only be visible if the user has ticked 'WithBypass' on the first tab of the FEM unit. I - 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. Y - By ticking this box the user indicates that the selected species may be part of the possible product species group. L - 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. No Tick - 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) and CO2(g) all have the 'Y' checkbox tick and hence they can occur in the product stream.
• C2H6(g), 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.

#### 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" 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 960C, 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.

### 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 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 and hence model non-equilibrium systems. CFEM typically involves side calculations, which can be done in PGM or externally, an example is given here: CFEM with python

### 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. 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.
3. Analysis tab - This tab mainly displays the elemental breakdown of species involved in the FEM block.
4. Results tabs - These tabs display the species and elemental results of the FEM calculations.
5. 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.
6. 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.
7. QProd - Optional tab, only visible if ShowQProd is enabled. This page shows the properties of the Product stream from the unit.
8. QFEM - Optional tab, only visible if ShowQFEM is enabled. This page shows the properties of the product stream from the FEM block.
9. Info tab - contains general settings for the unit and allows the user to include documentation about the unit and create Hyperlinks to external documents.
10. Links tab - contains a summary table for all the input and output streams.
11. Audit tab - contains summary information required for Mass and Energy balance. See Model Examples for enthalpy calculation Examples.

### 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

Common Data on First Tab Page

### 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.
Energy and Mass Requirements
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.
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'.
DiscardTraceProdFlows Tick Box This allows the user to discard any trace flows that are formed as products of the FEM unit.
DiscardTrace.MassFlow / DiscardTraceQm Input This field is only visible if the user has ticked the above tick box. 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.
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.
EHX.AmbientT Display This field is only visible if the user has selected Ambient. The ambient temperature used in the heat loss calculations. The ambient temperature can be changed on the Environment tab page of the Plant Model.
OperatingP...
Method Atmospheric The unit will operate 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.
LowestFeed The unit will operate at the lowest pressure of the feeds.
HighestFeed The unit will operate at the highest pressure of the feeds.
RequiredP The unit will operate at the user specified pressure.
IgnoreLowQm Tick Box This option is only visible if the 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.
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 Display 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
BasisOptimisationOnly Tick Box
MinOnDeltaGf Tick Box
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 Removes un-formable FEM species based on feed composition each iteration.
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) 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.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 Display 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 Display The mass flow of material from the FEM model.
Results
FEM.Feed.Temperature / FEM.Feed.T Display 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

 FEM 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 button 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 Selection button 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 Button Check data button Filter On Button This button allows the user to enable the Species and Temperature filters. 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. This feature is only available in Build 137 and later. The following 4 fields are only visible if the Filter is ON. Please also see Filter On/Off Button. Option All All species in the project will be displayed. Contains Any Element The user may enter 1 or more elements, separated with a comma, and any species containing any of the defined element(s) will be displayed. Contains All Elements The user may enter 1 or more elements, separated with a comma, and only species containing ALL of the defined element(s) will be displayed. Starts with The user may enter 1 or more text strings, and if a species name begins with any of the entered text, it will be displayed. Contains Any The user may enter 1 or more text strings, and if a species name contains any of the entered text, it will be displayed. Contains All The user may enter 1 or more text strings, and only if a species name contains ALL of the entered text strings will it be displayed. Select Input The user may enter either elements or text, depending on the option chosen. Each element, or text string, must be separated by a comma. The filter will use this information to filter the species display.Note The filter will check the species names that are displayed. For example, if the user enters Sodium and the long names for species are displayed, then the filter will find SodiumChloride. If the short names for the species are used, then the user should enter 'Na' to find NaCl. LoT Input This field may be used to filter species based on their Cp temperature range. If the user enters a value here, then the filter will only display species with a Cp value above the LoT. To ignore this field, leave it as '*'. HiT Input This field may be used to filter species based on their Cp temperature range. If the user enters a value here, then the filter will only display species with a Cp value below the HiT. To ignore this field, leave it as '*'. 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 [B]ypass. 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 [I]nert. 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 [L]ockup. 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. Y [Y]es. These species are considered to be possible product FEM Species - i.e. they can exist in the FEM product. (CanReact) Phase Select The user may specify a different phase for solid or liquid species. This affects results as it will affect the final concentration values. Feed Total Display 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 is available.If it has a value of 0, then the thermophysical data is unavailable. The species should not be used in calculations, or the user may override the value (on the Results tab). F [F]orced. 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.
• 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.

### Analysis Tab

 Tag Input/ Calc Description Comment FEM Species Analysis FEMSpecies Button 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

 FEM Species Data Results FixedHeat.Damping Input Hidden 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 (50%+) may help. FixedHeat.MaxIterations Display Only visible if OpMode = Fixed Heat. Maximum number of iterations for FixedHeat to converge. FixedHeat.Iterations Display Only visible if OpMode = Fixed Heat. Number of iterations for FixedHeat to converge. FEM.MaxIterations Display Maximum number of iterations for FEM to converge. FEM.Iterations Display Number of iterations for FEM to converge. BasOpt.Calls Display Number of calls to the Basic Optimisation function. UnformableSpCnt Display The number of un-formable species present. FEM.T Display The temperature of the FEM reactor. FEM.HeatFlow Display Heat added/removed from FEM calculation to maintain the fixed Temperature. G/RT Display The Final Chemical Potential. Participating FEM Species ShowDeltaGf TickBox Include Gibbs Free Energy and $\Delta G^f_0$ 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 Button Hide or Show species with no flow in the FEM Species table below. SpeciesTag Button Toggles between long and short species name. Inerts Button Hide or Show inert species in the FEM Species table below. 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 Display Correction $RT\ln a$ for chemical potential. If a=1, there is no correction. Feed.Qml Display Mole flow of species in feed. Prod.Qml Display Mole flow of species in product. Diff.Qml Display Molar Difference across the FEM block (only displayed if the user has ticked ShowDeltaQm). S Display Species Entropy at the Product temperature. Gf Display Species Gibbs free energy at the Product temperature. DeltaGf Display Product $\Delta G^f_0.$ Free energy of formation from elements at same conditions. mu/RT Display Non-dimensional chemical potential. O Display Override. 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 (...)

 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.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. 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 Button Hide or Show species with no flow in the FEM element table below. Inerts Button 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. 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.

 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. The table shows the Stoichiometric basis species heading each column and the 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 drop down list under the table allows the user to display the reactions that are occurring in the FEM block. 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 Copy To Clipboard 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.

## Adding this Model to a Project

Insert into Configuration file

Sort either by DLL or Group.

 DLL: HeatExchange.dll → Units/Links → Process 2: FEM Reactor or Group: General → Units/Links → Process 2: FEM Reactor

See Project Configuration for more information on adding models to the configuration file.

Insert into Project

 Insert Unit → 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. We recommend using the HSC database or a similar source for thermophysical data.

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 miniscule and may cause roundoff errors in calcualations, 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.

### Maximum Iterations Exceeded

This message can arise when the solution is indeterminate.

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.

### 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 csae 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.