Commit graph

1016 commits

Author SHA1 Message Date
Kyle Niemeyer
6852087ff5 Fixed typo in ctml_writer.py
"explcit" -> "explicit"
2019-08-01 15:56:45 -04:00
band-a-prend
582eb42b2f cantera: Fix passing 'python_prefix' variable into installation path
The '${python_prefix}' substring for installation prefix path
was accepted as mapping key for '.format()' function resulting in
a 'KeyError' failure of 'cantera/interfaces/cython/SConscript' script
in case of `env[libdirname] == 'lib64'`.

Moreover the early applied pull request[1] didn't take into account
the additional setting of installation prefix path in the cases
when 'libdirname' takes values different from 'lib64'.

This patch resolves both those issues.

[1]: https://github.com/Cantera/cantera/pull/661
2019-08-01 15:53:20 -04:00
Ingmar Schoegl
d263566670 [Reactor] Deprecating magic numbers.
* add deprecation warning for int ReactorBase::type() (to be changed after Cantera 2.5)
 * introduce temporary std::string ReactorBase::typeStr() (to be renamed after Cantera 2.5)
 * deprecate all functions using the old call and introduce associated temporary functions
2019-08-01 15:37:48 -04:00
Bryan W. Weber
5f08b362aa
[CTI/YAML] Check convert arguments in cti2yaml
Check that one, and only one, of the filename/text arguments are
specified.
2019-06-29 17:02:41 -04:00
Bryan W. Weber
27438751ce
[CTI/YAML] Change cti2yaml to use pathlib
cti2yaml converts input and output file names to pathlib.Path objects.
This makes it easier to manage paths for test data files
2019-06-29 17:02:41 -04:00
Bryan W. Weber
8d57424188
[Test] Write converted test files to the work dir
The previous behavior was to write the test files to the current working
directory
2019-06-29 17:02:41 -04:00
Bryan W. Weber
2e54811549
[Test] Remove relative directory for data files
The relative directory wasn't the same for the installed Cython
interface
2019-06-29 17:02:41 -04:00
Bryan W. Weber
a4ad2f5d66
[Cython/Test] Install test subdirs in Cython interface
The tests now include subdirectories with data files, so those should be
installed with the rest of the data files
2019-06-29 17:02:41 -04:00
Ray Speth
c840142bff Bump version to 2.5.0a3 2019-06-27 18:29:21 -04:00
Steven DeCaluwe
2d2004da7e Exposing getDeltaEnthalpies to Matlab interface.
The general intent here was to enable calculating reaction enthalpies in the
Matlab toolbox, as part of the li-ion battery simulations in PR #563.

This required several changes:

- Create getDeltaEnthalpies.m in Matlab toolbox/@Kinetics, as well as similar
methods for Gibbs free energy and entropy of reaction
- Add kin_getDelta to kineticsmethods.cpp.
- Add getPartialMolarEnthalpies to metalPhase class (it returns all zeros).

Note that similar methods are not enabled for the corresponding
'Standard State' methods, for the time being.  Mainly because it is
difficult for me to envision a significant use case, but also because of
some lingering confusion between 'standard' and 'reference' states in
Cantera's codebase.
2019-06-27 18:03:07 -04:00
Ray Speth
a247d0f4eb [Reactor] Use correct phase state after mass flow rate evaluation
A user-defined mass flow rate function can modify the ThermoPhase object used by
a reactor, for example if it depends on calculating some property of a different
reactor. To make sure that the reactor governing equations are evaluated
correctly, the ThermoPhase state needs to be set after all user-defined
functions have been called.
2019-06-27 10:47:05 -04:00
Ray Speth
edcc9c59fd [Input] Fix CTI to YAML conversion of phases with no elements 2019-06-26 20:20:23 -04:00
Ingmar Schoegl
ae792dde00 implemented limited advance step 2019-06-26 13:48:01 -04:00
Ray Speth
dced8fbcad [Test] Make testing of deprecated methods possible
Fatal deprecation warnings are useful for identifying inadvertent use of
deprecated features. However, we still want to retain tests of deprecated
features until those features are removed.
2019-06-25 22:30:59 -04:00
Ray Speth
2e8b860ccd [Input] Check for reactions with multiple sets of parameters 2019-06-25 22:30:59 -04:00
Ray Speth
d705ff760a [Input] Fix Species.listFromYaml when reading from a subsection 2019-06-25 22:30:59 -04:00
Ray Speth
165f11dfca [Input] Add information about conversion to generated YAML input files 2019-06-25 22:30:59 -04:00
Ray Speth
a7aa6e721a Create YAML versions of input files as part of build process 2019-06-25 22:30:59 -04:00
Ray Speth
baacc563b8 [Input] Add cti2yaml for converting CTI files to the new YAML format 2019-06-25 22:30:59 -04:00
Ray Speth
69371e5751 [Python] Implement Reaction constructors from YAML files/strings 2019-06-25 22:30:59 -04:00
Ray Speth
8037497dd3 [Python] Implement Species constructors from YAML files/strings 2019-06-25 22:30:59 -04:00
Ray Speth
891a4e74d3 Make YAML generated by ck2yaml prettier 2019-06-25 22:30:59 -04:00
Ray Speth
672b55a72f Add AnyValue::getMapWhere function 2019-06-25 22:30:59 -04:00
Ray Speth
901ec2f12c [Matlab] Construct objects directly from input file names
Bypass reading and manipulation of XML files within Matlab, so that XML, CTI,
and YAML input files can all be used.
2019-06-25 22:30:59 -04:00
Ray Speth
fd088889cd [Transport] Add tests based on YAML input files 2019-06-25 22:30:59 -04:00
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
fdfbc58a1e [Input] Search current directory for referenced YAML input files 2019-06-25 22:30:59 -04:00
Ray Speth
59b0f64e26 [Python] Add ability to instantiate objects from YAML files 2019-06-25 22:30:59 -04:00
Ray Speth
8a0eed3be5 [Python] Use shared_ptr for C++ objects owned by Solution 2019-06-25 22:30:59 -04:00
Ray Speth
be4d9cbc55 [Input] Add ck2yaml script for converting Chemkin files to YAML 2019-06-25 22:30:59 -04:00
Ray Speth
f4d45f8a85 Create a complete ThermoPhase object from a YAML input file 2019-06-25 22:30:59 -04:00
Steven DeCaluwe
ba8ac1d519 Mark ConstDensityThermo for deprecation.
The thermophase ConstDensityThermo instantiates a class with
constant density_mass  Such a model is of dubious physical
validity/applicability and has minimal foreseeable use cases.
This commit marks it for deprecation, and adds a message in
ctml_writer.py (where the model has the misleading alias
'incompressible_solid') refering the interested user to consider
appropriate alternate thermophase classes 'lattice' or
'IdealSolidSoln.'
2019-06-12 17:54:48 -04:00
Steven DeCaluwe
fb3dee36c5 Removing references to incompressible_solid in sofc.cti
Removes references to incompressible_solid phase in the codebase.
This phase type references ConstDensityThermo phase, which is a
non-physical model and is to be deprecated, with Cantera 2.5. In
order to enable deprecation, the following changes are hereby made:

- Changes oxide_bulk phase type from incompressible_solid to lattice in sofc.cti
- Changes test_convert.py so that it interrogates the density_mole of the bulk_oxide, rather than density_mass
2019-06-12 17:54:48 -04:00
Steven DeCaluwe
813d5064ae Enabling Lattice thermo phase via cti interface. 2019-06-12 17:54:48 -04:00
Steven DeCaluwe
0ed2b38594 Adding faradayconstant.m to Matlab toolbox 2019-06-08 17:33:30 -04:00
Ingmar Schoegl
5d62f3bacc added factories for FlowDevice and Wall objects 2019-05-28 19:21:28 -04:00
Ingmar Schoegl
751afa3c2b addresses issue #615 2019-05-09 22:21:35 -04:00
Nick
848a3bf0e3 Add InterfaceKinetics.advance_coverages integrator options to the cython interface, and test 2019-04-10 22:14:27 -04:00
Ray Speth
968dc24925 [Python] Fix compatibility with Cython < 0.27
After setting the "language_level" directive (6c0866ef), nested comprehension
expressions erroneously triggered an error message from the Cython compiler
saying "local variable 's' referenced before assignment". While the problem has
been fixed in Cython 0.27 and newer, this commit restores compatibility with
older Cython versions as well.
2019-03-14 14:03:51 -04:00
Bryan W. Weber
6c0866efb8 Add Cython language_level directive to _cantera.pyx
This fixes the warnings generated by recent versions of Cython that
the language_level will be changed in the future. By setting this
directive, all the code in the .pyx files should be written in
Python 3 syntax. This required several changes to the import
syntax in the files to fix relative vs. absolute imports
2019-03-11 17:00:13 -04:00
Ray Speth
1f70f7751c Move sofc.cti from examples to main data directory 2019-03-05 16:09:55 -05:00
Ray Speth
ec7f779434 [Input] Include more significant digits for Redlich-Kwong coefficients
ctml_writer was severely truncating Redlich-Kwong coefficients when converting
from CTI to XML formats, keeping only 5 significant digints in the "a"
coefficients and two decimal digits in the "b" coefficients, which is less than
what is used even in the example CTI files. The use of the "%f" format also
meant that the precision depended on input units.
2019-03-05 16:09:55 -05:00
Ray Speth
5601ee9067 [Python] Add 'kinetics_species_name' and 'kinetics_species_names' 2019-03-05 15:03:48 -05:00
Ray Speth
5ad656e342 [ck2cti] Fix Chebyshev rate constant when using local quantity units
Since the leading Chebyshev coefficient has effective units like
log(cm^3/kmol), it needs to be converted directly to the default units of
the CTI file.

Analogous to the fix for PLOG reactions in #435.
2019-02-28 22:37:38 -05:00
Ray Speth
540777c32b [ck2cti] Fix handling of reaction units settings not on last line
Fixes a regression introduced in d56b6205fa.
2019-02-25 11:06:12 -05:00
Ray Speth
50997a1651 [Python] Fix documentation of Reaction.listFromCti 2019-02-20 22:50:43 -05:00
Steven DeCaluwe
8169c26271 Updates to ctml_writer.py associated with BinarySolutionTabulatedThermo class.
-Removes option to read tabulated thermo from an external csv file (this is now
handled from within cti or xml).
-Renames `rateCoeff` keyword to the more appropriate `rate_coeff_type`, and fixing
keyword order so that this new keyword is listed last.
-Removes `else` statement from `if isinstance(self._standardState, standardState)
-Removes unused `_pure` attribute from `IdealSolidSolution` and
`BinarySolutionTabulatedThermo`
-Changes default on `tabulated_species` keyword to `None`.
-Removing superfluous `standardState:_build` from ctml_writer.py
- Removes unnecessary conc_dim() definition in `table` class.
- Removes unnecessary units defintion for mole fractions in `table` class.
- Improves grammar in error message for case when thermo table is
not provided for `tabulated_species`.
2019-02-20 21:39:22 -05:00
Steven DeCaluwe
366d1942ef Updating keyword order in ctml_writer.py species::__init__
The keyword `standardState` was added to species::__init__ in
ctml_writer.py.  This moves this keyword entry to the end of the
list of keywords, so that species instances of the class do not
need to reorder their keyword order.
2019-02-20 21:39:22 -05:00
Manik Mayur
224ef720e6 Add BinarySolutionTabulatedThermo class 2019-02-20 21:39:22 -05:00
Ray Speth
d04fd8cc39 [ck2cti] Show name of species with undefined elements in error message 2019-02-18 18:39:15 -05:00