Commit graph

5975 commits

Author SHA1 Message Date
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
80b8cd7e2b [1D] Remove Bdry1D::m_nv which shadowed Domain1D::m_nv 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
9f3821db82 [1D] Use most prevalent species to impose sum-of-mass-fractions constraint
Previously, the first species was always used, which could cause problems with
negative mass fractions in cases where the first species has a mass fraction
near zero.
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
b99ba44f13 Fix SurfPhase::setCoveragesNoNorm to retain negative coverages
This prevents Jacobian singularities due to (trivial) negative coverages,
e.g. in ReactingSurf1D.
2016-03-27 17:07:36 -04:00
Ray Speth
af5bbf74a4 [1D] Improve Jacobian evaluation for ReactingSurf1D
Don't normalize coverages when evaluating the residual normally -- only as part
of recovering from a failed timestep, like what is done in StFlow.
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
Ray Speth
87a8419380 [1D] Provide reasonable initial grid for BurnerFlame 2016-03-27 17:07:36 -04:00
Ray Speth
1f3e8dd0d7 [1D] Raise exception if previous solution does not exist 2016-03-27 17:07:36 -04:00
Ray Speth
7ba668109e [1D] Increase default value for maximum timestep
This accelerates convergence of the solver in some cases.
2016-03-27 17:07:36 -04:00
Ray Speth
81074b2b4a [1D] Add function for restoring last successful steady-state solution 2016-03-27 17:07:36 -04:00
Ray Speth
29b704916c [1D] Set limit on number of timesteps without reaching steady state 2016-03-27 17:07:36 -04:00
Ray Speth
532e132788 [1D] Add accessors for solver statistics
Previously, this information was only available in the text output of the
'showStats' function.
2016-03-27 17:07:35 -04:00
Ray Speth
11b665b00a [1D] Keep track of number of time steps taken before each steady-state solve 2016-03-27 17:07:35 -04:00
Ray Speth
2d82c78c37 [1D] Retain negative species when retrieving solution state
This can be useful when debugging issues with the 1D solver.
2016-03-27 17:07:35 -04:00
Ray Speth
318fa04cf7 [1D] Reset negative species concentrations after a failed time step 2016-03-27 17:07:35 -04:00
Ray Speth
22537b9493 [1D] Use fixed point temperature closer to unburned gas temperature
This improves convergence in cases where the domain is too short to achieve full
oxidation and the maximum temperature within the domain is significantly lower
than the flame temperature computed from equilibrium.
2016-03-25 12:21:19 -04:00
Ray Speth
5a08cf043f [1D] Make FreeFlame mdot guess pressure dependent
This gives a better guess for both high and low pressure flames, since velocity
is roughly constant while mass flux can vary by orders of magnitude.
2016-03-25 12:21:19 -04:00
Ray Speth
832ee88692 [1D] Add ability to access last successful timestepped solution
This can be helpful when debugging 1D solver failures.
2016-03-25 12:21:19 -04:00
Ray Speth
5a576a7c75 [1D] Tighten default negative species bounds 2016-03-25 12:21:19 -04:00
Ray Speth
011c9cb6c3 [1D] Improve finite-difference Jacobian
Preserve the sign of elements of the solution vector when perturbing them in
order to avoid triggering discontinuous behavior as the cross zero (which is
caused by the way rate evaluation is handled for negative species
concentrations).
2016-03-25 12:21:19 -04:00
Ray Speth
d76704912b [1D] Fix transient mask after Jacobian update
The transient mask should only be zeroed when doing a full evaluation of the
residual function, since the partial evaluations done while evaluating the
Jacobian will not fill in all elements of the mask. This error was causing
Jacobian update in MultiNewton::solve to always effectively generate the
steady-state Jacobian, even when in time-stepping mode.
2016-03-25 12:21:19 -04:00
Ray Speth
73246130fa [1D] Fix docstrings for OneDim::eval and StFlow::eval 2016-03-25 12:21:19 -04:00
Ray Speth
d20ab891e8 [1D] add function for getting info about a solution component 2016-03-25 12:21:19 -04:00
Ray Speth
39a6819bf3 [1D] Only reset Jacobian age after successful *steady-state* solve 2016-03-25 12:21:19 -04:00
Ray Speth
f0a1e25cd9 [1D] Better initial grid for CounterflowPremixedFlame 2016-03-25 12:21:19 -04:00
Ray Speth
a9293c3168 [1D] Use nonzero initial guess for FreeFlame mass flow rate
This helps avoids timestepping errors in the first timestep
2016-03-25 12:21:19 -04:00
Ray Speth
de8348ecb2 [1D] Use a better default initial grid for FreeFlame
This initial grid is designed to work well with how the initial profile and
temperature fixed point are set. The only parameter that needs to be
user-specified is the width of the domain.
2016-03-25 12:21:19 -04:00
Ray Speth
7484827f2b [1D] Modify fixed temperature selection to keep grid more uniform
The previous method for setting the fixed temperature point could add a point
very close to an existing grid point, which could then make convergence on the
initial grid difficult.
2016-03-25 12:21:19 -04:00
Ray Speth
ac246a2f97 [Doc] Argument for Falloff parameters is 'params' not 'coeffs'
Resolves #327
2016-03-23 11:52:04 -04:00
Ray Speth
60efb22b87 [Kinetics] Always initialize FalloffReaction.falloff
Fixes #326
2016-03-23 11:42:32 -04:00
imitrichev
a175c72f2c Add compilation guidelines for Fedora, and other notes
Other notes include packages required for python3 module and packages
required to use prebuilt system blas and lapack.
Cantera installation was tested to be successful on Fedora 20 and Fedora 22.

Resolves #324
2016-03-06 19:19:29 -05:00
imitrichev
8b3557ee4d Clarified surface coverage modification equation
Now it is shown it is identical to equation from Sphinx cti
module docs (eq. also used in Surface CHEMKIN)

Resolves #322
2016-03-06 19:11:16 -05:00
imitrichev
a68cdecd94 [Test] Add test for specifying non-reactant orders in CTI files 2016-02-27 14:14:51 -05: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
f0e6d090dc [Fortran] Fix for multiple definitions of '_xml' function
This was causing linker errors when trying to link with the Fortran library.
2016-02-24 18:59:23 -05:00
pwcnorthrop
1183479f88 Add RedlichKister tests and sample case for LiC6 electrode
See #293
2016-02-17 23:34:36 -05:00
pwcnorthrop
125d2e0e23 Add RedlichKisterVPSSTP::s_update_dlnActCoeff_dlnX_diag()
Fixes bug in RedlichKisterVPSSTP::getlnActCoeffdlnX_diag() which would always return 0

Resolves #293
2016-02-17 23:34:36 -05:00
Bryan W. Weber
db769a47c7 Bump in-progress version to 2.3.0a2 2016-02-06 07:44:10 -05:00
Bryan W. Weber
5b483a8c22 The cantera_version should not be an option 2016-02-06 07:44:10 -05:00
Bryan W. Weber
58551b4813 [Doc] Cantera supports Python 3.5 2016-02-06 07:44:09 -05:00
Bryan W. Weber
848650f4fb [Doc] Fix copyright year 2016-02-06 07:44:09 -05:00
Ray Speth
b55c8fe813 Replace overly-specific exception types with CanteraError
Deprecate exception types which are now unused.
2016-02-04 19:34:26 -05:00
Ray Speth
f44b5fed57 Replace usage of int2str with cppformat and deprecate int2str 2016-02-04 19:11:49 -05:00
Ray Speth
f91afda8cb Replace usage of fp2str with cppformat and deprecate fp2str 2016-02-04 19:11:45 -05:00
Ray Speth
b0230fb146 Modify BandMatrix to avoid unnecessary casts from size_t to int 2016-02-04 14:45:36 -05:00
Ray Speth
9a8d24463d [Test] Add tests for class BandMatrix 2016-02-04 14:45:36 -05:00
Ray Speth
4c58f11dd8 Improve use of local variables in src/base 2016-02-04 14:45:36 -05:00