Reaction File (RCT) Text Format

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: User Guide ➔ Editors and Utilities ➔ Reaction Editor ➔ Reaction File (RCT) Text Format

Reaction Format RB Data Section RB Sub Model (Model Theory)
Reaction Editor Text File Format Reaction Block
(RB) Summary
Individual Reactions Reaction Extents Source / Sink /
Heat Exchange
Solving Order -
Sequential or Simultaneous
Energy Balance Heat of Reaction / Heat of Dilution / Partial Pressures

Editing SysCAD Reactions

  • Chemical reactions used in SysCAD are defined in a text file.
  • The user may use the SysCAD Reaction Editor (this is highly Recommended) or any text editor to edit these reactions.
  • You do not need to run SysCAD to use the Reaction Editor, so you can view and/or edit reaction files without loading a project.
  • You may open the reaction files with a text editor, such as Notepad, Notepad++, Textpad, etc, outside of SysCAD, if required.
  • The reaction filename must have the extension .rct.
  • The reaction file must contain at least one reaction, i.e. sources, sinks and heat exchange cannot be used in isolation without at least one reaction.
  • Any line in the file starting with a ; is a comment and is ignored.
  • When the manually edited reaction text file is upgraded by the Reaction Editor some formatting on the file will be changed. Caution: In some cases where there are simultaneous reactions and they are listed in an unusual order, then the reaction editor may renumber the reactions when the file is first upgraded.

Example of a Reaction File

An example of a reaction file for Build 137 or later is given below
(note the inclusion of the format:4 text at the beginning)

 format:4
 
 SourceList: Source,Recycle O2(g)

 Reactions:
 
 1 FeCO3(s) + 1 H2SO4(aq) -> 1 FeSO4(aq) + 1 H2O(l) + 1 CO2(g)
 Extent: Fraction FeCO3(s) = 0.44

 4 FeSO4(aq) + 2 H2SO4(aq) + O2(g) = 2 Fe2[SO4]3(aq) + 2 H2O(l)
 Extent: msFinalConc Fe2[SO4]3(aq) in Liq = 0.05
 HeatOfReaction: msFixed = 10 / FeSO4(aq) At 25, 101.325

 HeatExchange: FinalT = 60

 Sink: CO2(g)

 End

An example of a reaction file for Build 136 is given below
(note the inclusion of the format:3 text at the beginning)

 format:3
 
 SourceList: Source,Recycle O2(g)

 Reactions:
 
 1 FeCO3(s) + 1 H2SO4(aq) -> 1 FeSO4(aq) + 1 H2O(l) + 1 CO2(g)
 Extent: Fraction FeCO3(s) = 0.44

 4 FeSO4(aq) + 2 H2SO4(aq) + O2(g) = 2 Fe2[SO4]3(aq) + 2 H2O(l)
 Extent: FinalConc Fe2[SO4]3(aq) = 0.05
 HeatOfReaction: msFixed = 10 / FeSO4(aq) At 25, 101.325

 HeatExchange: FinalT = 60

 Sink: CO2(g)

 End

Notes: (applicable to all SysCAD versions)

  1. The tokens "Reactions": and "End" are compulsory as they mark the start and end of the reactions block.
  2. At least one reaction must be defined between these two tokens.
  3. The phase of the reactant and product species must be given, e.g. FeCO3(s) and CO2(g).
  4. The species and phases must be exactly as defined in SysCAD.

Reaction File Template

There is the flexibility to allow a template rct file to be used. This template must be called template.rct and can be placed in either the CfgFiles folder of the project or the BaseFiles folder of the SysCAD installation. The user may edit this file to suit. SysCAD will look in the CfgFiles folder first for a template and then the BaseFiles folder if one is not found in the CfgFiles folder.

Note: This is NOT required if the SysCAD Reaction Editor is used.

Reaction Directions

-> Forward Reaction

Format Reactant_1(s) + Reactant_2(l) -> Product_1(g) + Product_2(s) + Product_3(s)

<-> or = Reversible Reaction

Format Reactant_1(s) + Reactant_2(l) <-> Product_1(g) + Product_2(s) + Product_3(s)
  Reactant_1(s) + Reactant_2(l) = Product_1(g) + Product_2(s) + Product_3(s)

Reaction Extents

There are a number of methods for expressing the extent of a reaction in a reaction block. The format for all of these will be described here.

Fraction

Format Extent: Fraction Species(phase) = fraction
Description The species specified must be one of the reactants.
Example Extent: Fraction Na2CO3(s) = 0.50

Final Fraction

Mass Fraction

Format Extent: msFinalFraction Phase Species(phase) = fraction
Example Extent: msFinalFraction Phase CaS(s) = 0.1
OR
Format Extent: msFinalFraction Total Species(phase) = fraction
Example Extent: msFinalFraction Total CaS(s) = 0.1

Mole Fraction

Format Extent: mlFinalFraction Phase Species(phase) = fraction
Example Extent: mlFinalFraction Phase CaS(s) = 0.1
OR
Format Extent: mlFinalFraction Total Species(phase) = fraction
Example Extent: mlFinalFraction Total CaS(s) = 0.1

Note: The Phase/Total keywords are optional. If neither is specified, the default is by Phase.

Final Concentration

Mass Concentration (Build 136)

Format Extent: FinalConc Species(phase) = conc At temperature
Example Extent: FinalConc H2SO4(aq) = 5.5 At 25
Notes:
  1. The concentration is specified in g/L.
  2. 'At temperature' is optional. If not specified, concentration will be calculated at the product temperature.
  3. The temperature is specified in °C

Mass Concentration (Build 137)

Format Extent: msFinalConc Species(phase) in Phase = conc At temperature
Example Extent: msFinalConc H2SO4(aq) in Liq = 5.5 At 25
Notes:
  1. The concentration is specified in g/L.
  2. The Phase can be total liquid phase (Liq) or any of the individual liquid phases (eg. aq).
  3. 'At temperature' is optional. If not specified, concentration will be calculated at the product temperature.
  4. The temperature is specified in °C

Mole Concentration (Build 137)

Format Extent: mlFinalConc Species(phase) in Phase = conc At temperature
Example Extent: mlFinalConc H2SO4(aq) in Liq = 5.5 At 25
Notes:
  1. The concentration is specified in mol/L.
  2. The Phase can be total liquid phase (Liq) or any of the individual liquid phases (eg. aq).
  3. 'At temperature' is optional. If not specified, concentration will be calculated at the product temperature.
  4. The temperature is specified in °C

Final Elemental Concentration

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Elemental Mass Concentration

Format Extent: msFinalElemConc Element As Phase1 In Phase2 = conc At temperature
Example Extent: msFinalElemConc Fe As aq in Liq = 5.5 At 25
Notes:
  1. The concentration is specified in g/L.
  2. Phase1 can be Total, total phase (Liq, Gas or Sol) or any of the individual phases (eg. aq).
  3. Phase2 can be total liquid phase (Liq) or any of the individual liquid phases (eg. aq).
  4. 'At temperature' is optional. If not specified, concentration will be calculated at the product temperature.
  5. The temperature is specified in °C

Elemental Mole Concentration

Format Extent: mlFinalElemConc Element As Phase1 in Phase2 = conc At temperature
Example Extent: mlFinalElemConc Fe As aq in Liq = 5.5 At 25
Notes:
  1. The concentration is specified in mol/L.
  2. Phase1 can be Total, total phase (Liq, Gas or Sol) or any of the individual phases (eg. aq).
  3. Phase2 can be total liquid phase (Liq) or any of the individual liquid phases (eg. aq).
  4. 'At temperature' is optional. If not specified, concentration will be calculated at the product temperature.
  5. The temperature is specified in °C

Amount Reacted

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Mass Reacted

Format Extent: msFlow Species(phase) = flow
Example Extent: msFlow H2SO4(aq) = 10
Note: The flow is specified in kg/s.

Moles Reacted

Format Extent: mlFlow Species(phase) = flow
Example Extent: mlFlow H2SO4(aq) = 10
Note: The flow is specified in kmol/s.

Final Flow

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Final Mass Flow

Format Extent: msFinalFlow Species(phase) = flow
Example Extent: msFinalFlow H2SO4(aq) = 10
Note: The flow is specified in kg/s.

Final Mole Flow

Format Extent: mlFinalFlow Species(phase) = flow
Example Extent: mlFinalFlow H2SO4(aq) = 10
Note: The flow is specified in kmol/s.

Ratio

Mass Ratio

Format Extent: msRatio Reactant Species(phase) : Product Species(phase) = 1:a
Example Extent: msRatio Na2CO3(s):Na2SO4(s) = 1:500

Molar Ratio

Format Extent: mlRatio Reactant Species(phase) : Product Species(phase) = 1:a
Example Extent: mlRatio Na2CO3(s):Na2SO4(s) = 1:500

Equilibrium

Format Extent: Equilibrium number
Example Extent: Equilibrium 2.5

User Calculation

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Format Extent: UserCalc CalcX = value
Example Extent: UserCalc Fe2+ = 10
Note: The units of the value will depend on the units of the user calculation.

Species Calculation

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Format Extent: SpCalc CalcY as View in Basis = value
Example Extent: SpCalc Fe2+ as QM in Phase = 10
Notes:
  1. The units of the value will depend on the chosen View.
  2. View can be M (Mass), QM (Mass Flow), MF (Mass Fraction), Ml (Moles), QMl (Molar Flow), MlF (Mole Fraction), Vl (Volume), QVl (Volume Flow), VlF (Volume Fraction), NVl (Normal Volume), NQVl (Normal Volume Flow), NVlF (Normal Volume Fraction), Cnc (Concentration), Cnc25 (Concentration @ 25°C), CncMl (Molar Concentration), CncMl25 (Molar Concentration @ 25°C), CncEq (Equivalent Concentration), CncEq25 (Equivalent Concentration @ 25°C) or Mll (Molality).
  3. Basis can be All, Phase or IPhase.

Species Model Property

NOTE: This method is only available in SysCAD 9.3 Build 137 or later.

Format Extent: SpModelProp SpModel PropZ = value
Example Extent: SpModelProp Standard SolidConc = 10
Notes:
  1. The units of the value will depend on the chosen property.
  2. SpModel can be can be Standard and any other species model used in the project such as Bayer3 or Potash.

Dynamic Rate

Format 1 Extent: Fraction Species(phase) = fraction Rate = rate
Example Extent: Fraction FeS2(s) = 0.5 Rate = 0.0001
Format 2 Extent: Fraction Species(phase) = fraction Rate = rate Stabilised
Example Extent: Fraction FeS2(s) = 0.5 Rate = 0.0001 Stabilised
Notes:
  1. The rate is specified as a fraction per second.
  2. The value for fraction is optional. If not specified, the default is 1.

Dynamic Fraction

Format Extent: Fraction Species(phase) = fraction TimePeriod = time
Example Extent: Fraction FeS2(s) = 0.5 TimePeriod = 10
Note: The time period is specified in seconds.

Sequence (Sequential or Simultaneous)

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 sequence order by inserting a sequence number per reaction or reaction set. The reactions with the same sequence number will be solved SIMULTANEOUSLY. The sequence number must be an integer equal to or greater than zero. Reactions with the lowest sequence are solved first.

Please see Reaction Block - Solving Reactions for more information.


Format Reaction Extent Sequence: number

Example:

Rxn1: A + B -> C + D Extent: Fraction A = 0.5 Sequence: 1
Rxn2: E + F -> G + H Extent: Fraction E = 0.1 Sequence: 0
Rxn3: C -> J + K Extent: Fraction C = 0.9 Sequence: 2

Notes:

  1. When specifying the sequence number for any reaction in the list, the user MUST make sure the first reaction also has a sequence number defined. If not, SysCAD will generate an error message and will not proceed.
  2. It is not necessary to specify the sequence number for each reaction. Once a sequence number has been specified, all the following reactions are assumed to be at the same sequence unless a new sequence number is found.
    For example:
Rxn1: A + B -> C + D Extent: Fraction A = 0.5 Sequence: 0
Rxn2: E + F -> G + H Extent: Fraction E = 0.1
Rxn3: C -> J + K Extent: Fraction C = 0.9

Heat of Reaction Override

Molar Basis

Format HeatOfReaction: MlFixed = number / Species(phase) At condition
Example 1 HeatOfReaction: MlFixed = 0 / CaS(s) At Feed
Example 2 HeatOfReaction: MlFixed = 0 / CaS(s) At 15, 100


Mass Basis

Format HeatOfReaction: MsFixed = number / Species(phase) At condition
Example 1 HeatOfReaction: MsFixed = 0 / CaS(s) At Prod
Example 2 HeatOfReaction: MsFixed = 0 / CaS(s) At 15, 100

Notes:

  1. The heat of reaction is specified in kJ/kmol for the Molar basis and kJ/kg for the Mass basis.
  2. The options for condition are: Feed, Prod, Std or custom (user specified temperature and pressure).
  3. If the custom condition is used, the temperature is specified in °C, and the pressure is specified in kPa.
  4. The At condition is optional. If not specified, the default is Std.

Examples of user Heat of Reaction override in a test file is shown below:

HOR override Example.png

Source and Sink

  1. SysCAD allows the user to define any number of localised sources of reactants and/or sink of components.
  2. Please see Sources and Sinks for more information.

Source

3 options:

Format SourceList: Source Species_1, Species_2
Example SourceList: Source O2(g), H2SO4(aq)
Format SourceList: Recycle Species_1, Species_2
Example SourceList: Recycle O2(g), H2SO4(aq)
Format SourceList: Source,Recycle Species_1, Species_2
Example SourceList: Source,Recycle O2(g), H2SO4(aq)

Notes: (applicable to all versions)

  1. The Source has to appear before the Reactions token at the beginning of the file.
  2. There can only be a single Source defined in a file.
  3. The Source may have any number of species.
  4. There must be at least one reaction defined in the file.

Sink

Format Sink: Species_1, Species_2
Example Sink: CO2(g)

Notes:

  1. The sink option must be defined before the End token.
  2. There can only be a single Sink defined in a file.
  3. The Sink may have any number of species.
  4. There must be at least one reaction defined in the file.

Heat Exchange

  1. The Heat Exchange options can be used only once in a reaction block.
  2. It and must occur after the definition of the last reaction.
  3. There must be at least one reaction in the file for Heat Exchange to work.
  4. Please see Heat Exchange for more information.

FinalT

Format HeatExchange: FinalT = temperature
Examples HeatExchange: FinalT = FeedT
HeatExchange: FinalT = 200
Notes:
  1. The options for temperature are FeedT or custom (user specified temperature).
  2. If a custom temperature is used then it is specified in °C.
  3. The default temperature is atmospheric temperature.

Power

Format HeatExchange: Power = power
Examples HeatExchange: Power = 60
HeatExchange: Power = -60
Notes:
  1. The power is specified in kJ/s.
  2. A positive power indicates energy is being added to the unit.
  3. A negative power indicates energy is being lost from the unit.
  4. The default power is 0.

Approach

Format HeatExchange: Target = temperature, Approach = fraction, Basis = basis
Examples HeatExchange: Target = 25, Approach = 1, Basis = Product

HeatExchange: Target = EnvironmentT, Approach = 0.5, Basis = Feed

Notes:
  1. The options for temperature are EnvironmentT or custom (user specified temperature).
  2. If the custom target temperature is used then it is specified in °C.
  3. The default for target temperature is 25 °C.
  4. The default for approach fraction is 1.
  5. The options for basis are Feed or Product.
  6. The default for basis is Product.

Electrolysis

Format HeatExchange: Electrolysis = fraction
Example HeatExchange: Electrolysis = 0.90
Note: The default for fraction is 1.