Commit graph

54 commits

Author SHA1 Message Date
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
Victor Brunini
171681bf13 Cache result of expensive function call in HMWSoln for reuse.
Went from 440s runtime down to 65s for test case of interest.
2014-02-03 19:48:02 +00:00
Ray Speth
607955b9f2 Remove unnecessary conditional surrounding 'delete' statements 2014-01-06 18:45:19 +00:00
Harry Moffat
5720d7cf90 Fixed an error where the users data was changed before it was used.
Eliminated some deprecations which were not sanctioned.

Worked on Cantera.mak. There is a problem with scons eliminating $ from strings.
2013-09-06 22:52:59 +00:00
Steven DeCaluwe
878abceb6a Removed 'const' declaration from satPressure function for remaining ThermoPhase class members. 2013-07-15 17:44:01 +00:00
Ray Speth
8c95ee035e Deprecate the setParameters and getParameters methods of ThermoPhase 2013-06-24 15:22:08 +00:00
Ray Speth
d253fc0d63 Eliminate redundant standard library includes 2013-06-05 17:08:13 +00:00
Harry Moffat
3cc0aa1689 Fixed an overloaded operator error
Fixed a compilation error that occurred in DEBUG_MODE
2013-02-25 20:00:24 +00:00
Ray Speth
934010136d Removed unnecessary temporaries used for storing return values 2013-02-14 01:04:07 +00:00
Ray Speth
e04e59cdd3 Removed extraneous parentheses around arguments to 'return'
'return' is a keyword, not a function, so these parens are unnecessary.
2013-02-14 01:03:48 +00:00
Ray Speth
4e3a79394b Eliminated some shadowing of member variables by function arguments 2013-02-14 01:03:19 +00:00
Ray Speth
70b08a6891 Eliminated some local variable shadowing 2013-02-14 01:03:13 +00:00
Ray Speth
8a17523715 Use the "charge" member function consistently to access species charges
Eliminated local alias to array of charges in some functions. Inlined the
"charge" function to mitigate any performance impact. Fixes a number of shadowed
variable warnings.
2013-02-14 01:03:09 +00:00
Ray Speth
da33cc66c3 Cleaned up Doxygen docs for class VPStandardStateTP and descendants 2013-02-14 01:02:34 +00:00
Ray Speth
7da738d238 Re-applied consistent formatting to trunk
Applied using: astyle -n --style=kr --add-brackets --indent=spaces=4
--indent-col1-comments --unpad-paren --pad-header --align-pointer=type
--lineend=linux
2013-02-07 23:40:59 +00:00
Ray Speth
83097b3860 Consolidated definitions of repeatedly-used constants
"MIN_X" and "TINY" are replaced by "Tiny". "xxSmall" is replaced with
"SmallNumber".
2013-01-11 22:55:46 +00:00
Harry Moffat
ea25de7fe7 Continuing transfering LiquidTransport changes, doing bugfixes, and
qualifying against our testsuite.
2012-12-15 00:49:14 +00:00
Ray Speth
94d08f1d5e Removed unnecessary casts from object duplication functions 2012-10-24 15:45:33 +00:00
Ray Speth
1d19803885 Pass "const std::string&" instead of "std::string" when possible 2012-10-24 15:42:51 +00:00
Ray Speth
85d9d360c7 Fixed a bunch of spelling issues 2012-08-17 16:43:34 +00:00
Ray Speth
fa22d8fde1 Removed constructPhaseFile and constructPhaseXML methods from HMWSoln 2012-08-08 22:16:04 +00:00
Ray Speth
b5b536ff83 Removed some deprecated code 2012-07-16 22:19:10 +00:00
Ray Speth
cfe5824a7d Removed some deprecated code 2012-07-16 22:18:35 +00:00
Ray Speth
d3e98fe5a8 Corrected a bunch of spelling errors 2012-05-29 21:21:47 +00:00
Ray Speth
5ef6a024a9 Fixed some case statements that were missing a 'break' 2012-05-24 16:29:55 +00:00
Ray Speth
d16f70ab44 Fixed some spelling issues 2012-04-04 18:44:24 +00:00
Ray Speth
8ea4ae728a Moved a few standard library includes to more local scopes 2012-03-23 22:16:04 +00:00
Ray Speth
78a093b485 Folded class Constituents into class Phase 2012-03-09 22:56:11 +00:00
Ray Speth
e41f43300f Folded class State into class Phase 2012-03-09 22:55:34 +00:00
Ray Speth
657ed19371 Fixed warnings related to printf/sprintf 2012-02-28 19:02:00 +00:00
Ray Speth
236756fbf0 Removed rogue tabs in the C++ source code 2012-02-27 18:15:02 +00:00
Ray Speth
35429de71c Fixed a bunch of spelling errors in the documentation and comments 2012-02-21 16:04:09 +00:00