Reaction Rate Measurements

Base reaction rate measurement

class reactions.RxnMeasurement(name=None, model=None, value=None, uncertainty=None, active_parameters=None, parameter_uncertainties=None, response=None, response_type='linear', response_perturbation=0.3, model_value=None, sensitivity_list=None, comment=None)

A special class for optimizing reaction rate measurements.

Since there is an analytic expression for the sensitivities, creating the response surfaces is more straigtforward than it would be for a normal experiment. The call signature for this measurement is the same as for mumpce.Measurement.

make_response()

Generates a sensitivity_analysis_based response surface for this measurement

Because there is an analytical solution, perturbations are not necessary for most reaction rate parameters. If the reaction rate is given by:

\[k = A T^b \exp \left( \frac{-E}{RT} \right)\]

then

\[\frac{d \log k}{d \log A} = 1\]
\[\frac{d \log k}{d \log E} = \frac{-E}{RT}\]

The response surface derivatives are given by

\[a_i = \frac{d \log y}{d \log p_i} \log f_i\]

where \(f_i\) is the uncertainty factor of parameter \(p_i\). In the case of activation energies, \(\log f_i\) is approximated by \(f_i - 1\)

Base reaction rate class

class reactions.ReactionRateBase(T, Patm, composition, chemistry_model, **kwargs)

The base class for optimizing reaction rates.

This class defines some shared attributes across all ReactionRate type classes and a shared sensitivity method.

Parameters:
  • T (float) – The temperature at which to evaluate the rate constant in Kelvins
  • Patm (float) – The pressure in atmospheres (will be converted internally to Pa)
  • composition (str,ndarray(float)) – The composition for which the rate constant will be evaluated. This is important for reactions with third-body collision efficiencies. Can be a float array or a Cantera composition string
sensitivity(perturbation, parameter_list, logfile)

Evaluates the sensitivity of the reaction rate with respect to the model parameters

Because there is an analytical solution, perturbations are not necessary for most reaction rate parameters. If the reaction rate is given by:

\[k = A T^b \exp \left( \frac{-E}{RT} \right)\]

then

\[\frac{d \log k}{d \log A} = 1 \frac{d \log k}{d \log E} = \frac{-E}{RT}\]

For rate ratios, the denominator sensitivities differ by a factor of -1. For falloff reactions, the sensitivity must be calculated by perturbation, since the rate expression is potentially very complicated.

Parameters:
  • perturbation (float) – The amount to perturb each parameter during the sensitivity analysis
  • parameter_list (array_like) – The list of parameters to perturb. This will be a list of parameter identifiers, which are usually ints or strs.
  • logfile (str) – The logging file that will contain the sensitivity calculation output.
Returns:

model_value,sensitivity_vector

Return type:

float,ndarray

Reaction rate at specified condition

class reactions.ReactionRateAtCondition(T, Patm, composition, chemistry_model, reaction_number=None, **kwargs)

A class that will specify a rate constant at a particular temperature and pressure.

Parameters:
  • T (float) – The temperature at which to evaluate the rate constant in Kelvins
  • Patm (float) – The pressure in atmospheres (will be converted internally to Pa)
  • composition (str,ndarray(float)) – The composition for which the rate constant will be evaluated. This is important for reactions with third-body collision efficiencies. Can be a float array or a Cantera composition string
Key reaction_number:
 

The reaction number from the Cantera model which will be used

Reaction rate at specified condition

class reactions.ReactionRateRatioAtCondition(T, Patm, composition, chemistry_model, reaction_numerator=None, reaction_denominator=None, **kwargs)

A class that will specify a ratio of two rate constants at a particular temperature and pressure.

Parameters:
  • T (float) – The temperature at which to evaluate the rate constant in Kelvins
  • Patm (float) – The pressure in atmospheres (will be converted internally to Pa)
  • composition (str,ndarray(float)) – The composition for which the rate constant will be evaluated. This is important for reactions with third-body collision efficiencies. Can be a float array or a Cantera composition string
Key reaction_numerator:
 

The reaction number from the Cantera model that specifies the numerator reaction

Key reaction_denominator:
 

The reaction number from the Cantera model that specifies the denominator reaction

Reaction rate A-factor ratio

class reactions.ReactionARatio(T, Patm, composition, chemistry_model, reaction_numerator=None, reaction_denominator=None, **kwargs)

A class that will specify the ratio of A-factors for two reactions

Parameters:
  • T (float) – The temperature at which to evaluate the rate constant in Kelvins
  • Patm (float) – The pressure in atmospheres (will be converted internally to Pa)
  • composition (str,ndarray(float)) – The composition for which the rate constant will be evaluated. This is important for reactions with third-body collision efficiencies. Can be a float array or a Cantera composition string
Key reaction_numerator:
 

The reaction number from the Cantera model that specifies the numerator reaction

Key reaction_denominator:
 

The reaction number from the Cantera model that specifies the denominator reaction

Reaction rate activation energy difference

class reactions.ReactionEDiff(T, Patm, composition, chemistry_model, reaction_numerator=None, reaction_denominator=None, **kwargs)

A class that will specify the difference between activation energies for two reactions

Parameters:
  • T (float) – The temperature at which to evaluate the rate constant in Kelvins
  • Patm (float) – The pressure in atmospheres (will be converted internally to Pa)
  • composition (str,ndarray(float)) – The composition for which the rate constant will be evaluated. This is important for reactions with third-body collision efficiencies. Can be a float array or a Cantera composition string
Key reaction_numerator:
 

The reaction number from the Cantera model that specifies the numerator reaction

Key reaction_denominator:
 

The reaction number from the Cantera model that specifies the denominator reaction