Commit graph

5351 commits

Author SHA1 Message Date
Ray Speth
ffe3eb5e5a [Kinetics] Check for undeclared species when using Reaction objects
Skip the reaction or raise an exception based on the
'm_skipUndeclaredSpecies' flag
2014-11-15 00:46:59 +00:00
Ray Speth
d72c2e7132 [Kinetics] Add reaction balance check to Kinetics
This applies to reactions added using Reaction objects. Previously, the
check would only be performed for reactions added from an XML tree.
2014-11-15 00:46:57 +00:00
Ray Speth
e2f15e97d4 [Kinetics] Add duplicate reaction checks using Reaction objects 2014-11-15 00:46:54 +00:00
Ray Speth
c39b93c424 [Kinetics] Automatically generate reaction equation strings 2014-11-11 00:12:28 +00:00
Ray Speth
f51ed2aa02 [Kinetics] Add factory functions for Reaction classes 2014-11-11 00:12:26 +00:00
Ray Speth
c8ecedb140 [Test] Make reaction equation test independent of species ordering 2014-11-11 00:12:21 +00:00
Ray Speth
53fb3bd341 [Test] Prevent infinite loop in TestSofcKinetics
If an infinite loop occurs in the Newton solver, it indicates a problem, but
this way the test will finish (and fail).
2014-11-11 00:12:19 +00:00
Ray Speth
a3645ee925 [Test] Set reaction type in surfkin test input file
Surface reactions must have the XML attribute 'type="surface"'. This is set
automatically by the CTI 'surface_reaction' class.
2014-11-11 00:12:15 +00:00
Ray Speth
69650b8ec2 [Kinetics] InterfaceReaction supports sticking coefficients 2014-11-11 00:12:13 +00:00
Ray Speth
c4e6790fda [Kinetics] Implement addReaction from Reaction for InterfaceKinetics 2014-11-11 00:12:08 +00:00
Ray Speth
b19d7342fa [Kinetics] Refactor InterfaceKinetics::addReaction 2014-11-11 00:12:03 +00:00
Ray Speth
e4d2ed9b78 [Kinetics] Add SurfaceArrhenius constructor from Arrhenius 2014-11-11 00:11:59 +00:00
Ray Speth
028bca0d73 [Kinetics] Implement addReaction from Reaction for AqueousKinetics 2014-11-11 00:11:55 +00:00
Ray Speth
be585aab3e [Kinetics] Implement direct constructor for ChebyshevRate 2014-11-11 00:11:33 +00:00
Ray Speth
191e9bcc42 [Kinetics] Implement direct constructor for P-log reactions 2014-11-11 00:11:31 +00:00
Ray Speth
b4afcd3e8e [Kinetics] Implement addReaction using Reaction objects for GasKinetics
This covers elementary, third-body, and falloff reaction types
2014-11-11 00:11:25 +00:00
Ray Speth
c0944f1700 [Kinetics] Basic implementation of class Reaction and descendants 2014-11-11 00:11:17 +00:00
Ray Speth
82dca88af2 Fix VPSSMgr error messages
Display the actual name of the species rather than the name of the species XML
node, which is always just "species".

Make method names in error messages match the methods where they are generated.
2014-11-11 00:11:05 +00:00
Ray Speth
39b751d655 [Equil] Always use the member function versions of 'equilibrate'
The various free functions are deprecated, along with the now unnecessary
headers 'equil.h' and 'equilibrium.h'.
2014-11-08 00:53:45 +00:00
Ray Speth
8c934ab678 [Equil] Implement equilibrate as a method of MultiPhase
This differs from the current equilibrate method in that it can use either of
the multiphase equilibrium solvers.
2014-11-08 00:53:42 +00:00
Ray Speth
e16e998dd7 [Equil] Implement equilibrate as a method of ThermoPhase
The Cython interface now calls this equilibrate function.

Unlike the free function 'equilibrate', this new equilibrate method actually
does what the documentation describes regarding the 'solver' argument. This
means that there are cases where failures of the MultiphaseEquil solver were
previously being hidden by a subsequent successful solution using the ChemEquil
solver. These tests have been marked as known failures.
2014-11-08 00:53:39 +00:00
Ray Speth
4bcbe862a9 Fix copy constructor and assignment operator for SpeciesThermo classes 2014-11-08 00:53:36 +00:00
Ray Speth
926b78cc7d Deprecate Cabinet::assign 2014-11-08 00:53:35 +00:00
Ray Speth
363d3ec3f0 Remove HMWSoln 'testProb' constructor
This constructor was used only in HMW_test_1, and it just set the same
parameters that were already read from the XML input file.
2014-11-08 00:53:33 +00:00
Ray Speth
eb71d8cdd0 Deprecate "copyData" method of array classes 2014-11-08 00:53:30 +00:00
Ray Speth
24c509f539 [Kinetics] Fix some cases where duplicate reactions were not detected
Also add several tests which check that the various kinds of duplicate
reactions are being identified as errors or allowed as intended.
2014-11-07 02:15:03 +00:00
Ray Speth
ecf4301208 Remove redundant, inaccessible Tortuosity classes 2014-11-07 02:14:59 +00:00
Ray Speth
8b8a95a2ff Deprecate unused stringUtils functions 2014-11-07 02:14:57 +00:00
Ray Speth
a6a10b854c [Reactor] Add damping factor to setState Newton iteration
This resolves convergence issues in somes cases where the iteration would
oscillate around the true solution.
2014-11-07 02:14:55 +00:00
Ray Speth
74a522bdda [Test] Add tests for parseCompString
These tests are added as the first part of the new gtest test suite 'general'
2014-11-07 02:14:54 +00:00
Ray Speth
07f8d520ee Improved implementation of parseCompString
Improvements:

- Tolerate formatting irregularities such as spaces befpre or after the colon
  (e.g. 'H2: 1.0')

- Allow names containing commas and semicolons

- Detect errors such as no value being supplied for the last element (e.g. 'H2')

- Single implementation handles both the case where a list of valid names is
  supplied and when any name is allowed
2014-11-07 02:14:52 +00:00
Ray Speth
37f71bd912 [Kinetics] Deprecate 'reactants' and 'products' methods
These methods are rarely used, and they expose a now-unused internal data
structure that isn't even correct for all reactions.
2014-11-07 02:14:50 +00:00
Ray Speth
7eb726d3d9 [Kinetics] Remove unnecessary copy constructors and assignment operators
The data members of C1, C2, C3, C_AnyN, and StoichManagerN are all copyable and
assignable, so it's better to just let the compiler supply these.
2014-11-01 00:13:52 +00:00
Ray Speth
fd777096b2 [Kinetics] Remove unused variables from StoichManagerN 2014-11-01 00:13:51 +00:00
Ray Speth
b2afb1a7a9 [Kinetics] Handle stoichiometry and reaction order in StoichManagerN
In the previous implementation, the higher-level classes were making unnecessary
assumptions about the optimizations used in StoichManagerN for reactions with
unity stoichometric coefficients.
2014-11-01 00:13:49 +00:00
Ray Speth
557ffffc5b [Kinetics] Combine ReactionStoichMgr with class Kinetics
Class ReactionStoichMgr is now deprecated, as all of its functions were just
pass-throughs between Kinetics and StoichManagerN.
2014-11-01 00:13:46 +00:00
Ray Speth
f1387be98a Formatting cleanup of importKinetics 2014-11-01 00:13:44 +00:00
Ray Speth
50a08db7c0 [Kinetics] Move some function definitions out of RxnRates.h
The performance-sensitive update_C and updateRC methods remain in the header
file.
2014-11-01 00:13:42 +00:00
Ray Speth
0fd5f14288 [SCons] Rename 'cython' test suite to 'python'
Since the old Python module is gone, we don't need this one to have a different
name.
2014-11-01 00:13:41 +00:00
Ray Speth
fbe8a7cd3f Make common interface to shared_ptr available
Use configure-time checks to find an available implementation of shared_ptr from
the standard library (C++11), TR1 (C++03), or Boost.
2014-11-01 00:13:39 +00:00
Ray Speth
06732a6581 [Kinetics] Merge SRI5 and SRI3 implementations 2014-10-30 21:10:12 +00:00
Ray Speth
9c008a753b [Kinetics] Merge Troe3 and Troe4 implementations 2014-10-30 21:10:09 +00:00
Ray Speth
79d9accaa9 [Kinetics] Clean up documentation of Falloff classes 2014-10-30 21:10:07 +00:00
Ray Speth
d1295a5249 [Kinetics] Make Falloff class declarations public 2014-10-30 21:10:04 +00:00
Ray Speth
3b71d75ada [Kinetics] Add class BulkKinetics
This class serves as a common base for GasKinetics and AqueousKinetics,
eliminating most of the redundancy between the two classes.
2014-10-30 21:09:59 +00:00
Ray Speth
6f0fb5cf8d [Kinetics] Refactor and deprecate installReagents 2014-10-29 23:32:27 +00:00
Ray Speth
a8659c86cc [Kinetics] Removed unnecessary initializations 2014-10-29 23:32:24 +00:00
Ray Speth
3ab37254eb [Kinetics] Move m_rfn and m_rkcn up to Kinetics 2014-10-29 23:32:19 +00:00
Ray Speth
987bb8f115 [Kinetics] Remove unused variable 'm_fwdOrder' 2014-10-29 23:32:16 +00:00
Ray Speth
ba87385c86 [Kinetics] Finish deprecating duplicate "reactionNumber" function
Remove the private implementations outright.
2014-10-29 23:32:12 +00:00