Reaction Block Summary
Navigation: Models ➔ Sub-Models ➔ Reaction Block Summary
Overview | Reaction Block Data Section | RB Sub Model (Model Theory) | ||||||
---|---|---|---|---|---|---|---|---|
Reaction Editor | Reaction Block Summary | Reaction Block Tabs (Main) | Individual Reactions | Reaction Extents | Source / Sink / Heat Exchange | Solving Order - Sequential or Simultaneous | Energy Balance | Heat of Reaction / Heat of Dilution / Partial Pressures |
General Description
Many SysCAD models have the facility to allow the user to enable chemical reactions in the unit. If a unit has this facility, the first access window will have a field called 'Reactions' .
- To enable the reactions, change the status of the field from 'Off' to some version of 'On' and SysCAD creates a reaction block for the model.
- For some unit models, the only option for the Reactions field is 'Off' or 'On'.
- If the Reaction Block is part of an Evaluation Block (EB) then the user may use the 'On-AutoSequence' option or change the evaluation sequence relative to other sub-models by selecting On-Sequence1, On-Sequence2, etc. (refer to Evaluation Block for more information).
- In dynamic mode, units which have the facility for surge may allow reactions as part of a Content Evaluation Block (CEB). This allows the user to have the reactions occur on the content or surge of the unit and is referred to as a Content Reaction Block (CRB).
- Once reactions are switched 'On', an RB or CRB tab will appear as shown below.
- Pressing the 'Edit RCT File' button will start the reaction editor, see Reaction File for more information.
- If reaction editor does not start, please see Reaction Editor for instructions.
- The completed reaction file is loaded into the unit
- A user can also manually reload the reaction by pressing the "Reload RCT File" button.
- When the SysCAD solver is activated, it will solve the unit with the defined reactions.
Video Links
- Turn on Reactions in a Unit - this short video in the Tutorial section shows you how to turn on Reactions in a unit.
- Reaction Troubleshooting - this short video in the Tutorial section gives a brief example of reaction troubleshooting.
- Individual Reaction Information - this short video in the Tutorial section explains some of the information available for each Reaction in a Reaction Block.
- Extra Reaction Block Information - this short video in the Tutorial section explains some of the extra information available for the Reaction Block.
Location of Reaction Files
- All reaction files used in a project must be stored within the project in a folder called Reactions.
- SysCAD automatically creates this folder when you start a new project or upgrade an older project.
- You may check the location and names of all reaction files in a project by accessing the Project Window - Files List.
Reaction File Format
Chemical reactions are defined in a text file.
The recommended method of editing reaction files is to use the SysCAD Reaction Editor. However, any text editor can be used to edit or view these reactions (see Reaction File (RCT) Text Format). The reaction filename must have the extension .rct.
NOTE:
- Available from Build 139.32925. It is possible to load an empty reaction file (no reactions), thus allowing a reaction file to contain Reaction Heat Exchange (RHX) only.
- In builds prior to Build 139.32925, the reaction file must contain at least one reaction. Reaction sources, sinks and heat exchange can not be used in isolation without at least one reaction.
Reaction Block Options and Features
- Reaction Solve Order: Reactions within a single reaction block may be solved sequentially or simultaneously. By default the reactions will be solved sequentially, which is the recommended method. Please refer to Solving Reactions for more information.
- Reaction Direction: A reaction may proceed in the forward direction only, or may be a reversible reaction, refer to Reaction Directions for more information.
- Reaction Extent: There several methods for specifying the extent of each reaction, refer to Reaction Block - Extents for more information.
- Most reaction extent types are usable for both steady state and dynamic projects.
- For dynamic projects, reactions may happen instantaneously if specified within the RB blocks (as per steady state projects) or with time constraints if specified within the CRB blocks (Content Reaction Blocks).
- There are two extent types that will work only in dynamic mode, these contain the word "dynamic" in the extent type name.
- When choosing reaction extent types, keep in mind factors such as reaction sequence, reaction order, limiting reactants and so on.
- When using certain extent types, user may use Limit Amount/Fraction Reacted to apply range or constraint to the reactions.
- Reaction extent can also be based on user defined calculations or selected species property values.
- See Hints and Comments for more information.
- Showing mass/moles reacted per reaction - Refer to Species Change Information
- Showing estimated reactant requirements - Refer to Show Species Requirement
- Heat of Reaction: Refer to Heat of Reaction (HOR). This includes an explanation of the HOR override for individual reactions. For overall override refer to Override Product Temperature options.
- Reaction Source/Sink: A reaction block can optionally have sources and/or sinks of species. Refer to Reaction Block - Other for more information.
- Reaction Heat addition/removal: A reaction block can have heat exchange defined. Refer to Reaction Heat Exchange for more information.
- Heat of Dilution value reporting: There are additional options and reporting fields available/relevant when a heat of dilution species (e.g. H2SO4(aq)) or a species whose enthalpy changes with pressure (e.g. H2O(g)) is present in a stream where a reaction is taking place. These topics are discussed in more detail in Heat of Dilution in Reaction Energy Calculations and Partial Pressure of Gases in Reaction Energy Calculations.
- Summary of Reactions - Table of all reactions in this reaction block. Refer to RS - Summary Table Information for available options.
Reaction Block Settings
- Extent Type
- This list box allows the user to set the error tracking methods for the current RB block.
- Options are: All_Strict, All_Target, Strict or Target.
- The last two options, Strict or Target, set the default option for the individual reactions.
- If the user wants to set the options for individual reactions, select either Strict or Target for ExtentType on the RB tab page, and then set the desired option for each reaction in the Extent.Type field.
- For simultaneous reactions, the user should change this to All_Target.
- This setting will also affect whether warnings are displayed if reactions are restricted by the LimitAmountReacted or LimitFractionReacted settings.
- Limit Amount Reacted
- This list box allows the user to limit the amount of the extent species reacted for each individual reaction.
- Depending on the option chosen (Mass/Mole, Forward/Reverse/Both), additional input fields will be available for each individual reaction.
- If the limits are reached, the unit will give a warning if ExtentType is set to Strict.
- This can be very useful for dynamic reactions, see Hints and Comments for some hints on how this can be used.
- Limit Fraction Reacted
- This list box allows the user to limit the fraction of the extent species reacted for each individual reaction.
- Depending on the option chosen (Forward/Reverse/Both), additional input fields will be available for each individual reaction.
- If the limits are reached, the unit will give a warning if ExtentType is set to Strict.
- This can be very useful for dynamic reactions, see Hints and Comments for some hints on how this can be used.
- Override Product Temperature
- This option is recommended if the final temperature from the RB block is set by the user. The overall Energy Balance of the model is maintained and reported in the overall Energy Balance on the first RB tab page and on the Audit page. See Override Product Temperature Option for more information.
- Selecting this option results in fewer computations in SysCAD and hence increases the solver speed. The HOR of individual reactions does not need to be calculated and is not shown.
- If this option is enabled an additional group of RB.ProductTemp tags will be visible.
NOTE:
The Limit Amount/Fraction Reacted can be used in a Dynamic project to define maximum reaction rates when using certain reaction extent types. See Hints and Comments for more information.
Display Additional Reaction Information
Users may display additional information for the reactions by changing settings on the RB tab. This will display the additional information for ALL individual reactions and, in the case of the Energy and Species Requirement options, for the overall Reaction Block.
The image on the right shows ALL of the information that may be displayed for each individual reaction if All Energy Info (EnergyInfo), All Species - Both (SpChangeInfo) and AsBoth - All (ShowSpRequirements) have been selected for extra information, AND both ShowReactionLimits and ShowReactionSummary have been enabled AND the 'All Fields' button has been clicked. (Normally hidden fields are shown with a red cross on the left hand side)
|
Hints and Comments
General Hints
- By default, reactions will solve in a sequential order, the order is defined by how they appear in the reaction file. However, the user can change the reaction evaluation sequence by inserting a different sequence number for each individual reaction. For simultaneous reactions, the user must provide the same sequence number to all the reactions to be solved at the same time. All reactions found under a specified sequence number will be assigned the same sequence number and thus solved simultaneously. Sequential reactions are computationally faster, so it is recommended that simultaneous reactions are only used where absolutely necessary.
- For simultaneous reactions, problems may arise if a species acts as both as a reactant and a product because the reacting amount available comes solely from the feed, not from the reactions. This is not a problem for sequential equations.
- Heat of formation information must be entered for all species involved in reactions. If Hf information is missing, then Heat of Reaction values should be provided. If neither is present, then SysCAD will give a warning and the Heat of Reaction value calculated will be incorrect (any missing Hf's are assumed to be +100 kJ/mol).
- If multiple reactions are present in single reaction block, the Final Concentration or Final Fraction extent methods give the FinalConc or FinalFrac at that specific reaction and NOT for the reaction block exit stream. Therefore it is recommended to put these type of reactions last in the list.
- Make sure -> is used instead of = or <-> when writing reactions that are non-reversible.
- Consider using the more efficient OverrideProductT option (see Override Product Temperature Option) where the product temperature of the unit that includes reactions is set, rather than using EHX or RB.HX.
- If the order of the reactions is changed, SysCAD will remember any overridden extents and still associate them with the old reaction number. Eg. if the extent of the old R2 was overridden to be 10%, then the extent of the new R2 will also be manually overridden to 10%.
- If the reaction extent is set via a PGM file, consider adding a Reaction Index Finder Subroutine to assist with reaction matching.
- The outlet temperature from the reaction block (Prod.T) will be set to no less than 10 degrees below the project minimum temperature and no more than 10 degrees above the project maximum temperature. This may cause an energy imbalance across the unit. These temperature limits can be set in the Project Configuration file.
- A species which has been defined as a Reaction Source cannot be used as the extent species for any reactions in the same reaction block.
- Turning on the ShowSpRequirements option will return an estimated amount of the "selected" or all reacting species involved in a reaction. When used correctly, this can be useful as a feedforward control for reagents supply.
- Note that this may not work for all reaction files, the user may need to check factors such as reaction extent type, reaction direction, reaction extent species and reaction order to make sure there is a possible calculation path for this to work correctly.
- Example project Lime Preparation (Makeup) Project shows how to use the species requirements to calculate the Lime requirements (with excess).
- User may specify a limit for the reaction extent to avoid fully reacting a species. (This option is switched on from RB Tab - under Settings - LimitFractionReacted, when switched on, extra limit fields will be visible for each individual reactions.)
- User may specify a limit for the maximum mass or moles reacted. (This option is switched on from RB Tab - under Settings - LimitAmountReacted, when switched on, extra limit fields will be visible for each individual reactions.)
- The UserCalc reaction extent type can be a very useful way to define a reaction (with a calculation) to avoid the need of extra PID control.
- The user calculation may be some definition of concentration/ratio calculation.
- The Gold Example project shows the use of reaction extent type User Calc.
- If reactions are not solving, the user can either increase the maximum iterations or increase the tolerance values. These are set at the bottom of the first RB tab page.
Using Reaction Extents and Reaction Limits in Dynamic projects
For dynamic projects with CRB, users may use an “iterative” type Extent with the Limit Amount Reacted or Limit Fraction Reacted options switched on to control the rate (kinetics).
- This is significantly easier and numerically more stable than using an amount reacted per timestep type Extent control.
- An "iterative" type reaction extent is solved iteratively, and includes extent types: Final XXX, Ratio, Equilibrium, UserCalc, Sp Calc and Sp Model Prop.
- The following are not "iterative" reaction extent types: Amount Reacted, Dynamic Rate & Dynamic Fraction.
- Users may set the maximum rates independent of setting final composition conditions via the extent type setting.
- The reaction limits can be used as maximum rate. This maximum rate can be applied as a form of ranging when using certain extent types or controls.
- The Forward and Reverse reaction limits can be set separately, this can correspond to kinetic rates in each direction.
- If for example, precipitation occurs more readily than dissolution, then different values can be set in forward or reverse rates to represent the kinetics.
- If the kinetic rates differ significantly, we can block the reaction in one direction by entering a zero value for the limit.
Example - Using UserCalc Reaction Extent
The UserCalc reaction extent type can be a very useful way to define a reaction (with a calculation), especially in a dynamic simulation. The UserCalc extent type can be particularly useful to get the correct result in a time step, and for steady state improved accuracy/convergence per iteration.
- A good example is Langmuir Adsorption Isotherm. The equation is shown below (Mass Transfer Fundamentals and Applications, A.L. Hines and R.N. Maddox, 1985):
- [math]\displaystyle{ q_A = Q * \cfrac{K^{'}C_A}{1+K^{'}C_A} }[/math]
- where:
qA = equilibrium uptake by the adsorbent (g solute/g solid) Q = weight of adsorbate for complete monolayer coverage (g solute/g solid) K' = constant (cm³/mol) CA = concentration of solute in fluid phase (mol/cm³)
- If we have a reaction defined for the adsorption of a aqueous metal ion onto the surface of a solid adsorbent, then we can use a UserCalc to determine the required reaction extent which satisfies the equation above. The reaction would usually involve an ion exchange such as the following:
-
- where:
- Li = Lithium, the metal to be adsorbed
- K = Potassium, the metal to be exchanged
- Cl = chloride aqueous ion
- R = exchange resin species (represented by a pseudo element R)
- If we rearrange the Langmuir equation shown above to have the LHS equal to zero, then we can define a UserCalc which should equal zero:
-
- where:
- ResLi = a previously defined user calc for the ratio of Li on the resin to pure resin (equivalent to qA)
- Val(1) = reference to Project User Value 1 (set in Plant Model) (equivalent to Q)
- Val(2) = reference to Project User Value 2 (set in Plant Model) (equivalent to K')
- C_Li = a previously defined user calc for the liquid molar concentration of Li in the aqueous phase (equivalent to CA)
- The reaction extent for the adsorption reaction can now be set to equal the Langmuir UserCalc with a target value of 0.
Example - Using Show Species Requirements
An example of "how Show Species Estimates can be used to improve controller" can be found in "High Pressure Autoclave Leaching Example".
In this example project, we have a reaction block with many reactions, acid is being both consumed and produced in reactions (as shown in the following picture):
The amount of acid needed by the reaction block = Total acid consumed - Total Acid produced - Acid in recycle stream + excess Acid required. So theoretically, one can use a PGM file to calculate the amount of acid required from the stoichiometric ratio and reaction extents. However, this could become very tedious when we have many reactions in the reaction block.
An easier way is to let SysCAD do part of the above calculation for you. To do so: