Commit graph

888 commits

Author SHA1 Message Date
Ray Speth
bde6e05452 [ck2cti] Detect badly formatted values of 4th Troe coefficient
Fixes #499
2018-02-07 22:58:50 -05:00
Ray Speth
70016b97b3 [ck2cti] Suppress some output from error messages when quiet=True 2018-02-07 22:08:36 -05:00
Ray Speth
f47e98a594 [ck2cti] Fix over-zealous detection of new input file sections
Species names starting with the short form of input file section names
(e.g. 'tran') were incorrectly identified as indicating the start of that
section if they occurred at the start of a line.
2018-02-07 21:27:21 -05:00
Ray Speth
987a247bd0 [Matlab] Replace calls to removed 'z' method with 'gridPoints' 2018-01-24 16:31:52 -05:00
arghdos
411be3e6cf make ck2cti more deterministic in its output (#497) 2018-01-24 10:23:20 -05:00
Ray Speth
4affcd1efb [ck2cti] Add line number to more transport error messages 2018-01-19 11:50:55 -05:00
Ray Speth
552ba97a2b [ck2cti] Always write surface reactions to CTI file
Surface reactions were not being written to the CTI file if there were no
gas-phase reactions present.

Also update the count of reactions printed in the output summary to include
surface reactions.
2018-01-19 10:34:24 -05:00
Ray Speth
831b92dac4 [Doc/Kinetics] Clarify values returned by getFwdRateConstants 2018-01-06 21:27:42 -05:00
Ray Speth
24940aeef7 [1D] Fix occasional test failures with IonFlame 2018-01-06 21:27:42 -05:00
Ray Speth
67aa9eb4e3 [Test] Update SOFC test tolerances
This test was failing on some OS/compiler combinations
2018-01-06 21:27:42 -05:00
Ray Speth
7eb4eaa13a [Python/1D] Detect blowoff of burner-stabilized flames
For burner-stabilized flames under blowoff conditions (laminar flame speed less
than burner velocity), the solver can get stuck regridding indefinitely due to
the dependence of the calculated flame speed on the grid spacing (where the
calculated flame speed is artificially high when the grid is coarse).

To obtain solutions more quickly in this case, we check to see if the flame has
moved off of the burner surface (i.e. zero temperature gradient at the burner)
and if so, jump ahead to the non-reacting solution throughout the domain.

Fixes #386
2018-01-06 21:26:53 -05:00
Ray Speth
dfd4b7e671 [Python/1D] Automatically increase domain width for free flame
If the domain is narrow with respect to the flame width, there can be
significant temperature gradients at the boundary, which lead to either
incorrect flame speeds or solver failures.

When the 'auto' option to FreeFlame.solve is specified, the solver will now
check the gradients at the ends of the domain after each steady-state solve and
increase the width if necessary.

Fixes #385
2018-01-06 21:26:53 -05:00
Ray Speth
7a314d3124 [Python/1D] Callbacks can be disabled by setting to None 2018-01-06 21:26:53 -05:00
Ray Speth
4b352751f5 [Python/1D] Make callbacks accessible outside Cython 2018-01-06 21:26:53 -05:00
Ray Speth
deeaaed03f [Reactor] Fix using pure substances near temperature limits
Fixes #475
2017-12-02 19:19:51 -05:00
Ray Speth
2ac8a0ef08 [Thermo] Use min/max temperatures from equation of state
The values in the liquidvapor.cti should be ignored, since this thermo data is
not actually applicable -- it is just used to set the reference state.
2017-12-02 19:19:51 -05:00
Ray Speth
501b5fd1f5 [test/ck2cti] Add tests for negative reaction orders 2017-12-02 19:18:59 -05:00
Ray Speth
4771874c75 [ck2cti] Allowing negative reaction orders requires '--permissive' option 2017-12-02 19:18:59 -05:00
Jeff Santner
8f02c777a5 [ck2cti] Allow negative reaction orders, with warning 2017-12-02 19:18:59 -05:00
Ray Speth
0d01d031a9 [Examples] Prevent spurious empty figures in IC engine example 2017-12-02 17:41:05 -05:00
Ray Speth
6f564e6101 [Examples] Fix error in IC Engine example CO calculation 2017-12-02 17:35:25 -05:00
Bryan W. Weber
2f03a1e531 Reformat postInstallMessage code to be easier to read in SConstruct 2017-11-26 16:48:40 -05:00
Bryan W. Weber
26216e9adc Fix 3to2 conversion of NonIdealShockTube example
The triple quoted strings made 3to2 think that was the module docstring,
so it was putting __future__ imports in the wrong places
2017-11-26 16:48:40 -05:00
Bryan W. Weber
77ee76c5f3 Simplify checking for 3to2
Switch to importing the lib3to2 as a check, which is platform agnostic
and doesn't depend on how 3to2 was installed. Also, take advantage of
the fact that the 3to2 converter recurses by default to avoid spawning
a bunch of subprocesses. Finally, don't depend on the location of the
3to2 script and just use the library directly to do the conversion.
2017-11-26 16:48:40 -05:00
Bryan W. Weber
94ea9b585f Update SConstruct to recognize that Python 3 might be running SCons
Update and make more consistent the specification of Python package
building. Since SCons can be run by Python 3 now, we cannot assume that
the Python running SCons is Python 2. This changes a bunch of
assumptions in SConstruct about where things should be built or
installed. This commit addresses those assumptions by making the options
for Python 2 and Python 3 symmetric.
2017-11-26 16:48:40 -05:00
Bryan W. Weber
136c86636e Make the minimal Python interface compatible with Python 3
Use relative imports in the package, compatible with Python 2 and 3
2017-11-26 16:48:40 -05:00
Ray Speth
0c0a38d4fe Make ctml_writer more tolerant of files with non-ascii characters
This is an issue specifically when using Python 3 to run ctml_writer
2017-10-05 13:48:54 -04:00
bangshiuh
a99004d8ef add docstring and fix evalResidual 2017-09-22 18:47:18 -04:00
bangshiuh
1be8374342 [1D] delete unnecessary constrain and improve the code structure 2017-09-22 18:47:18 -04:00
Ray Speth
e78aac7b70 [Examples] Clean up NonIdealShockTube example
Eliminate pandas dependency and simplify some Matplotlib usage
2017-09-18 20:26:11 -04:00
Steven DeCaluwe
2a601c148f [Examples] Add NonIdealShockTube
Import NonIdealShockTube example from Jupyter notebook

Clean up some of the code in the aforementioned file, adding better/more
descriptive commenting, add additional analysis to compare ideal gas and real
gas implementations of the n-dodecane mechanism, and add documentation for RK
constant calculation
2017-09-18 20:26:11 -04:00
g3bk47
acbd65d192 Add test for set_equivalence_ratio with sulfur 2017-09-13 10:42:34 -04:00
g3bk47
48eaedbbb4 Modify set_equivalence_ratio to support sulfur combustion
Modify set_equivalence_ratio to support sulfur combustion
2017-09-13 10:42:34 -04:00
Ray Speth
89bca5fcd1 [ck2cti] Convert surface species with specific site occupancies
Entries in the species list like "C3H6(S)/2/" are now correctly identified as a
species named "C3H6(S)" which occupies 2 surface sites.

Fixes #444
2017-08-22 00:29:35 -04:00
Ray Speth
9c3b500ec8 [ck2cti] Provide better line number in reaction-related error messages 2017-08-22 00:10:19 -04:00
Ray Speth
4b5a37a336 [ck2cti] Improve error message when failing to parse a reaction
Show the original reaction expression rather than the one where all
recognized tokens have already been replaced.
2017-08-22 00:06:22 -04:00
Ray Speth
08726b0904 [Test/Equil] Make some tests specific to the VCS solver
These tests are expected to succeed with the VCS solver. Errors that occur in
these tests should be reported as such, rather than ending up with the unrelated
errors that would be expected from the "gibbs" solver.
2017-08-21 21:29:09 -04:00
Bryan W. Weber
c88ddce0d6 [Test/1D] Test getRefineCriteria 2017-08-09 18:46:47 -04:00
Bryan W. Weber
4b44c66182 [1D/Cython] Adds Python interface to getRefineCriteria 2017-08-09 18:46:47 -04:00
Ray Speth
8a4142d4bc [Python] Raise exception when setting composition with empty array 2017-08-07 15:39:13 -04:00
Ray Speth
4c489c175d [Kinetics] Fix duplicate reaction check to handle unchanged species 2017-08-02 16:46:24 -04:00
Ray Speth
8d953a9424 [Python] Make Python module compatible with Cython 0.26
Cython 0.26 unexpectedly removed automatic conversions of C++ containers to
Python containers. Explicit casting provides the old behavior.

Fixes #465
2017-07-30 14:28:18 -04:00
Ray Speth
6bfd82e0be [Thermo] Remove unused "vacancy species" from LatticePhase 2017-07-17 23:41:44 -04:00
Ray Speth
a5b0bdf695 [Python] Make activity coefficients and activities accessible 2017-07-17 23:41:44 -04:00
Ray Speth
44b24ca873 [ctml_writer] Fix handling of third body names containing parentheses
Replace the heuristic used to remove the third body terms from the
reactant and product lists to handle species names that include
parentheses.
2017-07-12 09:16:24 -04:00
Ray Speth
6d591b82ef [ck2cti] Fix reactions with pathologically named third bodies
This changes the order in which tokens are identified to be strictly
descending in length, so that third bodies are identified correctly
even when the third body expression could potentially be interpreted
as containing a standalone species name.
2017-07-12 09:16:24 -04:00
Richard West
55a8910686 A failing unit test for chemkin files with weird names in PDep rates.
Reactions of the type
 A (+B) <=> C (+B)
ought to work, as long as they are provided a pressure-dependent rate
expression. This commit adds three examples to the test file. The first
works OK, the second two cause problems.

(For what it's worth, this currently crashes the official chemkin.
 Or at least the parentheses do; I've not tested the plus.
 Ansys have created a defect record and say they will fix the issue.)
2017-07-12 09:16:24 -04:00
Bryan W. Weber
35ac1acfa8 Clarify Valve coefficient vs function 2017-07-11 18:26:55 -04:00
Bryan W. Weber
fec6c34ed8 Remove more references to importPhase in Matlab docs 2017-07-11 18:26:55 -04:00
Bryan W. Weber
05809bb027 Fix small typos in docs 2017-07-11 18:26:55 -04:00