Skip to content

Pressure Dependence

Max Liu edited this page Feb 24, 2017 · 1 revision

Pressure dependence is a core feature of RMG, and is tightly integrated into the main model expansion loop. For detailed theory behind RMG's implementation of pressure dependence, see the Theory Guide.

The pressure dependence input parameters are saved to the pressureDependence attribute of both the main RMG instance and the CoreEdgeReactionModel (CERM) instance at RMG.reactionModel.

During the reaction generation step in CERM.enlarge (ie. reactEdge=True), reactions are generated as usual, but special steps are taken in CERM.processNewReactions. If pdep is on, then new reactions will be added to a pdep network via CERM.addReactionToUnimolecularNetworks(). This method will search to see if the reaction fits into any existing networks by comparing the reactants (considered the "source" species), and create a new one if no matching network exists. The reaction is then added to the matched or new network by PDepNetwork.addPathReaction(), which checks to make sure the reaction is not already in the network before appending to PDepNetwork.pathReactions.

After processing new reactions, kinetics are generated for the newly added reactions, then all pdep networks are updated using CERM.updateUnimolecularNetworks(). First, the networks are checked to see if any can be merged. Requirements for merging are that the source species match (ie. same reactants), and at least one isomer is shared between the two networks.