When instantiating a phase from a .cti file, do the conversion in memory,
without writing the XML representation to disk. This eliminates the unrequrested
XML files that Cantera normally generates, and also avoids errors when running
Cantera from a directory where the user does not have write permissons.
This violates basic paradigm of what the user inputs the user gets.
If this is necessary, this needs to be a cpp utility program that is run before the main simulation.
Change the variable named *species* to be named *component*. This
better matches the utility of this variable, since it can be used to
retrieve any of the state variables. Also, update the corresponding
documentation.
The name 'H' can mean either the species by that name or the entahlpy
of the reactor, in the case of ConstPressureReactor, and the previous
behavior always returned the index of the enthalpy.
This changes the behavior to preferentially return the species, and
adds alternative names for reactor state variables that are less
likely to generate namespace collisions: 'mass', 'volume',
'int_energy', 'enthalpy', 'temperature', 'distance', 'velocity'. The
single character names are still supported.
Resolves Issue 193.
Adding the attribute allow_discontinuities="true" to a phase's
'thermo' node (CTML) or adding 'allow_discontinuous_thermo' to a
phase's 'options' argument (CTI) will disable the automatic adjustment
of the provided polynomials so that enthalpy and entropy are
continuous at the midpoint temperature.
This fixes the problem of some output (notably from the 1D solver)
going to std::cout when that is not the primary output location,
e.g. when using IDLE or the IPython QtConsole.
Took out single_species compilation option
took out some deprecated warnings
Fixed an error in copy constructors for thermo.
Still an error with PYTHONPATH and the test suite
-- more to come.
Almost every class derived from SpeciesThermoInterpType used the same
implementation of the minTemp, maxTemp, refPressure, and speciesIndex,
so it makes more sense to just implement these in the base class.
Like IdealGasReactor, this formulation uses the temperature as a state variable
to improve performance for the common use case of reactors containing ideal gas
mixtures.
This formulation of the reactor governing equations, with temperature as a state
variable, works better for ideal gas mixtures. This way, most of the Jacobian
components are derivatives at constant temperature, eliminating the need to
recompute the temperature-dependent part of the rate expressions when computing
these entries.
Expanding the time derivative of the total internal energy only works for ideal
phases, so for the more general case it is necessary to keep the internal energy
as the state variable and use an iterative method for setting the state.