Cantera/Isothermal and Nonisothermal Reactors
From charlesreid1
Begin with the Fundamentals
Let's talk fundamentals.
If we examine an infinitesimally small packet of gas, one that is so small that there are no inhomogeneities, no gradients, then the thermochemical state of that packet of gas can be fixed by specifying a number of characteristics, equal to the number of degrees of freedom of the gas's thermodynamic state - a.k.a. Gibb's Phase Rule (Wikipedia) - which is equal to:
where C is the number of components, and P is the number of phases. Because energy and reaction rates are so tightly coupled, it is important to understand how energy behaves in the reactor - when it enters or leaves the reactor, how much is generated, how it is distributed, etc.
Differential versus Integral Reactors
Differential reactors characterized by a single thermochemical state
- described by a differential equation
- small enough change that can approximate as differential
- differential change between inlet and outlet
Integral reactors are a continuum of gas thermochemical states
- described by same differential equations, but integrated over the continuum of gas thermochemical states
- can have a zero-dimensional integral reactor, but there you're just evaluating the integral
- series or continuum or distribution of states
In experimental systems:
- differential reactors are typically very small
- the higher the surface area to volume ratio, the better the heat transfer, and therefore the higher the heat transfer coefficient
- Heat transfer coefficient equation
- More detail on how assumption works, how to add heat transfer coefficient into Cantera
- integral reactors are larger
- adiabatic, generate own heat
- commercial systems
Isothermal Reactors
Isothermal reactors are special because rate expressions are a function of temperature, and the isothermal reactor freezes the reaction rate
Isothermal and Differential Reactors
A preliminary assumption that can be made is that the amount of change that our reactor will affect, the amount of reactants it turns into products, will be very slight - differential - so that the change in the gas thermochemical state caused by the reactor can be examined differentially.
This would be perfect if you wanted to measure a kinetic rate expression. Create a very tiny reactor, very small amount of reaction occurs, isothermal, same temperature, measure your concentration step change, etc.
Isothermal and Integral Reactors
A reactor can also be an integral reactor, and be isothermal. This is the case in any isothermal reactor where the reaction goes to completion. The exit state of these reactors depends on the entire range of states (and gradients) in the reactor. Isothermal reactors can help keep operation simpler by removing functional dependence of the reaction rate on the (often experimentally unknown) temperature profile in the reactor.
Isothermal Integral Reactors in Cantera
Reactor models in Cantera are isothermal integral reactors. Cantera reactors are integrating concentration (and optionally energy) equations; you can turn off the energy equation, in which case Cantera will still integrate the concentration equations (hence, an integral reactor). You can turn off the energy equation in a reactor when you create it:
...
or after you create it:
...
Nonisothermal Reactors
Nonisothermal reactors are, by definition, integral. Multiple thermochemical states.
Some maths
how Cantera solves nonisothermal integral reactor equations - (ref the Cantera/Reactor Equations page
Adiabatic reactors
How to make an adiabatic reactor in Cantera (it is the default)
Reactor heat transfer profile
How to specify heat transfer coefficient in a reactor in Cantera? Install a wall, set the heat transfer coefficient.
Heat transfer coefficients can be static (fixed number), or change (function of temperature/composition/physical properties/reactor material/time/etc)
Reactor temperature profile
How to specify the reactor temperature profile - just make it isothermal and change the temperature manually at each timestep (with caveats - how ELSE is the thermochemical state changing?)
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 |