Cantera/Integral and Differential Reactors
(Why integral vs. differential is useful/important)
Main difference between integral and differential reactors is in the assumptions about what's going on inside the reactor control volume. This changes the form of equations being solved.
A Word on Distributions and Gradients
Really, ultimately, the difference between integral and differential reactors is all about gradients. Whether you resolve them, or integrate over them; whether you ignore them, or treat them rigorously; not just which directions the gradients are in, but also which quantities the gradients are for.
And ultimately, gradients are all about distributions. How does the distribution of thermodynamic states, the distribution of temperatures, the distribution of species concentrations, inside of a particular reactor, look?
Fogler, for example, talks about residence time distributions: reactors in which different fluid packets spend different amounts of time.
To model a reactor with a wide range of residence times, a differential reactor model would create a set of differential reactors, with each differential reactor being assigned its own residence time. This would approximate the distribution with a set of finite bins, equal to the number of different reactors. An integral reactor, on the other hand, would average all the residence times of all the fluid packets, and model the entire reactor with a single integral reactor, with a single mean residence time. This is equivalent to integrating the entire distribution of residence times to arrive at a mean residence time.
The differential reactor model is more expensive - we're solving N reactor equations, instead of 1 - but resolves gradients.
The integral reactor model is cheaper - we only need to solve 1 reactor equation - but it smears out all gradients smaller than the integral reactor.
Integral reactors: effects are integrated, conditions are wide, changing
Integral reactors may be isothermal - simply having an isothermal temperature profile does not mean a reactor is differential
Essentally an integral reactor is characterized by having gradients, or changes, in its thermodynamic state throughout the reactor volume. This necessitates either integrating over the multiple different zones of the reactor, each of which has a different temperature, pressure, composition, reaction rate, etc., or modeling the reactor as multiple interacting zones.
Differential reactors are the differential control volumes over which material/energy balances are written when deriving from, e.g., Reynolds Transport Theorem.
These are small enough, relative to the gradients in the system, that the control volume can be assumed to be perfectly uniform over the entire control volume.
In a differential chemical reactor, then, the entire reactor could be described with a single thermodynamic state - a single temperature, pressure, and composition - and thus have a single reaction rate, a single kinetic rate coefficient, and so on.
Thus, (real) differential reactors are useful for measuring kinetic rate data. (See Froment Bischoff book on reactor design for more details.)
Cantera's Temporal Approach
Cantera's approach to reactor modeling is to solve an ODE for a single control volume. The reactor is integral in space - the primary assumption in Cantera's reactor model is that the models are perfectly mixed, spatially - and so no spatial gradients are captured. The state of a reactor is described by a single thermodynamic state. However, the Cantera reactor is differential in time - hence the temporal differential equation.
If the Cantera reactor model were integral in time, it would model N seconds of a reaction by taking a single timestep. It would extrapolate the state of the reactor at time 0 to all other times. However, the differential model (in time) takes a series of small timesteps, essentially solving differential reactors in time. That is, over a given timestep, the reactor state is assumed to be uniform. (For very fast reactions, this is a bad assumption. As the timestep shrinks, however, this assumption becomes less and less bad.)
Canteraall pages on the wiki related to the Cantera combustion microkinetics and thermodynamics (a.k.a. "thermochemistry") software.
Understanding Cantera's Structure: Cantera Structure
Cantera from Matlab: Using_Cantera#Matlab
Cantera from Python: Using_Cantera#Python
Cantera from C++: Using_Cantera#C++
Cantera + Fipy (PDE Solver): Fipy and Cantera/Diffusion 1D
Cantera Gas Objects: Cantera/Gases
Cantera Gas Mixing: Cantera_Gas_Mixing
Topics in Combustion:
Sensitivity Analysis: Cantera/Sensitivity Analysis
Analysis of the Jacobian Matrix in Cantera: Jacobian_in_Cantera
Chemical Equilibrium: Chemical_Equilibrium
Kinetic Mechanisms: Cantera/Kinetic_Mechanisms
Reactor Equations: Cantera/Reactor_Equations
Differential vs. Integral Reactors: Cantera/Integral_and_Differential_Reactors
Effect of Dilution on Adiabatic Flame Temperature: Cantera/Adiabatic_Flame_Temperature_Dilution
Topics in Catalysis:
Cantera for Catalysis: Cantera_for_Catalysis
Steps for Modeling 0D Multiphase Reactor: Cantera_Multiphase_Zero-D
Reaction Rate Source Terms: Cantera/Reaction_Rate_Source_Terms
Surface coverage: Cantera/Surface_Coverage
Surface reactions: Cantera/Surface_Reactions
Cantera Input Files:
Chemkin file format: Chemkin
Pantera (monkey patches and convenience functions for Cantera): Pantera
Extending Cantera's C API: Cantera/Extending_C_API
Extending Cantera with Python Classes: Cantera/Adding Python Class
Debugging Cantera: Cantera/Debugging_Cantera
Debugging Cantera from Python: Cantera/Debugging_Cantera_from_Python
Gas Mixing Functions: Cantera_Gas_Mixing
Residence Time Reactor (new Cantera class): Cantera/ResidenceTimeReactor
Cantera Resources: Cantera Resources
Cantera Lecture Notes: Cantera_Lecture
Flags · Template:CanteraFlag · e
Installing Canteranotes on the wiki related to installing the Cantera thermochemistry software library.
Mac OS X 10.5 (Leopard): Installing_Cantera#Leopard
Mac OS X 10.7 (Lion): Installing_Cantera#Lion
Mac OS X 10.8 (Mountain Lion): Installing_Cantera#Mountain_Lion
Ubuntu 12.04 (Precise Pangolin): Installing_Cantera#Ubuntu
Windows XP: Installing_Cantera#Windows_XP
Windows 7: Installing_Cantera#Windows_7
In old versions of Cantera, a preconfig file was used to specify library locations and options.
Mac OS X 10.5 (Leopard) preconfig: Cantera_Preconfig/Leopard_Preconfig
Mac OS X 10.6 (Snow Leopard) preconfig: Cantera_Preconfig/Snow_Leopard_Preconfig
Mac OS X 10.8 (Mountain Lion) preconfig: Cantera_Config/MountainLion_SconsConfig
Ubuntu 12.04 (Precise Pangolin) preconfig: Cantera_Config/Ubuntu1204_SconsConfigFlags · Template:InstallingCanteraFlag · e