Cantera One-D Domains
From charlesreid1
Domain1D class cantera/src/interfaces/python/Cantera/OneD/onedim.py
One-dimensional domains can be stacked together into Stack objects.
Each one-dimensional domain has some number of points associated with it. In each cell, it contains a set of components, and solves a set of equations.
One-dimensional domains have a Jacobian associated with them, which is used to advance the domain in time.
(Grid refiner object Refiner is used to change the number of grid points in a domain, based on criteria about magnitudes of variable value and derivative changes.)
Physics
(The equations being solved)
In src/src/oneD/OneDim.cpp
, in the solve
method, you can see how the domain is solved: a Jacobian is computed and evaluated, and the transient solution is updated
Numerics
Tolerances and bounds for each variable can be set using the setBounds
and setTolerances
methods.
The grid itself can be initialized by specifying locations of particular points, using the setupGrid
method:
d.setupGrid([0.0, 0.1, 0.2, 0.3, 0.4, 0.5])
The one-dimensional domain's grid, name, and a description can be set using the set
method.
Linking Domains Together
Domains are linked together into Stacks, using the linkLeft
and linkRight
methods.
Boundaries
Boundaries are themselves 1D objects, with temperatures and compositions. They can have a specified mass flowrate.
Surfaces
Surfaces are boundaries that have kinetics and kinetic equations associated with them. You can turn the kinetics on or off.
Misc.
Question: if you have a Domain1D object with a bunch of points, and you stack it with another Boundary Domain1D object, is the boundary object a single cell?
Answer: Yes. See cantera/src/src/oneD/boundaries1D.cpp
and cantera/src/include/cantera/oneD/Domain1D.h
, which contains the following code:
// A boundary object contains only one grid point resize(n,1);
The boundary is initialized like this:
Bdry1D::Bdry1D() : Domain1D(1, 1, 0.0),
which means, according to the constructor, there is only one variable and one point in the domain.
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 |