Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Process Simulation

Create reaction submodels for salt precipitation

  • Last UpdatedAug 21, 2025
  • 5 minute read

In the Fluid Editor, you can specify components in your Fluid as non-equilibrium solids. Typically, these are salt precipitates that have a solubility equilibrium between the solid salt and its dissociated ions in solution. You can add a precipitation reaction submodel to these Fluids to model the solubility equilibrium. AVEVA Process Simulation uses the non-equilibrium solid vapor-liquid equilibrium (VLE) along with the salt precipitation reaction submodel to calculate the concentrations of the solid salt and its dissociated ions in the Fluid.

We provide an example KCl precipitation reaction submodel (RXKCl_eNTRL) in the Fluids library. You can use this reaction submodel as a starting point to create your own salt precipitation reaction submodels. This reaction submodel uses the following generic reaction to define the salt precipitation:

Salt Precip - Generic Reaction

where

C is the cation species

A is the anion species

n+ and n- are the stoichiometric coefficients for the cation and anion species, respectively

z+ and z- are the ionic charges for the cation and anion species, respectively

The following equation gives the solubility equilibrium constant (Keq) for the salt precipitation:

Salt Precip - Equation for the Equilibrium Reaction Constant

where

ai is the activity of ionic species i

We define the solid pure crystal as its own reference state and therefore set the activity of the pure crystal to unity. By doing this, we reduce the previous equation to the solubility product (Ksp):

Salt Precip - Equation for the Solubility Product

Salt Precip - Equation for the Species Activity

where

xisat is the solid-free liquid molar composition of ionic species i in the saturated (equilibrium) solution

gi is the corresponding activity coefficient of ionic species i

In the model, we transform these two equations to a logarithm form for more manageable model equations:

Salt Precip - Logarithmic Form of the Equation for the Solubility Product

Salt Precip - Logarithmic Form of the Equation for the Species Activity

To capture the salt solubility at different temperatures, we provide the following temperature-dependent equation in the reaction submodel:

Salt Precip - Temperature-Dependent Equation for the Solubility Product

where

A, B, C, and D are coefficients specific to the salt

You can copy the example submodel and then update the Ksp and rate equations to reflect the salts and ions for your system.

Alternatively, you can use the Reaction Generator to generate reaction submodels for salt precipitation reactions. When you use the Reaction Generator to model salt precipitation reactions, you must set the Reaction Type to Equilibrium, the Activity Phase to Liquid, and the Activity Basis to Activity. See Reaction Generator for more information.

To use your salt precipitation reaction submodel in a Fluid, you must configure the Fluid so that it uses non-equilibrium solids. You must also specify all your salt precipitates as solids in the Fluid. The following figures from the Fluid Editor highlight this configuration in the example KCl_eNRTL Fluid from the Fluids library. This Fluid uses the example RXKCl_eNTRL reaction submodel as its salt precipitation reaction submodel. See Specify components as solids in a compositional Fluid Type and Add a salt precipitation reaction submodel to a Fluid Type for more information.

To create your own salt precipitation reaction submodel

  1. From the Fluids Library, copy the RXKCl_eNTRL reaction submodel and paste it into the desired Model Library.

  2. Double-click the new reaction submodel to open it in the Model Editor.

  3. (Optional) In the General section, change the Name and Model Description to reflect your reaction submodel.

  4. In the Parameters section, set the Nrxn value to the number of reactions that you want to include in the reaction submodel.

  5. In the Equations section, change the dz_ equations to match the salts, ions, and number of reactions in your system. If your reaction submodel includes more than one reaction, you may need to add equations to account for the reaction rates of all the salts and ions.

  6. Change the Ksp1 equation to match the Ksp temperature dependence for your system. If you reaction submodel includes more than one salt precipitate, you may need to add similar equations to account for the temperature dependence for each salt precipitate.

  7. Change the Ksp2 equation to match the Ksp equation for your system, specifically by including the activities and stoichiometric coefficients for each ionic species. If your reaction submodel contains more than one salt precipitate, you may need to add similar equations for each salt precipitate.

  8. Change the xKCl equation to match the salt precipitate for your system. If your reaction submodel includes more than one salt precipitate, you may need to add similar equations to account for all the salt precipitates.

Related Links
TitleResults for “How to create a CRG?”Also Available in