Commit graph

16 commits

Author SHA1 Message Date
Ray Speth
a59309e81e [Reactor] Independent variables for Reactor are now T,V, and Yk
This formulation for the reactor's governing equations significantly improves
the performance of integrator, mostly by improving the quality of the
Jacobian. The effect is small for smaller mechanisms (GRI 3.0) but can lead to
order-of-magnitude improvements for mechanisms with hundreds or thousands of
species.

Since this set of variables corresponds to the intrinsic state variables used
for IdealGasPhase objects, we also eliminate the need to iterate when setting
the state of the thermo object.

Additionally, by using temperature as an independent variable, the
temperature-dependent parts of the kinetic rate expressions do not need to be
recomputed while updating the Jacobian (this optimization is not currently
implemented).
2013-05-23 19:33:16 +00:00
Ray Speth
259ceaa9a6 Added assertions to check that some variables remain finite 2013-05-06 20:05:53 +00:00
Ray Speth
7da738d238 Re-applied consistent formatting to trunk
Applied using: astyle -n --style=kr --add-brackets --indent=spaces=4
--indent-col1-comments --unpad-paren --pad-header --align-pointer=type
--lineend=linux
2013-02-07 23:40:59 +00:00
Ray Speth
205706f5dd [Reactor] Avoid a segfault when using phases with no Kinetics 2013-01-07 18:08:23 +00:00
Ray Speth
fe6b5d3c0b Changed the ordering of Reactor sensitivity coefficients
The order now matches the order in which the corresponding sensitivity reactions
are added to the ReactorNet, regardless of the order in which Reactors and Walls
are added to the network.

Sensitivity parameter names can be accessed using the "sensitivityParameterName"
method of ReactorNet, and the "sensParamID" methods of Reactor and Wall have
been removed as they no longer meaningful.
2012-11-02 20:07:25 +00:00
Ray Speth
b3e25ee963 Modified Reactor::updateState to get sensitivity analysis working
Sensitivity analysis requires that the system responds appropriately to small
perturbations in the solution, a condition which is not satisfied when using the
default iterative method implemented by ThermoPhase::setState_UV. Instead, we
now use Newton's method to calculate the mixture temperature to within a small
multiple of machine precision.
2012-11-02 20:07:21 +00:00
Ray Speth
c404c31879 Eliminated unnecessary string copying in Reactor / ReactorNet 2012-10-12 20:34:41 +00:00
Ray Speth
11a11bea79 Removing deprecated / nonfunctional methods from Reactor
These functions / variables are for driving the time integration, which is
handled entirely by ReactorNet.
2012-10-12 20:34:33 +00:00
Ray Speth
15755c1447 Pruning some dead code 2012-05-24 16:30:04 +00:00
Ray Speth
ee746bf895 Fixed a size_t-related error that caused Reactor walls to behave incorrectly 2012-05-24 16:29:20 +00:00
Ray Speth
ca4212cc57 Removed a number of unused / redundant typedefs 2012-03-15 19:51:57 +00:00
Ray Speth
d8edde0264 Expanded array bounds checking in C interface functions 2012-03-15 19:51:37 +00:00
Ray Speth
3bff32dd55 Fixed problems that generated warnings with the Intel compiler 2012-03-07 00:51:13 +00:00
Ray Speth
b955395ed1 Skip cast from size_t to int when calling int2str 2012-02-27 18:14:17 +00:00
Ray Speth
a310345b9e Updated #includes to reflect new header file locations 2012-02-12 02:44:14 +00:00
Ray Speth
2528df0f75 Reorganized source tree structure
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.
2012-02-12 02:27:14 +00:00
Renamed from Cantera/src/zeroD/Reactor.cpp (Browse further)