From charlesreid1

No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
More information on how Cantera deals with surface coverage computation here: http://charlesmartinreid.com/wiki/Cantera/Surface_Coverage
More information on how Cantera deals with surface coverage computation here: [[Cantera/Surface Coverage]]


This page is more about the computation of the reaction rate source terms for surface reactions.
This page is more about the computation of the reaction rate source terms for surface reactions.
Line 7: Line 7:
In a gas-surface model, you use an ordinary differential equation to describe the evolution of the gas phase composition and the surface coverages.
In a gas-surface model, you use an ordinary differential equation to describe the evolution of the gas phase composition and the surface coverages.


This means that ultimately the surface reaction source terms end up on the RHS of ODEs dictating gas and surface composition.
When you are accounting for surface phase reactions, the surface reaction source terms end up on the RHS of ODEs dictating gas and surface composition.


==Gas Source Terms from Surface Reactions==
==Gas Source Terms from Surface Reactions==
Line 28: Line 28:


The surface phase source terms are computed according to the formula:
The surface phase source terms are computed according to the formula:
===Surface Phase Source Terms Code===
The surface phase source terms resulting from surface reactions are computed in <code>Reactor::evalEqs()</code>.
This calls <code>InterfaceKinetics::getNetProductionRate()</code>
This calls <code>InterfaceKinetics::updateROP()</code> and then calls <code>ReactionStoichMgr::getNetProductionRates</code>
Computation of surface production rates
Loop over each surface species to compute final source term


==Source Terms Code==
==Source Terms Code==
Line 44: Line 56:
</pre>
</pre>


===Surface Phase Source Terms Code===
The surface phase source terms resulting from surface reactions are computed in <code>Reactor::evalEqs()</code>.
This calls <code>InterfaceKinetics::getNetProductionRate()</code>
This calls <code>InterfaceKinetics::updateROP()</code> and then calls <code>ReactionStoichMgr::getNetProductionRates</code>
Computation of surface production rates
Loop over each surface species to compute final source term


[[Category:Cantera]]
[[Category:Cantera]]

Latest revision as of 08:40, 17 April 2017

More information on how Cantera deals with surface coverage computation here: Cantera/Surface Coverage

This page is more about the computation of the reaction rate source terms for surface reactions.

Gas vs Surface Source Terms

In a gas-surface model, you use an ordinary differential equation to describe the evolution of the gas phase composition and the surface coverages.

When you are accounting for surface phase reactions, the surface reaction source terms end up on the RHS of ODEs dictating gas and surface composition.

Gas Source Terms from Surface Reactions

A surface reaction can either be a consumption reaction (adsorption of a gas species) or a generation reaction (desorption of a gas species). Summing over all generation and consumption of a gas species for all surface reactions yields the net production rate for that species.

The gas phase source terms are computed according to the formula:

Gas Source Terms Code

The gas phase source terms resulting from surface reactions are computed in Reactor::evalEqs()

Computation of surface production rates

Loop over each gas species to compute final source term

Surface Source Terms from Surface Reactions

A surface reaction can either consume or generate surface species. Summing over all generation and consumption of a particular surface species yields the net production rate for surface species.

The surface phase source terms are computed according to the formula:

Surface Phase Source Terms Code

The surface phase source terms resulting from surface reactions are computed in Reactor::evalEqs().

This calls InterfaceKinetics::getNetProductionRate()

This calls InterfaceKinetics::updateROP() and then calls ReactionStoichMgr::getNetProductionRates

Computation of surface production rates

Loop over each surface species to compute final source term

Source Terms Code

Surface phase is connected to gas phase:

g = importPhase('Example.cti', 'gas')
s = importInterface('Example.cti', 'surf', [g])

Production rates are for both gas and surface species:

shape( s.getNetProductionRates() ) == g.nSpecies() + s.nSpecies()