Commit graph

481 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
85b763538c [Python] Fixed creation of PressureController objects 2013-05-08 15:47:37 +00:00
Ray Speth
2e26abd4f9 [Kinetics] Fixed a NaN result in falloff reaction rates
A NaN result could be caused by an underflow in the high-pressure rate
expression.
2013-05-06 20:05:57 +00:00
Ray Speth
259ceaa9a6 Added assertions to check that some variables remain finite 2013-05-06 20:05:53 +00:00
Ray Speth
47598a197f Removed mdp_allo.h and mdp_allo.cpp from Cantera proper 2013-04-29 18:05:35 +00:00
Ray Speth
09def59948 Eliminated use of mdp functions in BEulerInt 2013-04-29 18:05:31 +00:00
Ray Speth
5205a7a530 Eliminated use of mdp functions in NonlinearSolver 2013-04-29 18:05:27 +00:00
Ray Speth
2c58b7237a Moved the "checkFinite" function into the Cantera namespace 2013-04-29 18:05:22 +00:00
Ray Speth
61917052d4 Removed unnecessary use of mdp_copy_dbl_1 from ThermoPhase 2013-04-29 18:05:14 +00:00
Ray Speth
7d79b30c27 Removed unnecessary MIN and MAX macros 2013-04-29 18:05:10 +00:00
Ray Speth
0a059d406a Eliminated unnecessary empty destructors from derived classes
See http://www.parashift.com/c++-faq-lite/virtual-dtors.html
2013-04-29 18:04:23 +00:00
Ray Speth
09e873b3bf [Kinetics] Allow coverage dependencies for edge reactions 2013-04-24 22:49:17 +00:00
Ray Speth
e8c0e96dae [Thermo] Use least squares method to compute consistent NASA coefficients
To eliminate discontinuities in Cp/R, H/RT and S/R between the high- and
low-temperature NASA polynomials, formulate and solve a linear least squares
problem for a set of 11 coefficients (3 of the original coefficients 14 being
eliminated by the continuity requirements) which minimizes the changes in the
computed properties at a set of temperatures covering the valid temperature
range.
2013-04-24 21:47:56 +00:00
Ray Speth
d8f9f97f74 Refactored class NasaThermo to remove implementations from header 2013-04-24 21:47:48 +00:00
Ray Speth
af55ec5557 [Thermo] Fixed an error in MargulesVPSSTP::s_update_dlnActCoeff_dT
This error was introduced in r1968, but it was masked by an issue with the code
used to compare test results.
2013-04-24 21:47:45 +00:00
Ray Speth
53ea57f504 Fixed compiler warnings about initialization order 2013-04-18 22:09:16 +00:00
Ray Speth
ee74c80afc Fixed a number of "shadowed variable" compiler warnings 2013-04-18 22:08:36 +00:00
Ray Speth
ea8eca5bde Cleaned up Doxygen documentation for miscellaneous VCS classes 2013-04-18 22:08:27 +00:00
Ray Speth
fc7067b63d Cleaned up Doxygen documentation for class vcs_MultiPhaseEquil 2013-04-18 22:08:22 +00:00
Ray Speth
ba5115fe64 Cleaned up Doxygen documentation for class VCS_PROB 2013-04-18 22:08:16 +00:00
Ray Speth
fa9f58cb8a Cleaned up Doxygen documentation for class vcs_VolPhase 2013-04-18 22:08:11 +00:00
Ray Speth
30b01ab8fd Cleaned up Doxygen documentation for class VCS_SOLVE 2013-04-18 22:07:59 +00:00
Ray Speth
28414eb77d Cleaned up Doxygen docs for equilibrium functions 2013-04-18 22:07:54 +00:00
Ray Speth
723cc0a709 Cleaned up Doxygen docs for class MultiPhaseEquil 2013-04-18 22:07:49 +00:00
Ray Speth
651ce785cc Cleaned up Doxygen docs for class ChemEquil 2013-04-18 22:07:43 +00:00
Ray Speth
d1e438d8dd Cleaned up Doxygen docs for class MultiPhase and related functions 2013-04-18 22:07:37 +00:00
Ray Speth
fde4a33908 Removed duplicate 'lowercase' function from tpx/utils.cpp 2013-04-18 22:07:32 +00:00
Ray Speth
e261fd8ef1 Removed the unnecessary tpx/subs.h file 2013-04-18 22:07:27 +00:00
Ray Speth
5be3edbd5f Cleaned up Doxygen documentation for pure fluid classes 2013-04-18 22:07:17 +00:00
Ray Speth
9a4b843d5e Cleaned up Doxygen docs for class clockWC 2013-04-18 22:07:11 +00:00
Ray Speth
ae96e48b4f [Thermo] Adjust NASA polynomials to eliminate discontinuities
We expect the high- and low-temperature NASA polynomials for each species to be
continuous in a number of places, despite many frequently used thermo databases
having data that is inconsistent.

In addition to warning about discontinuities, We now modify the provided
coefficients to ensure continuity at the midpoint temperature. This resolves
numerical issues, e.g. with the algorithm used for setting the state of a
reactor network.
2013-04-18 22:07:00 +00:00
Ray Speth
548f0b1c56 Refactoring to slightly simplify NasaThermo::install 2013-04-18 22:06:55 +00:00
Ray Speth
97da05bc64 Cleaned up Doxygen docs for functions declared in plots.h 2013-04-12 23:07:53 +00:00
Ray Speth
1ee0835e9c Cleaned up Doxygen docs for PrintCtrl and LogPrintCtrl 2013-04-12 23:07:46 +00:00
Ray Speth
65d7cab42e Cleaned up Doxygen documentation for Application and global functions 2013-04-12 23:07:38 +00:00
Ray Speth
07fcf5aab2 Removed unnecessary overloads of writelog for char* 2013-04-12 23:07:30 +00:00
Ray Speth
910b75fc26 Combined overloaded definitions of fp2str and int2str 2013-04-12 23:07:23 +00:00
Ray Speth
5967e952e6 Cleaned up Doxygen docs for functions declared in stringUtils.h 2013-04-12 23:07:15 +00:00
Ray Speth
eec1a6b3ec [1D] Removed min and max attributes from saved profiles
Actual array values could be outside the assumed bounds as a result of solver
tolerances, so it doesn't actually make sense to check these when restoring the
solution.

Resolves Issue 88.
2013-04-12 23:07:08 +00:00
Ray Speth
e13116c229 Cleaned up Doxygen documentation of XML-related classes 2013-04-12 23:07:02 +00:00
Ray Speth
1019cdb51e Cleaned up Doxygen docs for CTML functions 2013-04-12 23:06:54 +00:00
Ray Speth
59d615c8d2 Removed the useless SAFE_DELETE macro 2013-04-12 23:06:45 +00:00
Ray Speth
acdf1e3900 Cleaned up Doxygen docs for Stoichiometry Manager classes 2013-04-12 23:06:36 +00:00
Ray Speth
41a23e44d2 Cleaned up Doxygen docs for Reaction path related classes 2013-04-12 23:06:28 +00:00
Ray Speth
c43b02e130 Cleaned up Doxygen docs for KineticsFactory and ImportKinetics 2013-04-12 23:06:20 +00:00
Ray Speth
2326b07c68 [1D] Reset timestep after grid refinement
This addresses a performance issue where many failed timesteps would be
taken after adding new grid points. These failed timesteps are slow because
they require additional Jacobian re-evaluations. It is more efficient to
preemptively reduce the time step after adding new grid points.

Resolves Issue 155.
2013-04-12 23:06:05 +00:00
Ray Speth
255896715c Allow RedlichKwongMFTP objects to be constructed by newThermoPhase 2013-04-12 23:05:59 +00:00
Ray Speth
1909526ba7 Cleaned up Doxygen docs for class solveSP 2013-04-12 23:05:53 +00:00
Ray Speth
68c0270958 Cleaned up Doxygen docs for class ImplicitSurfChem 2013-04-12 23:05:46 +00:00
Ray Speth
76d3a03921 Updated Doxygen documentation for falloff-related classes 2013-04-12 23:05:38 +00:00