Commit graph

5248 commits

Author SHA1 Message Date
Ray Speth
ceeaaecae7 [Test] fix some size_t warnings 2014-10-03 01:45:38 +00:00
Ray Speth
23921c7889 [Test] Run 'appdelete' at end of GTest tests
This makes it easier to find memory leaks when using Valgrind by suppressing
false positives associated with data cached by Cantera.
2014-10-01 17:52:28 +00:00
Ray Speth
ab4813c592 [Test] Fix memory leaks in CtiConversionTest and ChemkinConversionTest 2014-10-01 17:52:26 +00:00
Ray Speth
afe9ccb03e Remove unnecessary checks before deleting pointers 2014-10-01 17:52:23 +00:00
Ray Speth
1a5f75dd2d [Test] Use Cantera shared library for tests, when possible
On Linux systems, link tests against the Cantera shared library, rather than the
static library to reduce the size of the compiled test suite. This saves over 1
GB of disk space when compiling with debug symbols enabled, and also reduces the
run time of the test suite.

This does not work on Windows, where the shared library only exports the Cantera
C interface.
2014-10-01 17:52:21 +00:00
Ray Speth
4544fd3392 [Test] Build tests with optimization disabled
Compiling the tests takes longer than running them, so it actually saves time to
compile the tests with optimizations disabled.
2014-10-01 17:52:18 +00:00
Ray Speth
b0085eb58e [CTI] Check for correct number of coverage parameters
This detects errors such as providing two sets of coverage parameters as a
single list, rather than as a list with separate entries for each set of
coverage parameters.
2014-09-29 19:13:21 +00:00
Ray Speth
c0dc7bb922 [SCons] Setting 'msvc_version' implies 'toolchain=msvc' 2014-09-29 19:13:18 +00:00
Ray Speth
5c26f7b003 [Test] Preliminary tests for constructing a phase without an input file 2014-09-27 00:09:16 +00:00
Ray Speth
79461c34e8 [Thermo] Add default value for 'id' argument of 'newPhase' 2014-09-27 00:09:11 +00:00
Ray Speth
4baccc732c [Thermo] Simplify interface for adding elements to a Phase
Phase::addElements(string name, ...) is the single entry point for adding
elements. It always perform the uniqueness check, and can do the extra
additional work required to add elements to a phase that already has species,
removing the need for "freezing" the phase's elements. Parsing the XML tree for
elements is now handled in "installElements". The variant element-adding methods
are deprecated.
2014-09-27 00:09:05 +00:00
Ray Speth
473827a8a6 [Thermo] Check to make sure parameterizations are of the correct type 2014-09-27 00:09:02 +00:00
Ray Speth
1cb688150e [Thermo] Fix SpeciesThermoDuo to pass on the parameterization type 2014-09-27 00:08:59 +00:00
Ray Speth
a8f4c76097 [Thermo] Check to make sure thermo data is installed for all species 2014-09-27 00:08:54 +00:00
Ray Speth
89888e6697 [Thermo] Fix derived classes to always call parent's initThermo()
Remove unnecessary reimplementations that only called the parent's method.
2014-09-27 00:08:46 +00:00
Ray Speth
f46b61a740 Make "string&" arguments "const string&"
This way, these functions can accept constant strings, including string
literals.
2014-09-26 13:45:12 +00:00
Ray Speth
53102e8d70 [Test] Convert 'fracCoeff' test to GTest 2014-09-26 13:45:06 +00:00
Ray Speth
992782d1e2 [Test] Show test class and test name for failing GTest tests 2014-09-26 13:45:02 +00:00
Ray Speth
f3fc8f2ce2 [Thermo] Use findXMLPhase in initThermoFile
This allows many constructors which take a filename to work with CTI files
directly, and to make use of the parsed XML cache.
2014-09-26 13:44:57 +00:00
Ray Speth
337c573958 [Test] Move NASA9poly test to GTest test suite 2014-09-24 23:18:01 +00:00
Ray Speth
5ecdc1a4e1 [Equil] Deprecate VCS 'UseCanteraCalls' flag
When this flag is removed, the behavior will be as if the flag's value were
'true'.
2014-09-24 23:17:58 +00:00
Ray Speth
5298f703c3 [Doc] Add note about running 'scons install' as Administrator on Windows 2014-09-24 23:17:55 +00:00
Ray Speth
ca68fbc075 Rename Cabinet member variables to avoid using reserved identifiers
Names containing double underscores are reserved for the C++ implementation.
2014-09-24 23:17:50 +00:00
Ray Speth
de9928977c [ck2cti] Preserve mechanism header comment block 2014-09-24 23:17:47 +00:00
Ray Speth
a3bba51f06 [ck2cti] Preserve comments in the REACTIONS section 2014-09-24 23:17:44 +00:00
Ray Speth
21e9892909 [Transport] Fix handling of default value for acentric_factor
If acentric_factor isn't specified in the CTI, don't include it when generating
the XML.
2014-09-23 02:20:57 +00:00
Ray Speth
8b4c5336ba [Cython/Reactor] Add Reactor keyword argument 'volume' 2014-09-23 02:20:55 +00:00
Ray Speth
f14cd6d471 [Cython/Reactor] Raise exception for unrecognized keyword arguments 2014-09-23 02:20:53 +00:00
Ray Speth
ab6ae72e0d Add missing reaction to "h2o2" mechanism
This mechanism, which is supposed to be the H2 mechanism extracted from GRI-3.0,
was actually missing the reaction H+O2+M <-> HO2+M. This updates the original
input file, regenerates h2o2.cti, and updates the blessed output file for one
test (which changed because the newer version of ck2cti actually retains the
given precision of the transport properties).
2014-09-23 02:20:49 +00:00
Ray Speth
dd9bb68eaf [SCons] Clean up additional data files 2014-09-23 02:20:47 +00:00
Ray Speth
8bb65e4cee Add user-specified directories to the beginning of the search path
This way, users are able to override the defaults.
2014-09-23 02:20:45 +00:00
Ray Speth
83ae446142 Remove redundant copy of h2o2.xml 2014-09-23 02:20:43 +00:00
Ray Speth
8e7588671f [Cython/Reactor] Print messages from exceptions raised in Python callbacks
Unlike the normal case for CallbackError, where the error message is visible
when it is re-raised in Python, errors occuring during reactor network
integration aren't necessarily terminal, so they can't simply be re-raised after
returning to Python. But we still want to display the information they contain,
so we need to extract that information from the Python exception objects in the
what() function that is called by cvodes_rhs.
2014-09-23 02:20:41 +00:00
Ray Speth
eb468b6a48 [SCons] Fix setting 'python_module_loc' with minimal Python module 2014-09-18 22:59:05 +00:00
Ray Speth
606a18e951 [Cython/Thermo] Add mass/mole_fraction_dict methods
This complements the ability to set the composition using a dict when working
with phases with different sets of species.
2014-09-18 22:59:02 +00:00
Ray Speth
09db5a498a [Thermo] Add getMass/MoleFractionsByName functions with thresholds
This makes it easier to set the composition of a phase based on the composition
of another phase with a different set of species. The threshold argument allows
species with negligible concentrations to be skipped.

Deprecate the unused getMoleFractionsByName function that didn't return a
value.
2014-09-18 22:58:59 +00:00
Ray Speth
022c31fe49 [Doc] Add installation instructions for Ubuntu PPA 2014-09-17 16:02:34 +00:00
Ray Speth
459ff956c2 [MixMaster] Fix crash when using Tcl 8.6
Tcl/Tk changed some operations which previously resulted in undefined behavior
into errors, including one case that occurred when updating the "Mixtures" menu
in MixMaster.

MixMaster now modifies the existing Menu when adding an item, rather than
completely regenerating it, which avoids this problem.

Fixes Issue 235.
2014-09-15 18:05:04 +00:00
Ray Speth
1ea0122c15 [Transport] Check for invalid 'geometry' flags
For those cases where the number of atoms in a molecule precludes certain
geometries, check to make sure that that the geometry flag is set
appropriately.
2014-09-15 18:05:00 +00:00
Ray Speth
2fc09337c0 Deprecate XML_Node::operator() 2014-09-15 18:04:57 +00:00
Ray Speth
4081d41841 [1D] Change 'save' behavior to avoid endlessly appending solutions
Instead of changing the solution 'id' provided by the user to avoid
duplicates, replace the solution with the same id.
2014-09-15 18:04:54 +00:00
Ray Speth
2a69d99d83 [1D] Update thermo properties during Jacobian updates
In combination with the previous commit, this significantly improves the
convergence behavior of the solver when using multicomponent transport
properties. In many cases, the solver is now able to directly solve the
multicomponent problem directly from the mixture-averaged solution without any
timestepping.
2014-09-07 21:17:05 +00:00
Ray Speth
92f8fc4292 [1D] Change multicomponent diffusion calculation to improve convergence
Change the formulation of multicomponent diffusion fluxes to avoid using the
equivalent Fickian diffusion coefficient. That formulation leads to negative
diffusivities for some species at some grid points, which generate numerical
instabilities while timestepping. This formulation produces a more dense
Jacobian, but with a much better eigenvalue spectrum.
2014-09-07 21:17:03 +00:00
Ray Speth
a837dfdc6d [1D] Add 'clearStats' function for clearing accumulated solver stats 2014-09-07 21:17:00 +00:00
Ray Speth
959cbb7d7a Remove unimplemented method MultiPhaseEquil::printInfo 2014-09-07 21:16:57 +00:00
Ray Speth
38b5434fc4 [ck2cti] Expand paths containing '~' and '~user' 2014-09-07 21:16:54 +00:00
Ray Speth
8e0335e9b1 [ck2cti] Add line numbers for errors parsing transport data 2014-09-07 21:16:52 +00:00
Ray Speth
f4e277573d [Doc] Improve description of CTI format and CTI/CTML relationship 2014-09-07 21:16:49 +00:00
Ray Speth
e65539833d [ck2cti] Fix error message produced when the input file is unreadable 2014-09-07 21:16:46 +00:00
Harry Moffat
e0527bc899 Allowed interfacial reactions without metal phases to work within this class.
Fixed an error in getExchangeCurrentDensityFormulation().
2014-09-03 22:27:51 +00:00