Commit graph

85 commits

Author SHA1 Message Date
Ray Speth
6e3812a828 [Thermo] Remove unnecessary temporary work vectors 2016-04-18 17:52:08 -04:00
Ray Speth
e58bd09859 Eliminate debug_verbose option and DEBUG_MODE macro
Vebose printing can always be enabled at runtime by setting flags on various
classes.
2015-11-18 11:02:30 -05:00
Ray Speth
f6d19ccd59 [Thermo] Remove unnecessary overrides of VPStandardStateTP methods
setPressure, setTemperature, and setState_TP are all implemented generally in
VPStandardStateTP. The specialization in child classes is always handled in
calcDensity().
2015-11-12 15:04:45 -05:00
Ray Speth
fe4035647f Clean up remaining Thermo comments 2015-11-12 11:41:34 -05:00
Ray Speth
4382ae6c85 Clean up comments in Thermo class source files 2015-11-09 17:34:46 -05:00
Ray Speth
0647823ada Replace DATA_PTR macro with calls to data() 2015-10-17 18:58:50 -04:00
Ray Speth
8b16eb489f Eliminate unnecessary aliases for member variables in HMWSoln 2015-10-17 18:58:50 -04:00
Ray Speth
fb4eece9f8 Use std::unique_ptr instead of raw pointers where appropriate 2015-10-14 18:45:23 -04:00
Ray Speth
0b2c7b59b8 Replace printf with writelogf in all library code 2015-10-14 18:45:23 -04:00
Ray Speth
7bcbbaafd9 [Thermo] Use consistent implementation for convenience constructors
The constructor with the signature (inputFile, [id]) just calls initThermoFile.
The constructor with the signature (phase XML node, [id]) just calls importPhase
(note that the id argument is unused, since the correct XML node must already be
given).
2015-08-05 12:34:22 -04:00
Ray Speth
7fe8f0f3b7 [Thermo] Refactor common initialization out of constructors 2015-08-05 12:09:02 -04:00
Ray Speth
ceefc5ecb0 Consistently use ThermoPhase::RT() 2015-08-02 23:06:16 -04:00
Ray Speth
acdf9cf0ed Clean up interstitial whitespace
Remove extra space around operators, between words, etc.
2015-08-02 23:06:16 -04:00
Ray Speth
801334c84e Merge nested if statements 2015-08-02 23:06:15 -04:00
Ray Speth
f90bf978df Use += and -= where appropriate 2015-08-02 23:06:15 -04:00
Ray Speth
e4c45b6429 General whitespace cleanup
Remove unnecessary blank lines and trailing whitespace. Replace tabs with
spaces.
2015-08-02 23:06:15 -04:00
Ray Speth
619cd20f14 Fix badly-formatted else/else if/catch clauses 2015-08-02 23:06:15 -04:00
Ray Speth
187fd27cef Remove unnecessary use of (void) 2015-08-02 23:06:14 -04:00
Ray Speth
6cc5652de6 Remove commented-out code 2015-07-20 17:20:46 -04:00
Ray Speth
f1f10b6526 Remove unused, deprecated code marked for removal after Cantera 2.2 2015-07-15 12:08:50 -04:00
Ray Speth
341b137766 [Doc] Capitalize proper nouns and acronyms 2015-05-25 20:58:44 -04:00
Ray Speth
1dd7b214b5 [Thermo] Deprecate unused method 'getUnitsStandardConc'
First step in resolving Issue #96
2015-04-14 15:18:20 -04:00
Ray Speth
2ed8552939 [Thermo] Add a version of Phase::mean_X that takes vector_fp
This simplifies all internal calls to this function
2015-02-20 23:44:21 +00:00
Ray Speth
09ce99dc83 [Thermo] Eliminate redundant assignment of m_kk
m_kk is automatically set as species are added to a phase.
2015-02-20 23:43:12 +00:00
Ray Speth
7acf0378c6 [Thermo] Improve usage of local variables
Also eliminate some unnecessary temporary variables.
2015-02-12 04:04:18 +00:00
Ray Speth
b8a99b4b83 Remove unnecessary explicit calls to default constructors 2015-01-22 00:04:12 +00:00
Ray Speth
ba42bc6da2 [Doc] Remove suppression of Doxygen autolinking
In those cases where the name is actually a reference to the class, we actually
want Doxygen to apply formatting to the name and link to the class's
documentation, so we shouldn't suppress that behavior with the prepended '%'.
2014-12-05 23:33:24 +00:00
Ray Speth
363d3ec3f0 Remove HMWSoln 'testProb' constructor
This constructor was used only in HMW_test_1, and it just set the same
parameters that were already read from the XML input file.
2014-11-08 00:53:33 +00:00
Ray Speth
002c158761 Cleanup include statements
Move includes from header to implementation files where possible, and remove
unnecessary includes.
2014-08-28 16:54:13 +00:00
Ray Speth
83e38480d6 Throw exceptions instead of calling std::exit after an error
By throwing an exception, Cantera is better behaved when used within other
applications, e.g. as in the case of the Matlab and Python interfaces.
2014-06-06 00:17:58 +00:00
Ray Speth
dbfe428437 Fix compiler warnings
These were mostly related to changes from r2957.
2014-06-03 16:53:40 +00:00
Ray Speth
b5396837b2 Make use of std::min, std::max, and clip 2014-06-03 16:52:43 +00:00
Ray Speth
712293e415 Change debug code to avoid ifdefs where possible
Use "if (DEBUG_MODE_ENABLED)" instead of "#ifdef DEBUG_MODE". This makes
it easier to see the flow control logic, and the compiler will optimize
out the always-false conditionals when DEBUG_MODE_ENABLED is 0, so there
isn't any speed penalty.
2014-05-27 02:53:22 +00:00
Ray Speth
7ec4531ae0 Removed debugging code that didn't actually do anything 2014-05-27 02:53:16 +00:00
Ray Speth
789574ac80 Remove commented-out code 2014-05-27 02:52:21 +00:00
Ray Speth
08e9d94ad6 [Thermo] Remove unimplemented overrides of getParameters/setParameters 2014-05-21 16:34:39 +00:00
Ray Speth
2a9ab96609 Use NotImplementedError instead of 'err' member functions 2014-05-06 14:39:13 +00:00
Ray Speth
2468b47ae7 [Thermo] Remove unimplemented overrides of ThermoPhase methods
ThermoPhase already provides an implementation of these methods that raises
an exception to indicate that the method is unimplemented. Therefore,
derived classes which do not implement a method do not need to do this.
2014-03-27 01:29:27 +00:00
Ray Speth
f1066aa072 [Thermo] Remove redundant versions of intEnergy_mole and gibbs_mole 2014-03-27 01:29:13 +00:00
Ray Speth
95eb7ab3ba Remove newline after '::' in member function definitions
This inconsistency makes it hard to directly search the code for a specific
member function definition.
2014-03-24 04:03:09 +00:00
Victor Brunini
a641992960 Add validate() functions to CachedValue.
To both check and update the cached state values. Reduces
a lot of code duplication in the use of CachedValues.

I'd like to make state1, state2, and stateNum private so
that they can only be accessed with one of the validate functions,
and also add some asserts to the validate functions that do not
use all of the state variables to ensure that the unused ones are
set to their default values to prevent the case where the wrong
validate() function is called and incorrectly determines that the
cached state is valid.

First pass at making the state variables private caused a test failure
for test_problems/statmech. The m_spthermo->update() call in
IdealGasPhase::_updateThermo() throws an exception for this test right
now that gets caught in equilibrate(). When using validate() the cached
state variable is updated before the m_spthermo->update() call and subsequently
it thinks that the thermo does not need to be updated, whereas when
cached.state1 is being set after the m_spthermo->update() call it does not get
set. The current blessed output for that test is just the text of the exception
that gets caught, so I suspect the test may not work as is.
2014-03-19 00:14:18 +00:00
Victor Brunini
935a20fc87 Some HMWSoln optimizations.
Mostly replacing some repeated divisions with 1
division and then multiplication by the inverse.
Saved ~10% on test problem of interest.
2014-03-18 23:29:09 +00:00
Victor Brunini
4c4836fd18 HMWSoln caching fixes.
Forgot to update the cached state number in a few places in
my last commit.

Also uncovered a potential bug with m_A_Debye. m_A_Debye is only
set by A_Debye_TP() but is used by s_updatePitzer_lnMolalityActCoeff()
which could end up using an un-updated value for m_A_Debye through the
call chain:

setState_TP() -> calcDensity() -> getPartialMolarVolumes() ->
  s_update_lnMolalityActCoeff() -> s_updatePitzer_lnMolalityActCoeff()

I changed both s_updatePitzer_lnMolalityActCoeff() and s_NBS_CLM_lnMolalityActCoeff()
to call A_Debye_TP() rather than using m_A_Debye directly to ensure that they
are always using an up to date value.
2014-03-18 21:05:10 +00:00
Victor Brunini
a704df09d8 Convert recent changes to new caching method. 2014-03-18 18:52:29 +00:00
Victor Brunini
2b92ad5684 WIP on additional caching.
I'll convert this over to the new caching framework once
Ray adds it.
2014-03-17 16:03:22 +00:00
Victor Brunini
b0ecf96cb6 Trying out a cleaner way knowing when expensive state functions need to be recomputed. 2014-03-13 23:50:31 +00:00
Ray Speth
89eab1bb48 [Thermo] Remove redundant implementations of logStandardConc
For the cases where logStandardConc just calls standardConcentration,
rely on the default implementation in class ThermoPhase.
2014-03-13 21:35:49 +00:00
Victor Brunini
48ec4dc65c HMWSoln::s_update_lnMolalityActCoeff() performance improvement.
Only do the expensive update if state has changed.
2014-03-13 18:35:00 +00:00
Victor Brunini
e62ce054ce Style changes to be consistent with the rest of Cantera.
Thanks for the code review.
2014-03-13 16:49:10 +00:00
Victor Brunini
584abf0d10 Performance improvements for HMWSoln and MaskellSolidSolnPhase.
HMWSoln: avoid recomputing lambdas if ionic strength hasn't changed.

MaskellSolidSolnPhase: Avoid recomputing activity coefficients if
r and T haven't changed.
2014-03-12 20:37:04 +00:00