This shows how the velocity function can be used to implement a wall where the
expansion rate coefficient is a function of time.
Also extend the integration interval for this example to actually demonstrate
ignition of both mixtures.
If any of the reaction orders differ from the corresponding stoichiometric
coefficients, the reaction needs to be handled as the general case, instead of
just when the orders are non-integral.
The check introduced in f6f868fe28 takes place too late, as the pointer to
ReactorBase.m_thermo has already been dereferenced at this point. Most compilers
let this pass, but it is techincally incorrect.
The downstream and upstream Reactors, the "master" flow controller, and the
coefficient arrays were being read without checking that they had been
initialized.
Fixes#278.
This also modifies the test to explicitly test each of the equilibrium solvers,
so that failures in any one solver aren't hidden by the fact that a different
solver works for a particular initial condition.
The old version of this test didn't actually check any meaninful results. The
ChemEquil and VCS solvers are both able to solve this problem, but the
MultiPhase solver currently fails. Also, the BasisOptimize function may fail
depending on the order that the elements are specified in the input file.
They have the names setState_RP, setState_RPX, and setState_RPY. These
base class functions mirror the TP, TPX, TPY set, except that RP is not
implemented, because it depends on the EOS of the system. We cannot use
the normal setPressure because it sets the state by calculating the
density, but RP will specify the density.
Overwriting the CSS file caused styles to fall out-of-date with the HTML
generated by newer versions of Sphinx. This way, we just need to maintain a few
customizations to the base theme.
The value of this argument has almost no effect on the integrator, and
frequently confuses users since the ReactorNet can end up at a time either
greater or less than the specified time. By removing this argument, the
distinction betwen step() and advance(t) becomes much more clear.
The first argument should be the function name from which the exception was
thrown. Leaving this blank makes it difficult to track down the location of the
exception.
The iterator 'b' is invalidated by calling erase(b), which means that the
subsequent call to ++b results in undefined behavior. This was identified by
segfaults in the Matlab unit test on OS X.