Liquid Phase Systems

To simulate liquids in RMG requires three components.

After the PressureModel line in the condition.txt input file, add a section like this:

EquationOfState: Liquid
Solvation: on octane
Diffusion: on 1.0e-3

Equation of state

The first statement EquationOfState: Liquid will have two effects:

  1. disable the ideal gas law renormalization and instead rely on the concentrations you specified in the input file to initialize the system.
  2. prevent the volume from changing when there is a net stoichiometry change due to a chemical reaction (A = B + C).

Solvation thermochemistry

The next correction for liquids is solvation effects on the thermochemistry. The method used is described briefly in “Building Models of Liquid Phase Kinetics and Separation: Hydrocarbon Autoxidation”, Richard H. West, Amrit Jalan, and William H. Green, AIChE Annual Meeting, 2010 (download pdf) and in more detail in “An Extensible Framework for Capturing Solvent Effects in Computer Generated Kinetic Models”, Amrit Jalan, Richard H. West, and William H. Green, J. Phys. Chem. B, 2013, 117 (10), pp 2955–2970 DOI: 10.1021/jp310824h

Warning

In versions of RMG prior to 4.0.1, there was an error in predicting solvation thermochemistry at temperatures other than 298 K. Please read the release notes to 4.0.1 and upgrade to a recent version of RMG.

The statement Solvation: on <solvent> turns this on, and specifies the solvent parameters to use. Parameters are provided for the following solvents: acetonitrile benzene butanol carbontet chloroform cyclohexane decane dibutylether dichloroethane dimethylformamide dimethylsulfoxide dodecane ethanol ethylacetate heptane hexadecane hexane isooctane nonane octane octanol pentane toluene undecane water.

Diffusion-limited kinetics

The next correction for liquid-phase reactions is to ensure that bimolecular reactions do not exceed their diffusion limits. The diffusivity is estimated for each species using a Stokes-Einstein hard sphere model. The viscosity of the solvent is specified in units of Pa.s using the command Diffusion: on <viscosity>

To build accurate models of liquid phase chemical reactions you will also want to modify your kinetics libraries.

Example liquid-phase condition file

This is an example of a small condition file for a liquid-phase system:

// autoxidation of octane


Database: RMG_database

PrimaryThermoLibrary:
Name: GRIMech3.0
Location: GRI-Mech3.0
Name: RMG-minimal
Location: primaryThermoLibrary
END

PrimaryTransportLibrary:
Name: GRIMech3.0
Location: GRI-Mech3.0
END

ReadRestart: no
WriteRestart: no

TemperatureModel: Constant (K) 500
PressureModel: Constant (atm) 1 

/// THESE ARE THE IMPORTANT PARTS FOR LIQUID SIMULATIONS
EquationOfState: Liquid
Solvation: on octane
Diffusion: on 1.0e-3

InitialStatus:

Octane (mol/cm3) 6.154e-3 
1 C 0 {3,S} 
2 C 0 {4,S} 
3 C 0 {1,S} {5,S} 
4 C 0 {2,S} {6,S} 
5 C 0 {3,S} {7,S} 
6 C 0 {4,S} {8,S} 
7 C 0 {5,S} {8,S} 
8 C 0 {6,S} {7,S} 

O2 (mol/cm3) 4.953e-6  ConstantConcentration
1 O 1 {2,S}
2 O 1 {1,S}

END

InertGas:
N2 (mol/cm3) 0.0
Ar (mol/cm3) 0.0
END

SpectroscopicDataEstimator: off
PressureDependence: off

// Change Goal ReactionTime:  10 (min) for a more realistic simulation
FinishController:
(1) Goal ReactionTime:  10 (sec)
(2) Error Tolerance: 0.5

DynamicSimulator: DASSL
TimeStep: AUTO
Atol: 1e-18
Rtol: 1e-8

PrimaryKineticLibrary:
END

ReactionLibrary:
END

SeedMechanism:
END

ChemkinUnits:
A: moles
Ea: kcal/mol