Commit graph

5361 commits

Author SHA1 Message Date
Ray Speth
4e99746457 [Kinetics] Allow explicit specification of the sticking species 2014-11-15 19:26:37 +00:00
Ray Speth
ced2d20dd8 Use XML_Node::attrib when it is more clear than using operator[] 2014-11-15 00:47:31 +00:00
Ray Speth
de3d212062 [SCons] Deprecate unnecessary build options 2014-11-15 00:47:30 +00:00
Ray Speth
5958578c40 [Kinetics] Check for negative and non-reactant reaction orders
Allow non-reactant orders for electrochemical reactions

Allow negative orders specifically requested, e.g. by setting the
'negative_orders' option in the CTI definition of the reaction.
2014-11-15 00:47:25 +00:00
Ray Speth
e09db92756 [Doc] Fix some Doxygen warnings 2014-11-15 00:47:19 +00:00
Ray Speth
7438e791b5 Update comments in Kinetics::addReaction 2014-11-15 00:47:18 +00:00
Ray Speth
a2c415aaa5 [Kinetics] Add reactions using Reaction instead of ReactionData
Deprecate class ReactionData and all related functions.
2014-11-15 00:47:15 +00:00
Ray Speth
e3022a8057 [Kinetics] Check Reaction objects for orders on reversible reactions 2014-11-15 00:47:13 +00:00
Ray Speth
82fbff7a05 [Kinetics] Validate rate coefficient data for Reaction objects 2014-11-15 00:47:09 +00:00
Ray Speth
6727902c3f [Kinetics] Allow skipping third-body efficiencies when using Reaction 2014-11-15 00:47:04 +00:00
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