Commit graph

523 commits

Author SHA1 Message Date
Victor Brunini
a709d5f816 Revert "Removed unused member variable ReactionData.rxn_number"
This variable is used in some applications we build against
cantera.

This reverts commit 7d7b6dd39d12c2e2bdd2a9d2a959c0aee3c0c4c5.
2013-01-15 20:16:42 +00:00
Ray Speth
31f90fe32d Removed unnecessary typedef for 'index_t' 2013-01-11 22:56:44 +00:00
Ray Speth
d4525f0db7 Removed unused local variables from MargulesVPSSTP 2013-01-11 22:56:37 +00:00
Ray Speth
50327a665f Moved some function implementations out of InterfaceKinetics.h
This gets rid of some (mostly spurious) warnings generated by MSVC
2013-01-11 22:56:33 +00:00
Ray Speth
33653e7f43 Removed unused member variable ReactionData.rxn_number 2013-01-11 22:56:30 +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
Ray Speth
db4a1dfe46 Eliminated 'goto' statement in MixtureFugacityTP 2013-01-11 22:55:43 +00:00
Ray Speth
bd2bb215b4 Eliminated 'goto' statements in BasisOptimize.cpp 2013-01-11 22:55:40 +00:00
Ray Speth
17b9e86fb6 Eliminated "goto" statements in StFlow::restore 2013-01-11 22:55:35 +00:00
Victor Brunini
9b6b65fe04 Add function to DenseMatrix that multiplies two square matrices. 2013-01-07 18:18:10 +00:00
Ray Speth
205706f5dd [Reactor] Avoid a segfault when using phases with no Kinetics 2013-01-07 18:08:23 +00:00
Ray Speth
990a0b5491 Fixed an error that prevented HTML log files from being written 2013-01-07 18:08:17 +00:00
Ray Speth
382ad7ba80 Fixed compiler warnings about uninitialized values 2013-01-04 21:37:26 +00:00
Ray Speth
1e43e4f333 Added a version of writelog which takes the log level as an argument 2012-12-30 00:17:08 +00:00
Ray Speth
48383de86e [1D] Eliminated "goto" statements in MultiNewton::solve 2012-12-30 00:17:04 +00:00
Ray Speth
8da49ed999 [1D] Merged newton_utils.cpp with MultiNewton.cpp 2012-12-30 00:17:02 +00:00
Ray Speth
3baa0eae94 [1D] Fixed an indexing error that affected Jacobian evaluations
Not all components of the Jacobian were being computed for the first point in
the first flow Domain.
2012-12-30 00:16:56 +00:00
Ray Speth
6b8986d0d0 Fixed const-ness of PecosTransport virtual functions
These now match the function signatures in the base class.
2012-12-26 23:56:10 +00:00
Ray Speth
46a8b3052f Use size_t instead of int in InterfaceKinetics 2012-12-26 23:56:07 +00:00
Harry Moffat
eab8781ea7 Added back ability to get transport parameters from transport objects.
Added back read and write of named XML array blocks.
Fixed an error in IonsFromNeutralVPSSTP.
2012-12-21 01:18:28 +00:00
Ray Speth
6de7a739c9 [1D] Fixed save/restore for ReactingSurf1D
This partially addresses Issue 90.
2012-12-18 00:14:04 +00:00
Ray Speth
e4705bece1 [1D] save/restore includes boundary conditions for Surf1D and OutletRes1D
This partially addresses Issue 90.
2012-12-18 00:13:34 +00:00
Ray Speth
357ab0b668 [1D] save/restore now includes boundary conditions of Inlet1D objects
This partially addresses Issue 90.
2012-12-18 00:13:02 +00:00
Ray Speth
fdc13afb9f [1D] save/restore now includes the temperature fixed point
This partially addresses Issue 90.
2012-12-18 00:12:41 +00:00
Ray Speth
833ca13dc1 [1D/Python] Set pressure when restoring solution from XML file
This partially addresses Issue 90.
2012-12-18 00:11:24 +00:00
Ray Speth
14426bfc86 [1D] Added loglevel argument to control output from save and restore
Passing loglevel=0 to Sim1D::save or Sim1D::restore will suppress all output
from these functions. The default loglevel maintains the normal level of output.
2012-12-18 00:09:29 +00:00
Ray Speth
f6c19b7456 [1D] Fixed pruning-related logging to respect the current log level 2012-12-18 00:07:46 +00:00
Ray Speth
09126726f0 [1D] Removed some spurious printing from Sim1D::setFixedTemperature 2012-12-18 00:07:26 +00:00
Ray Speth
da92fed07c [Reactor] Fixed uninitialized variable 'm_dist' in FlowReactor 2012-12-17 23:59:43 +00:00
Ray Speth
ee2697b4b8 Fixed a compiler error caused by ambiguous call to sqrt 2012-12-17 23:59:40 +00:00
Victor Brunini
95e66cd5ff Get rid of static variables in member functions. 2012-12-17 16:14:14 +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
55dec034ed Merge branch '2.0' into 'trunk'
Conflicts:
	README
	SConstruct
	configure.ac
	doc/sphinx/conf.py
2012-12-13 22:58:38 +00:00
Ray Speth
5b423847f2 [1D] Fixed calculation of diffusion flux due to Soret effect
Resolves Issue 132.
2012-12-13 22:46:10 +00:00
Ray Speth
c4e62b72ed [1D] Resize StFlow::m_dthermal after grid refinement
Resolves Issue 133.
2012-12-13 22:46:05 +00:00
Victor Brunini
bd653e357f Revert change to LiquidTransport. 2012-12-13 22:16:50 +00:00
Victor Brunini
4770bdd9d6 Small performance improvement, transform seems to be slightly slower
than just looping over the array.
2012-12-13 22:16:16 +00:00
Victor Brunini
a4ea58f7cc Change ThermoPhase::setStateTPX and setStateTPY functions to call
setStateTP instead of setTemperature and setPressure. Main motivation
is that the IonsFromNeutralVPSSTP child class has setTemperature and
setPressure functions that call setStateTP so this reduces duplicate
work in that case.
2012-12-13 22:16:00 +00:00
Victor Brunini
749f988e52 Convert LiquidTransport to just store a pointer to the external
gradient (T, X, V) values that it uses to compute fluxes. These
are never changed by the LiquidTransport object so there is no
reason to have them stored locally rather than just holding a pointer
to the data.
2012-12-13 22:15:35 +00:00
Victor Brunini
2eba1ee7c8 PDSS_IonsFromNeutral does not own the neutralMoleculePhase_ pointer
and the state of the neutralMoleculePhase_ is updated by the
VPSSIonsFromNeutral phase object that the PDSS_IonsFromNeutral
species object belongs to. Remove neutralMoleculePhase_->setState
calls from PDSS_IonsFromNeutral to avoid duplicate work, and make
it a const * to reflect that.
2012-12-13 22:15:14 +00:00
Victor Brunini
d4d1093957 Performance improvements focused on Stefan-Maxwell liquid transport
model for molten salts.

Summary:
- Division is expensive, replace repeated division with multiplication
  by stored 1/x.
- New and delete are expensive, make working vectors in some functions
  static so that they are not repeatedly instantiated and deleted.
- Reorder a few loops to reduce computation and hopefully cache misses.
2012-12-13 22:14:36 +00:00
Ray Speth
2805db17e9 [Python] Added interface to "setGridMin" in relevant 1D classes 2012-12-06 17:31:49 +00:00
Ray Speth
b4f34045a8 [1D] Added a minimum grid spacing parameter 2012-12-06 17:31:44 +00:00
Ray Speth
6ddb55e020 [1D] Fixed a case where the Newton solver could get stuck
Sometimes, while trying to solve the steady-state problem, the Newton solver
would get stuck in a loop where it couldn't find a suitable damping ratio even
after re-revaluating the Jacobian, causing it to get stuck in an loop where it
would keep re-evaluating the Jacobian at the same point (i.e. without having
made a successful damped step).

This change detects this condition and stops the Newton solver so that the 1D
solver can advance the solution by timestepping before trying to solve the
steady-state problem again.
2012-12-06 17:31:39 +00:00
Ray Speth
347029d06a [1D] Added loglevel for saving residual components
At loglevel 8, the residual after each Newton step, set of time steps, or grid
refinement is saved to 'debug_sim1D.xml'.
2012-12-06 17:31:35 +00:00
Ray Speth
d236358ec6 [1D] Fixed oscillations in grid refinement when pruning is enabled
Points which are needed to satisfy the 'ratio' requirement are not removed when
pruning. Previously, it was possible for the solver to get stuck in a loop where
the same points were added and removed after successive grid refinements.
2012-12-06 17:31:31 +00:00
Ray Speth
351423bcda [1D] Added a new log level for saving intermediate solutions
Running Sim1D::solve with loglevel set to 7 or higher will now save the solution
after each attempted steady-state solution, after timestepping, and after
regridding to the file 'debug_sim1d.xml'. This can be useful for diagnosing
convergence issues with some problems.
2012-12-04 20:28:59 +00:00
Ray Speth
2735802eb9 [1D] Updated error checking in Sim1D get/set methods 2012-12-04 20:28:53 +00:00
Harry Moffat
c6f7abbf2f Fixed a serious error in InterfaceKinetics that had crept into this branch.
Started upgrade/update of equilibrium solver
       - Fixed numerical jacobian calculation of the ln activity coefficients.
2012-11-29 02:18:05 +00:00
Harry Moffat
64d252fdbf Rolled back some of the changes that Victor made that actually
changed the S-M formula.
2012-11-26 21:37:11 +00:00