# 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

CanteraCantera
Outline of Cantera topics: Cantera Outline 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 Gas Mixing: Cantera_Gas_Mixing
Diffusion: Cantera/Diffusion 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
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
Chemkin file format: Chemkin CTI files: Cantera/CTI_Files
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
Category:Cantera Category:C++ · Template:CanteraFlag · e |

Installing Cantera
Mac OS X 10.5 (Leopard): Installing_Cantera#Leopard Mac OS X 10.6 (Snow Leopard): Installing_Cantera#Snow_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_SconsConfig Flags· Template:InstallingCanteraFlag · e |