Commit graph

1377 commits

Author SHA1 Message Date
Ray Speth
efb068e319 [Numerics] Modify polyfit to use Eigen instead of fortran/f2c code 2016-05-14 22:00:22 -04:00
Ray Speth
799695f0de Disable SquareMatrix LAPACK operations when LAPACK is not available
Because SquareMatrix is unused within Cantera and deprecated, it is not
necessary to implement alternatives for these functions.
2016-05-14 22:00:22 -04:00
Ray Speth
01d3679664 [Numerics] Deprecate matrix-type argument to GeneralMatrix 2016-05-14 22:00:22 -04:00
Ray Speth
f260e858c0 [Numerics] Deprecate class SquareMatrix 2016-05-14 22:00:22 -04:00
Ray Speth
a7d854f3b9 [Equil] Eliminate direct calls to LAPACK functions 2016-05-14 21:59:27 -04:00
Ray Speth
961ca06cd5 Eliminate the use of SquareMatrix in favor of DenseMatrix 2016-05-14 21:59:27 -04:00
Ray Speth
b49c2e4c2d [Numerics] Use Eigen instead of internal LAPACK for DenseMatrix operations 2016-05-14 21:56:17 -04:00
Ray Speth
41ae065a6e Use Sundials to solve BandMatrix instead of using internal LAPACK 2016-05-14 21:56:17 -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
920ff1d897 [Kinetics] Make better use of local variables 2016-05-12 16:33:33 -04:00
Ray Speth
fc33778451 Use correct value for gas constant
Even if it's just for part of an initial guess
2016-05-10 22:16:46 -04:00
Ray Speth
46684646ee [Thermo] DebyeHuckel::_nonpolarActCoeff is a static method
Definition now corresponds to documentation
2016-05-10 22:13:43 -04:00
Ray Speth
94be25ae97 Remove duplicate definitions of LTPerror and LTPmodelError 2016-05-10 22:10:49 -04:00
Ray Speth
812290dc37 [Thermo] Deprecate ThermoPhase::installSlavePhases
For the only class in which this is used (LatticeSolidPhase), all initialization
can be performed in the initThermo method.
2016-05-10 20:20:35 -04:00
Ray Speth
491816f706 [Thermo] Remove overload IdealSolidSolnPhase::logStandardConc 2016-05-10 18:33:41 -04:00
Ray Speth
8ff82c06ce [Reactor] Add componentName function to ReactorNet and Reactor classes 2016-05-09 22:42:45 -04:00
Ray Speth
cf13b318f4 [Reactor] Implement enthalpy of formation sensitivity analysis 2016-05-08 18:24:14 -04:00
Ray Speth
2561ab82e3 [Equil] Check index bounds for known problems in VCS_SOLVE
See #187
2016-05-03 15:03:52 -04:00
Ray Speth
aa5f26bda6 [Thermo] Check dynamic_cast to PDSS_Water
Resolves #6
2016-05-03 15:03:52 -04:00
Ray Speth
ca2a330d5f [XML] Include file name in XML-related errors
Resolves #40
2016-05-03 15:03:51 -04:00
Ray Speth
26b937651b [XML] Improve error message generated by XML_NoChild 2016-05-03 15:03:51 -04:00
Ray Speth
6003af01a3 [XML] Add version of XML_Node::build that takes file name directly 2016-05-03 15:03:51 -04:00
Ray Speth
c7a1a57fbd [Reactor] Eliminate re-ordering of sensitivity parameters
Passing the full parameter vector to evalEqs for each reactor and wall
eliminates the need to re-order the parameter vector. Instead, each reactor and
wall just needs to know the indices of its sensitivity parameters, which are now
returned by ReactorNet::registerSensitivityReaction.
2016-05-01 20:35:34 -04:00
Ray Speth
e13faa1071 [Base] Fix vec2str to actually use provided format string 2016-04-30 16:47:55 -04:00
Ray Speth
0e2ea0964b [Thermo] Add function 'resetHf298'
Using this instead of modifyHf298 to reset the thermo data to its original
state avoids round-off errors that otherwise make modifications to the
species thermo data irreversible.
2016-04-30 16:43:37 -04:00
Ray Speth
0f669153fb [Thermo] Remove unnecessary overrides of modifyOneHf298SS 2016-04-30 16:43:37 -04:00
Ray Speth
e454c51925 [Numerics] Show messages from std::exception in CVODES residual function 2016-04-28 22:01:26 -04:00
Ray Speth
cd77a94588 [Numerics] Fix memory leak in CVodesIntegrator
Memory allocated in CVodesIntegrator::sensInit was not being released.
2016-04-20 14:35:57 -04:00
Ray Speth
032bb9c363 [Reactor] Move sensitivity parameter vector into FuncEval
This eliminates the need for class FuncData, and makes it possible to
introduce sensitivity parameters which have a nominal values other than 1.0.
2016-04-19 16:08:52 -04:00
Ray Speth
51b0e46277 [Thermo] ThermoPhase::modifyOneHf298SS always invalidates cached data 2016-04-18 22:20:06 -04:00
Ray Speth
3566542c0b [Equil] Replace PropertyCalculator with simple lambdas 2016-04-18 20:29:02 -04:00
Ray Speth
f4ad150905 [1D] Sim1D::setProfile checks range of position array 2016-04-18 20:00:15 -04:00
Ray Speth
6a928b57f9 Replace getValue with std::map.at where possible
Deprecate the two-argument version of getValue, since the C++11 at method does
the same thing.
2016-04-18 19:34:40 -04:00
Ray Speth
6e3812a828 [Thermo] Remove unnecessary temporary work vectors 2016-04-18 17:52:08 -04:00
Ray Speth
9e9ae783f8 Don't use a vector where a scalar will suffice 2016-04-18 15:36:23 -04:00
Ray Speth
336271c395 [Doc] Clean up redundant "@return returns ..." 2016-04-18 14:58:15 -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
32b3543cbe [Thermo] Introduce Phase::compositionChanged
This function is called after any change in composition, and can be used by
phases to update quantities that are affected by the composition change, instead
of needing to overload all of the different functions which update the
composition.
2016-04-17 23:58:34 -04:00
Ray Speth
ac2361ee53 [Thermo] Deprecate IdealSolidSolnPhase::referenceConcentration 2016-04-17 22:49:28 -04:00
Ray Speth
994c9d1afb [CTML] Deprecate addInteger and CTML_Version 2016-04-16 23:55:51 -04:00
Ray Speth
56f49ef444 Miscellaneous jargon cleanup 2016-04-16 22:32:49 -04:00
Ray Speth
80fcc92129 [Thermo] Deprecated constructPhaseFile and constructPhaseXML methods
These methods were only defined for HMWSoln and IonsFromNeturalVPSSTP, and just
do the same thing as initThermoFile and importPhase (respectively).
2016-04-16 22:08:39 -04:00
Ray Speth
111b4909c9 [Thermo] Deprecate class SemiconductorPhase
Can't be constructed from ThermoFactory, and constructor from file is not
implemented. Also, the getChemPotentials method uses the m_work array, which is
never initialized because the private method initLengths() is never called.

See #267
2016-04-16 21:06:49 -04:00
Ray Speth
aa3780b094 [Thermo] Reference source of formula used in WaterPropsIAPWS::psat_est 2016-04-16 17:44:09 -04:00
Ray Speth
af19481b65 [Doc] Remove some incorrect copy/pasted docstrings 2016-04-16 17:26:49 -04:00
Ray Speth
1ba5f6b879 [Kinetics] Allow adding species after reactions for homogeneous kinetics
This enables incremental mechanism construction for gas phase kinetics. For
surface kinetics, adding new species changes the kinetics species index of
existing species in other phases, so this feature is disabled.
2016-04-16 11:52:08 -04:00
Ray Speth
9c4a0baa55 [Thermo] Simplify adding species for most phase types
Where possible, extend arrays as species are added rather than requiring a
later call to initThermo(). For phases that do not require any data except
that which is included in the Species objects themselves (notably, this
includes IdealGasPhase), species can now be added dynamically without
affecting the phase state.
2016-04-15 20:56:24 -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