Cantera/Integral and Differential Reactors
From charlesreid1
(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.
Contents
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
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
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.)
Flags
Cantera all pages on the wiki related to the Cantera combustion microkinetics and thermodynamics (a.k.a. "thermochemistry") software.
Cantera · Cantera Outline · Category:Cantera
Outline of Cantera topics: Cantera Outline · Cantera Outline/Brief 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 1D Domains, Stacks: Cantera_One-D_Domains · Cantera_Stacks Cantera Gas Mixing: Cantera_Gas_Mixing
Topics in Combustion: Diffusion: Cantera/Diffusion · Cantera/Diffusion Coefficients 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 CTI files: Cantera/CTI_Files · Cantera/CTI_Files/Phases · Cantera/CTI_Files/Species · Cantera/CTI_Files/Reactions
Hacking Cantera: 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
Resources: Cantera Resources: Cantera Resources Cantera Lecture Notes: Cantera_Lecture
Category:Cantera · Category:Combustion Category:C++ · Category:Python Flags · Template:CanteraFlag · e |
Installing Cantera notes on the wiki related to installing the Cantera thermochemistry software library.
Cantera Installation: Mac OS X 10.5 (Leopard): Installing_Cantera#Leopard Mac OS X 10.6 (Snow Leopard): Installing_Cantera#Snow_Leopard · Cantera2 Config 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
Cantera Preconfig: 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_SconsConfig Flags · Template:InstallingCanteraFlag · e |