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
The first statement EquationOfState: Liquid will have two effects:
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.
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.
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