Commit graph

41 commits

Author SHA1 Message Date
Ray Speth
6dac1b0409 [Input] Allow mapping for Arrhenius parameters, and use this as the default
Pressure-dependent Arrhenius reactions now use a list of mappings instead
of a more complicated nested list structure.
2019-06-25 22:30:59 -04:00
Ray Speth
d7734e3f19 [Input] Allow "=" as a delimiter for reversible reactions in YAML 2019-06-25 22:30:59 -04:00
Ray Speth
0264c66f79 Add const version of AnyMap operator[]
Reduces the need to use the at() function
2019-06-25 22:30:59 -04:00
Ray Speth
84fa231ea2 [Input] Read local 'units' definitions in reaction and thermo entries
Move 'convert' functions that work with missing keys to AnyMap class.
2019-06-25 22:30:59 -04:00
Ray Speth
aef101fee7 [Input] Parse YAML entries for Chebyshev reactions 2019-06-25 22:30:59 -04:00
Ray Speth
7a97ff9917 Add optional length check when converting AnyValue to vector 2019-06-25 22:30:59 -04:00
Ray Speth
b54ea8bd82 [Input] Parse YAML entries for Plog reactions 2019-06-25 22:30:59 -04:00
Ray Speth
cb31c297cf [Input] Parse YAML entries for falloff and chemically activated reactions 2019-06-25 22:30:59 -04:00
Ray Speth
8b502d4065 [Input] Parse YAML entries for three body reactions 2019-06-25 22:30:59 -04:00
Ray Speth
de80f06887 [Input] Parse YAML entries for elementary reactions 2019-06-25 22:30:59 -04:00
Evan McCorkle
713b9cc23c Wrapped common uses of boost string algorithms.
- Limits propagation of boost header and namespace.
2017-10-25 09:30:22 -04:00
Steven DeCaluwe
04be9888ed Update importKinetics to identify unspecified electrochemical reactions
Add test coverage for beta default value for electrochem reactions
2017-07-06 18:14:09 -04:00
Steven DeCaluwe
51f419fbad Enabling charge-transfer/electrochemical surface reactions
The previous formulation will only consider a rection as electrochemical
if a beta value is supplied for that reaction *and* the reaction is an
'edge_reaction.'  This is problematic for two reasons: (1) many/most
charge-transfer reactions of interest occur at two-phase boundaries (see,
for example, Li-ion batteries and PEM fuel cells), not the three-phase-
boundary-like edges (which are most relevant for SOFCs).  (2) determining
whether a reaction is electrochemical or not should not rely at all upon
user input - the program itself should check to see whether charge is
transferred between phases, and the appropriate steps should be taken
during rate-of-progress calcuations.

This commit addresses the former issue.  Currently, if a charge-transfer
reaction is written as a surface_reaction, the code does not apply the
voltage correction to the forward rate.  By default, then, the entire
voltage correction is applied to the reverse reaction, which is the same
as setting beta = 0; not a good 'default' behavior (beta = 0.5 is a more
appropriate default).  With this change, surface reactions can now be
supplied with a beta value in cti or xml formats, and will be recognized
as a charge transfer reaction.

Longer term, it would be better to change the constructor routines such
that charge transfer is automatically detected and handled, rather than
relying upon user-specified flags.
2017-02-25 19:13:38 -05:00
Ray Speth
a01032cd2d Resolve some compiler warnings 2016-11-02 18:36:50 -04:00
Ray Speth
7a24dc3817 Replace lowercase with boost string algorithms 2016-10-28 18:20:11 -04:00
Ray Speth
ae6e7fdff7 Add license/copyright info to files that were missing it 2016-10-10 22:48:23 -04:00
Ray Speth
e851e5e9d8 [Kinetics] Fix initialization of use_motz_wise_correction 2016-07-29 15:05:52 -04:00
Ray Speth
1e5eb8c871 [Kinetics] Add option for Motz & Wise correction to sticking reactions 2016-07-28 18:38:40 -04:00
Ray Speth
60efb22b87 [Kinetics] Always initialize FalloffReaction.falloff
Fixes #326
2016-03-23 11:42:32 -04:00
imitrichev
7e71645efb [CTI/CTML] Add 'nonreactant_orders' option to allow non-reactant orders
The flag 'allow_nonreactant_orders' in class Reaction is set to 'true' when
using this option in cti/ctml.

Resolves #317
Resolves #321
2016-02-27 14:10:35 -05:00
Ray Speth
90b0ee152b Fix compilation with GCC 4.6 and 4.7
The standard libraries for these versions of GCC do not have 'emplace'
methods for associative containers.
2015-10-17 18:58:50 -04:00
Ray Speth
91d3002df1 Make use of "make_shared" where possible 2015-10-17 18:58:50 -04:00
Ray Speth
a03f370cfd Make use of emplace and emplace_back methods 2015-10-14 18:45:23 -04:00
Ray Speth
3f6d8b0aca Use cppformat instead of int2str and fp2str 2015-10-14 18:45:23 -04:00
Ray Speth
2589a27b6c Use range-based for and auto to simplify some loops 2015-10-14 18:45:23 -04:00
Ray Speth
e4c45b6429 General whitespace cleanup
Remove unnecessary blank lines and trailing whitespace. Replace tabs with
spaces.
2015-08-02 23:06:15 -04:00
Ray Speth
5214672ab3 Merge namespace ctml with namespace Cantera 2015-05-27 18:09:07 -04:00
Ray Speth
b84c1e5685 Remove unused fields of ElectroChemicalReaction 2015-05-24 18:23:23 -04:00
Ray Speth
ba9c9c768f [Kinetics] Use the name 'ThreeBodyReaction' consistently 2015-05-11 16:35:46 -04:00
Ray Speth
7a21855574 [Kinetics] Switch parameter order in ChebyshevRate constructor
The usual order of arguments is temperature then pressure.
2015-04-30 22:34:25 -04:00
Ray Speth
c994917bae [Kinetics] Add functions for creating Reaction objects from CTI/XML 2015-04-28 17:13:11 -04:00
Ray Speth
550caaca9e [Kinetics] Fix setupInterfaceReaction to parse coverage dependencies 2015-04-26 11:41:01 -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
4e99746457 [Kinetics] Allow explicit specification of the sticking species 2014-11-15 19:26:37 +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
82fbff7a05 [Kinetics] Validate rate coefficient data for Reaction objects 2014-11-15 00:47:09 +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
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
c0944f1700 [Kinetics] Basic implementation of class Reaction and descendants 2014-11-11 00:11:17 +00:00