Commit graph

716 commits

Author SHA1 Message Date
Ray Speth
e12738a5c4 [CTI/Doc] Species and element names must be separated by spaces
Documentation claimed commas could be used as well, but this did not actually
work.

Resolves #341.
2016-06-29 18:13:41 -04:00
Ray Speth
4b8f8b692a [Reactor] Deprecate Wall-based method for adding surface chemistry
The new method using class ReactorSurface should be used instead.
2016-06-28 14:37:59 -04:00
Ray Speth
a7aec575a9 [Matlab] Make ReactorSurface available in Matlab 2016-06-28 14:37:59 -04:00
Ray Speth
c3b9a0c821 [Python] Make ReactorSurface available from Python 2016-06-28 14:16:18 -04:00
Ray Speth
b88e2cb00d [Matlab] Deprecate constants.m 2016-06-27 14:16:48 -04:00
Ray Speth
ffeef2240a [Matlab] Deprecate Domain1D::z (duplicate of Domain1D::gridPoints) 2016-06-27 14:11:19 -04:00
Ray Speth
668634c969 [Thermo] Deprecate classes tpx::leekesler and tpx::RedlichKwong
These are implementations of tpx::Substance which cannot actually be
instantiated from within the PureFluidPhase wrapper class.

The broken implementation of a CTML class for redlich_kwong is removed here.

A functional implementation of the Redlich-Kwong equation of state remains in
class RedlichKwongMFTP.

Resolves #263
2016-06-26 20:31:48 -04:00
Ray Speth
36cff8e368 [CTML] Fix docstring of class liquid_vapor
See Issue #263
2016-06-26 20:30:22 -04:00
Ray Speth
5fbe2303ca [Python] Fix test suite to work with Python 3.2
The u'foo' syntax which can be used in Python 2.7 and 3.3+ does not work with
Python 3.2.
2016-06-24 17:15:14 -04:00
Ray Speth
c64b714386 [Reactor] Add flow-device-specific methods for setting coefficients 2016-06-23 11:53:20 -04:00
Ray Speth
7d18120c4d [ck2cti] Allow elements/isotopes with custom atomic weights
Resolves #344
2016-06-22 20:22:58 -04:00
Ray Speth
e100ef9a09 [Python] Fix exception handling when setting soret_enabled
The C++ exception is now correctly translated to a Python exception, instead of
causing the program to abort.
2016-05-31 18:55:07 -04:00
Ray Speth
efe43b389e [1D] Add callback hooks to make debugging 1D solver easier
This allows one to define functions in Python which will be called after each
successful time step or steady state solve, from which the state of the solver
can be inspected.
2016-05-14 17:24:16 -04:00
Ray Speth
828cca3c42 [1D] Simplify initial conditions for twin flame 2016-05-14 13:45:27 -04:00
Ray Speth
ed72984361 [Test/1D] Add test for twin flame 2016-05-14 13:06:45 -04:00
Santosh Shanbhogue
f699748d0e [1D/Python] Add a Twin Premixed Counterflow Flame class and example
Resolves #340
2016-05-14 11:48:53 -04:00
Ray Speth
8ff82c06ce [Reactor] Add componentName function to ReactorNet and Reactor classes 2016-05-09 22:42:45 -04:00
Ray Speth
3a129677df [Test/Reactor] Add test to calculate sensitivity of ignition delay
Compare result of calculating sensitivity by modifying Species object
with result using CVODES to integrate sensitivity equations
2016-05-09 13:24:54 -04:00
Ray Speth
cf13b318f4 [Reactor] Implement enthalpy of formation sensitivity analysis 2016-05-08 18:24:14 -04:00
Ray Speth
92e9e08097 [Test] Show largest error component in assertArrayNear 2016-04-29 22:11:17 -04:00
Ray Speth
a026c6ad8b [Thermo] Add compatibility check for phases added to MultiPhase
PureFluidPhase and WaterSSTP are not compatible with MultiPhase since they are
already multi-phase mixtures.

Resolves #306
2016-04-18 14:40:28 -04:00
Ray Speth
9c907af1b8 [Python] Add ThermoPhase.set_equivalence_ratio 2016-04-16 16:22:06 -04:00
Ray Speth
1f231d1dd0 [Kinetics] Eliminate need for 'finalize' method
All reaction-sized arrays are now allocated as reactions are added, which means
that the finalize() method is unnecessary and reactions can be continuously
added, even after the Kinetics object has been used for rate calculations.
2016-04-15 17:05:10 -04:00
Ray Speth
4428a62f3c [Thermo] Add ability to modify species data for existing Phase objects 2016-04-15 15:32:38 -04:00
Ray Speth
13fa0c7a4f Add invalidateCache() function to ThermoPhase and Kinetics
This can be used to invalidate cached data after a change to underlying data
such as species thermo coefficients or reaction rate coefficients. Needs to be
user-accessible so that dependent objects can be updated manually.
2016-04-15 15:32:38 -04:00
Ray Speth
7124385292 [Test] Make deprecation warnings fatal in test suites
This ensures that deprecated methods aren't being called anywhere in the test
suite, without having to manually scan the test output for warning messages.
2016-04-15 12:04:08 -04:00
Ray Speth
70824559ce [Test/Equil] Update tests to sometimes use VCS 'estimate_equil' option 2016-04-14 21:51:53 -04:00
Ray Speth
9e5362a762 [ck2cti] Add support for Chemkin-style extended elemental composition
Support for elemental composition written on additional lines indicated by
Fortran line-continuation character ('&').
2016-04-08 16:27:32 -04:00
Ray Speth
2bfbd73a12 [Python] Add Reaction.__contains__ method 2016-03-28 18:03:02 -04:00
Ray Speth
233399f899 [ck2cti] Fix conversion of NASA9 thermo with only one temperature range 2016-03-28 12:48:10 -04:00
Ray Speth
92ccda85fc [1D/Examples] Use 'auto' to simplify 1D examples 2016-03-27 17:07:37 -04:00
Ray Speth
2315da5230 [1D/Test] Add more tests for counterflow premixed flames 2016-03-27 17:07:37 -04:00
Ray Speth
dfb4d62e12 [1D/Test] Add test for ImpingingJet and ReactingSurface1D 2016-03-27 17:07:37 -04:00
Ray Speth
3e371c8093 [1D] Add tests for burner stabilized flames 2016-03-27 17:07:37 -04:00
Ray Speth
522d263979 [1D/Test] Test diffusion flames where non-extinct solutions are expected
Several of the tested sets of parameters are ones where the solver would
previously only find the non-reacting solution.
2016-03-27 17:07:36 -04:00
Ray Speth
1730036976 [1D/Test] Add more cases to test FreeFlame for basic convergence
The additional test cases are selected from conditions under which the solver
would previously fail
2016-03-27 17:07:36 -04:00
Ray Speth
77c744204e [1D] Try harder to find non-extinct diffusion flames when using 'auto'
Increasing the density of grid points is more likely to lead to a non-extinct
solution, but takes longer to solve. To give good average-case performance,
first try solving on a grid with few points, then increase the number of points
until a reacting solution is found, if possible.
2016-03-27 17:07:36 -04:00
Ray Speth
b56094b183 [1D/Examples] eliminate unnecessary setting of tolerances
For most problems, these new default tolerances for both time stepping and
steady state solves are more likely to converge than tighter tolerances, but
still give well-resolved results. Tighter tolerances are required in some cases,
e.g. when evaluating sensitivity coefficients by finite difference.
2016-03-27 17:07:36 -04:00
Ray Speth
059e657fe4 [1D/Examples] Use new default values for Jacobian and time stepping settings
These values were selected for optimal performance across a large set of flames
in each configuration and using mechanisms of various sizes to give good average
performance. It should not generally be necessary for users to change these
values.
2016-03-27 17:07:36 -04:00
Ray Speth
6c466f65fa [1D] Use better guess for CounterflowDiffusionFlame initial position
The new formula is based on a set of test flames where the density ratio of the
fuel and oxidizer streams was varied by changing temperature and fuel
composition and the flame position was calculated as the centroid of the H2O
mass fraction profile.
2016-03-27 17:07:36 -04:00
Ray Speth
5e35ca5486 [1D] Allow replacing flow domain grid after creating Sim1D
This makes it possible to try solving on a different grid if the initial
solution attempt fails without needing to recreate the Sim1D object.
2016-03-27 17:07:36 -04:00
Ray Speth
77e3775c08 [1D] Provide reasonable initial grid for ImpingingJet 2016-03-27 17:07:36 -04:00
Ray Speth
85c3bf5ba6 [1D] Improve initial guess for FreeFlame velocity profile
If mdot is not specified, use the estimated mdot value when providing
the initial guess for the velocity.
2016-03-27 17:07:36 -04:00
Ray Speth
d2793c07a1 [1D/Python] Introduce 'auto' option to Sim1D.solve
Specifying this option allows the user to automatically execute the efficient
sequence of solving on the initial grid, enabling the energy equation, refining,
tightening tolerances, and enabling multicomponent transport in a single call to
Sim1D.solve.
2016-03-27 17:07:36 -04:00
Ray Speth
7d14677db2 [1D] Add tests for setting and getting tolerances 2016-03-27 17:07:36 -04:00
Ray Speth
f13e2715bb [1D] Add accessor functions for steady and relative tolerances
The existing functions for getting tolerances are difficult to use because
they return the tolerances based on the steady/unsteady mode of the solver
which the user shouldn't have to care about (and can't easily set).
2016-03-27 17:07:36 -04:00
Ray Speth
809223f670 [1D/Python] Fix range of components used when settings species tolerances
Boundaries do not necessarily have species variables, so setting species
tolerances will now raise an exception. This approach also avoids making
the assumption that the index of the first species equation is 4 in flow
domains.
2016-03-27 17:07:36 -04:00
Ray Speth
c799edff90 [Python/1D] Fix error in setting tolerances for specific components
Keyword arguments other than 'default' and 'Y' could not previously be
specified.
2016-03-27 17:07:36 -04:00
Ray Speth
011a64aaa2 [Cython] Add wrapper for SurfPhase::setCoveragesNoNorm 2016-03-27 17:07:36 -04:00
Ray Speth
8e81292558 [1D] Provide reasonable default grid for CounterflowDiffusionFlame 2016-03-27 17:07:36 -04:00