Reaction rates

Unreactive subclass, `unreactive'

No parameters.

Forest Fire subclass, `forest'

d lambda / dt = (1 - lambda) exp[f(p)]
Parameters
f(p)	arbitrary Realfunction1d - see WXC++ documentation
pmin	minimum pressure for reaction to occur

f(p) is usually a polynomial, e.g. a quadratic:

polynomial   3   0.1 -2.5 0.03
for f = 0.1 - 2.5 p + 0.03 p2.

Tarver subclass, `tarver'

d lambda / dt = sumi freq.|mu - mucrit|eta. (1 - lambda)fr + sumj g.pm.lambdar.(1 - lambda)s
Parameters
rho0	reference density
number_of_ignition_terms
For each:
   fmax		maximum burn fraction at which term operates
   mucrit	minimum compression for term to operate
   freq
   eta
   fr
number_of_growth_terms
For each:
   fmin		minimum burn fraction at which term operates
   fmax		maximum burn fraction at which term operates
   g
   m
   r
   s

Arrhenius subclass, `local_arrhenius'

d lambda / dt = f(rho) exp[-T*(rho)/T]

This is intended to represent the rate in pure reactant. If used for a mixture of reactant and products, the `global' modifier (see below) should be used.

Parameters
f(rho)		attempt rate
T*(rho)		energy barrier, expressed as a temperature
The functions are arbitrary Realfunction1ds (see WXC++ documentation for allowed types. The classical choice is to use constants:
constant 2.5e6
constant 1784

ICI ignition and growth subclass, `ici'

d lambda / dt = (1 - lambda) [ah / tauh (p - ph) + (al / taul + as / taus) p]
where
ah = exp[-(lambda/wh)nh], as = exp[-(1 - lambda/ws)ns], al = 1 - ah - as.
Parameters
wh nh tauh ph
taul
ws ns taus

Multi-rate subclass, `multirate'

d lambda / dt = sumi Ri(lambda')
where Ri can have any of the forms above. Each rate has a minimum and maximum fraction reacted over which it operates. If lambda falls within the allowed range for a rate, the rate operates using the modified burn fraction lambda',
lambda' = (lambda - lambda0i) / (lambda1i - lambda0i)
where lambda0i and lambda1i are the starting and finishing fractions for rate i. Rates can operate in parallel.
Parameters
number_of_rates
For each:
   rate_law	named rate with parameters, as above
   lambda0i
   lambda1i

Density - temperature function subclass, `dtreac'

An arbitrary function of density and temperature. Since this rate is not also a function of the reaction progress variable, it is best regarded as modelling a local process, applying to pure reactant. The global modifier may be needed if the rate is to apply to a mixture of reactant and products.
Parameters
rate_function
The function is a pointer to a WXC++ Realfunction2d. Any of these function classes may be used.

Equilibration reaction subclass, `eqmreac'

d lambda / dt = R(state) * [lambdaeqm(rho,T) - lambda]
Reaction towards an equilibrium value of the progress variable, where reactions may be reversible. The reaction rate R should be local.
Parameters
lambda_eqm
rate_law
The equilibrium lambda is a pointer to a WXC++ Realfunction2d. Any of these function classes may be used. The rate law is any named rate with parameters.

Local subclass, `local'

Many reaction rates are scaled by (1 - lambda) to reflect the amount of unreacted material remaining. Declaring a rate law to be local removes this factor, necessary when considering detailed subcell models.
Parameters
rate_law	named rate with parameters, as above

Local subclass, `global'

Conversely to `local' some rates may be defined with respect to purely unreacted material. When used in a rate law which applies to a mixed region containing both reactant and products, the reaction rate for pure reactant must be scaled by the fraction of reactant present.
Parameters
rate_law	named rate with parameters, as above

Safe reaction subclass, `safe_reaction'

Rate laws are often sensitive to the numerical values of the thermodynamic state, and may cause problems if the state or equation or state are not fully self-consistent. This class constrains the state used in the rate calculation to lie within safe limits, and also applies limits to the reaction rate calculated.
Parameters
rhomin rhomax	density limits
emin emax	specific internal energy limits
pmin pmax	pressure limits
tmin tmax	temperature limits
fmin fmax	fraction reacted limits (usually set to 0.0 1.0)
rmin rmax	rate limits
rate_law	named rate with parameters, as above