Much of the difference between cases was coming from taking different
numbers of timesteps based on small rounding errors. Running over a
range of different initial conditions and calculating stats on a
"per timestep" basis helps isolate the effect of the user-defined
reactions.
The nondimensional EOS should always be dimensionalized to a mass
basis using the value of R given in the original source. Values on
a molar basis can then be computed consistently using the best available
value for the molecular weight of water.
Partially resolves#1315
Using right preconditioning provides a more reliable performance benefit
even after the ignition event, allowing the solver to take reasonable
timesteps and showing a CPU-time benefit even for a single reactor with
the 100-species n-dodecane mechanism.
These changes make it unnecessary to copy header files around during
the build process, which tends to confuse IDEs and debuggers. The
headers which comprise Cantera's external C++ interface are now in
the 'include' directory.
All of the samples and demos are now in the 'samples' subdirectory.