antioch-0.4.0
Classes | Namespaces | Functions
read_reaction_set_data.h File Reference

We parse the file here, with an exhaustive unit management. More...

#include "antioch/antioch_asserts.h"
#include "antioch/units.h"
#include "antioch/parsing_enum.h"
#include <string>
#include <vector>

Go to the source code of this file.

Detailed Description

We parse the file here, with an exhaustive unit management.

The starting point is the kinetics equation:

\[ \frac{\partial c}{\partial t} = k \prod_{s \in \text{reactants}} c_s^{l_s} \]

with $l$ the partial order of the reaction with respect to reactants $s$. We obtain thus

\[ \unit{[k] = [M]^{m - 1} s^{-1}} \]

with $m$ the order of the reaction. By definition

\[ m = \sum_{s \in \text{reactants}} l_s \]

We are in an elementary processes paradigm, thus for a reactant species $s$, $l_s = -\nu_s$ with $\nu_s$ the stoichiometric coefficient of reactant species $s$.

Example:

\[ \begin{array}{c} \ce{a A + b B -> c C + d D} \\ m = a + b \end{array} \]

To this, we consider the kinetics model (they're all included in the Van't Hoff equation):

\[ \alpha(T) = A \left(\frac{T}{\mathrm{T_\text{ref}}}\right)^\beta\exp\left(-\frac{E_a}{\mathrm{R}T} + D T\right) \]

We derive from this all the tests and default units:

\[ \begin{array}{lcccc}\toprule & A & \beta & E_a & D \\\midrule \text{Elementary} & \unit{\left(m^3mol^{-1}\right)^{m-1}s^{-1}} & - & \unit{J\,mol^{-1}} & \unit{K^{-1}} \\ \text{Duplicate} & \unit{\left(m^3mol^{-1}\right)^{m-1}s^{-1}} & - & \unit{J\,mol^{-1}} & \unit{K^{-1}} \\ \text{Three body} & \unit{\left(m^3mol^{-1}\right)^{m}s^{-1}} & - & \unit{J\,mol^{-1}} & \unit{K^{-1}} \\ \text{Falloff}\quad k_0 & \unit{\left(m^3mol^{-1}\right)^{m}s^{-1}} & - & \unit{J\,mol^{-1}} & \unit{K^{-1}} \\ \text{Falloff}\quad k_\infty & \unit{\left(m^3mol^{-1}\right)^{m-1}s^{-1}} & - & \unit{J\,mol^{-1}} & \unit{K^{-1}} \\\bottomrule \end{array} \]

for the Troe falloff, the additionnal parameters are:

\[ \begin{array}{cccc}\toprule \alpha & T^* & T^{**} & T^{***} \\\midrule - & \unit{K} & \unit{K} & \unit{K} \\\bottomrule \end{array} \]

Thus the reading is made in this fashion:

Definition in file read_reaction_set_data.h.

Classes

singleton  Antioch::ASCIIParser< NumericType >
 
singleton  Antioch::ChemKinParser< NumericType >
 ChemKin format file reader. More...
 
class  Antioch::XMLParser< NumericType >
 Nothing is stored, this parser is based on the tinyxml2 implementation. More...
 
singleton  Antioch::ReactionSet< CoeffType >
 This class encapsulates all the reaction mechanisms considered in a chemical nonequilibrium simulation. More...
 

Namespaces

 Antioch
 The parameters are reduced parameters.
 

Functions

template<class NumericType >
void Antioch::read_reaction_set_data_xml (const std::string &filename, const bool verbose, ReactionSet< NumericType > &reaction_set)
 
template<class NumericType >
void Antioch::read_reaction_set_data_chemkin (const std::string &filename, const bool verbose, ReactionSet< NumericType > &reaction_set)
 
template<typename NumericType >
void Antioch::read_reaction_set_data (const std::string &filename, const bool verbose, ReactionSet< NumericType > &reaction_set, ParsingType type=ASCII)
 
template<typename NumericType >
void Antioch::verify_unit_of_parameter (Units< NumericType > &default_unit, const std::string &provided_unit, const std::vector< std::string > &accepted_unit, const std::string &equation, const std::string &parameter_name)
 

Generated on Thu Jul 7 2016 11:09:47 for antioch-0.4.0 by  doxygen 1.8.8