Commit graph

5528 commits

Author SHA1 Message Date
Ray Speth
b6ac3ce995 [CTI] Allow CTI files containing only reaction definitions
The reactions in these files can be referenced by other CTI/XML files, or used
directly to create Reaction objects. The absence of a phase definition requires
that either (a) all reactions are in bulk phases, or (b) the rate constants are
given in kmol, meter, second units since it is impossible to determine the
dimensionality of the concentration for each species.
2015-04-28 17:13:11 -04:00
Ray Speth
caf71b839c [ctml] Refactor 'stick' to be a class instead of a function
This has no impact on the normal use case, but helps separate some properties
which are not relevant for bulk-phase reactions.
2015-04-28 17:13:11 -04:00
Ray Speth
4049bb4bb2 Fix out-of-bounds memory access in CvodesIntegrator::getErrorInfo
Out-of-bounds memory was being accessed in cases where the system had fewer
state variables than the specified maximum number of error estimates to display.
2015-04-28 17:13:11 -04:00
Ray Speth
de1884db71 [Python] Add access to interface reactions 2015-04-26 14:36:46 -04:00
Ray Speth
27e05d72f7 [Test] Add a test which includes a coverage-dependent rate constant 2015-04-26 11:44:19 -04:00
Ray Speth
eb088793e6 [Kinetics] Fix indices used in calculating coverage-dependent rates
The coverage dependent rate calculation is passed the array of coverages,
which include only the interface species, so the species index in the
interface phase is what is needed here.
2015-04-26 11:42:21 -04:00
Ray Speth
550caaca9e [Kinetics] Fix setupInterfaceReaction to parse coverage dependencies 2015-04-26 11:41:01 -04:00
Ray Speth
a15d9c17e2 [Python] Add access to Chebyshev reactions 2015-04-24 18:53:48 -04:00
Ray Speth
a9c6eb6fda [Kinetics] Add methods for inspecting ChebyshevRate objects 2015-04-24 18:53:02 -04:00
Ray Speth
b12c90b315 [Doc] Add missing docstrings for ChebyshevRate and Plog 2015-04-24 18:13:46 -04:00
Ray Speth
5fb9f95004 [Python] Add access to p-log reactions 2015-04-24 17:33:04 -04:00
Ray Speth
d3d303c4e9 [Kinetics] Add Plog::rates() for informational purposes 2015-04-24 16:43:37 -04:00
Ray Speth
4151c10884 [Kinetics] Simplify Plog by using Arrhenius objects internally 2015-04-24 14:49:42 -04:00
Ray Speth
e7946478df [Python] Add access to falloff and chemically activated reactions 2015-04-24 14:04:07 -04:00
Ray Speth
d2418c0c2a [Kinetics] Add methods for inspecting Falloff objects 2015-04-23 18:10:15 -04:00
Ray Speth
9d4a3e0f75 [Kinetics] Reaction objects have Falloff objects
This approach actually makes use of the fact that we have a Falloff type.
2015-04-23 18:10:15 -04:00
Ray Speth
873724c135 [Kinetics] Move member function definitions out of Falloff.h 2015-04-23 18:10:15 -04:00
Ray Speth
bbe2e1c79b [Python] Add access to properties of simple reaction types
This includes ElementaryReaction and ThirdBodyReaction
2015-04-23 18:10:15 -04:00
Ray Speth
af93dc774d [Python] add ctypedef for Composition 2015-04-22 14:09:46 -04:00
Ray Speth
dc3af8a58d [Python] Add ability to create ThermoPhase objects from Species
This makes it possible to create a phase without ever generating a CTI
or XML description. Does not yet work with phase types that require
additional parameters.
2015-04-22 14:08:24 -04:00
Ray Speth
9fdf7c0c59 [Doc] Describe NASA9 parameterization in CTI guide
Also note availability of data in the NASA9 form using the ThermoBuild web tool
and explain how to convert it to the CTI format.
2015-04-22 14:08:24 -04:00
Ray Speth
3ad02817c5 [Kinetics] Refactor KineticsFactory::newKinetics
Eliminate redundant implementations, eliminate unnecessary static arrays,
and fix cases which were missing in the newKinetics(string) version.
2015-04-22 14:08:24 -04:00
Ray Speth
25953f94d4 [Transport] Make transport XML node optional
The default is equivalent to specifying <transport model="None">
2015-04-22 14:08:24 -04:00
Ray Speth
a4ba47594c [Python] Add functions for creating Species objects from CTI/XML 2015-04-22 14:08:24 -04:00
Ray Speth
64c66437eb [Python] Improve handling of 'bytes' objects being passed in 2015-04-22 14:08:21 -04:00
Ray Speth
f3eaef1675 [CTI] Strip leading whitespace when converting CTI strings
Leading whitespace would normally result in a Python IndentationError.
2015-04-20 18:34:39 -04:00
Ray Speth
b0e5b13913 Remove redundant, unnamed root XML node from parsed documents
XML_Node::build will make that node the root node (i.e. the 'ctml' node)
of the tree, instead of giving that node a child node containing the actual
root node.
2015-04-20 18:34:39 -04:00
Ray Speth
39b93d3690 Allow XML documents without an XML declaration node 2015-04-20 18:34:38 -04:00
Ray Speth
96cf312ec6 [Thermo] Always add species using Species objects
Deprecate the non-Species-based addSpecies and addUniqueSpecies
functions.
2015-04-20 18:34:38 -04:00
Ray Speth
2ca603838d [Thermo] Extract 'newSpecies(XML_Node&) from thermo initialization
VPStandardStateTP phases now use the same pathway for adding species as
other phase in importPhase. Deprecate the now-unused 'installSpecies'
function.
2015-04-20 18:34:37 -04:00
Ray Speth
d27b9ef9b1 [Thermo] Species size defaults to 1.0
This mostly affects surface phases, where a species size of 0 causes
several problems.
2015-04-20 18:34:37 -04:00
Ray Speth
a471e4316a [Thermo] Phase::addSpecies takes shared_ptr by value
This helps to clarify that addSpecies stores a copy of the shared_ptr.
2015-04-20 18:34:37 -04:00
Ray Speth
a63874e4b4 [Transport] Refactor TransportData initialization 2015-04-20 18:34:36 -04:00
Ray Speth
d6f7fd855a [Python] Add access to SpeciesThermo(InterpType) objects 2015-04-20 18:34:36 -04:00
Ray Speth
71f912d211 [Python] Add basic access to Species objects 2015-04-17 19:06:43 -04:00
Ray Speth
aee6cc14ac [Transport] Remove 'name' variable from TransportData
This was used only for validation error messages, but in that case we can just
use the Species object which is available during validation.
2015-04-17 19:06:43 -04:00
Ray Speth
7d170a9989 [Thermo] newSpeciesThermoInterpType argument is the 'thermo' XML node
No data from the outer 'species' node is needed to instantiate the
SpeciesThermoInterpType object, so this function can just take the 'thermo' node
directly.
2015-04-17 19:06:43 -04:00
Ray Speth
1b0970a494 [Thermo] Remove species name argument from STIT factory functions
This argument was used only in error messages, which can be reported more
uniformly if implemented at a higher level.
2015-04-17 19:06:43 -04:00
Ray Speth
ec1d7d7382 Fix compilier warnings about unused variables 2015-04-14 16:08:10 -04:00
Ray Speth
55ad11a565 [Doc] Mention '-v' flag to 'brew install' as a debugging tool 2015-04-14 15:29:28 -04:00
Ray Speth
d1cda15f42 Improve performance of importing phases
Replace the O(k) implementation of Phase::speciesIndex with one that is
O(log(k)). This function is called frequently as part of Kinetics object
initialization. Optimize for the more common case where the species name is not
qualified with a phase name.
2015-04-14 15:29:28 -04:00
Ray Speth
bde0f1466d [Thermo] Add index-based accessor for Species objects 2015-04-14 15:29:28 -04:00
Ray Speth
882a4986da Remove 'thermo' argument from Species constructor
Since the Species object now stores its SpeciesThermoInterpType contents as a
shared_ptr, it is undesirable to have the Species constructor take this as a raw
pointer argument.
2015-04-14 15:29:28 -04:00
Ray Speth
43952b30fc [Thermo] Use shared_ptr<Species> in ThermoPhase 2015-04-14 15:29:28 -04:00
Ray Speth
8f36e524fe Do species indexing in GeneralSpeciesThermo instead of STIT
This means that GeneralSpeciesThermo no longer modifies the
SpeciesThermoInterpType objects, permitting them to be shared between
ThermoPhase objects.
2015-04-14 15:29:28 -04:00
Ray Speth
5195e4f9b8 [Thermo] Use shared_ptr to STIT objects in Species and SpeciesThermo
Exclusive ownership of the SpeciesThermoInterpType objects is no longer assumed.
2015-04-14 15:29:28 -04:00
Ray Speth
35dbe37bf7 [Thermo] Deprecate SpeciesThermo::install
The install_STIT method should be used instead.
2015-04-14 15:29:28 -04:00
Ray Speth
a1599ac921 [Thermo] Add 'index' argument to GeneralSpeciesThermo::install_STIT
This is a prerequisite to removing the species index as a property of the
SpeciesThermoInterpType object and making it independent of any specific
ThermoPhase object.
2015-04-14 15:29:28 -04:00
Ray Speth
1dd7b214b5 [Thermo] Deprecate unused method 'getUnitsStandardConc'
First step in resolving Issue #96
2015-04-14 15:18:20 -04:00
Ray Speth
df971368a9 Remove some unnecessary files 2015-04-14 14:53:48 -04:00