Commit graph

207 commits

Author SHA1 Message Date
Ray Speth
68b129eb96 [1D] Fixed singular Jacobian errors after grid modification
Modification of the grid can interfere with the way the fixed temperature point
is handled, leading to solver failures. To fix this, the temperature fixed point
is checked and may be recalculated at the start of the solver.
2013-03-05 17:02:53 +00:00
Ray Speth
246bbfa7fb [1D] Prevent removal of the grid point used for the fixed temperature 2013-03-05 17:02:50 +00:00
Ray Speth
6b9fc98fc8 [1D] Pruning may not remove adjacent grid points 2013-03-05 17:02:47 +00:00
Ray Speth
b3a1e1e47c [Cython/1D] 1D solver can be interrupted by ctrl-c
By calling a pure Python function each time OneDim::eval is called, we can
catch KeyboardInterrupt exceptions and abort the 1D solver loop, returning
control to Python.

Partially addresses Issue 93.
2013-03-04 17:31:41 +00:00
Ray Speth
934010136d Removed unnecessary temporaries used for storing return values 2013-02-14 01:04:07 +00:00
Ray Speth
e48bd48c4e [1D] General cleanup of class Refiner 2013-02-07 23:41:49 +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
78f6e61703 Combined the shared parts of AxiStagnFlow::eval and FreeFlame::eval 2013-01-17 15:31:36 +00:00
Ray Speth
17b9e86fb6 Eliminated "goto" statements in StFlow::restore 2013-01-11 22:55:35 +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
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
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
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
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
Ray Speth
6546a6b22c Made output of 1D solver more compact at loglevel 1 2012-11-14 21:07:21 +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
f45b2b1ddc Removed unused variable 'm_efctr' from StFlow 2012-08-29 22:13:59 +00:00
Ray Speth
58514d790d Improve comments on OneD eval() function
Patch supplied by Thomas Fiala.
2012-08-29 22:13:56 +00:00
Ray Speth
85d9d360c7 Fixed a bunch of spelling issues 2012-08-17 16:43:34 +00:00
Ray Speth
3eb72725d9 Replaced a couple of unnecessary local functions in refine.cpp 2012-07-20 18:27:04 +00:00
Nicholas Malaya
77bb5e15ce removing several deprecated header files from the makefile.ams. In addition, headers should now be properly installed by the make install step 2012-07-18 22:54:54 +00:00
Ray Speth
3ce3da1fa2 Fixed code formatting 2012-07-18 18:32:29 +00:00
Ray Speth
15755c1447 Pruning some dead code 2012-05-24 16:30:04 +00:00
Ray Speth
5af70f3db8 Removed keyword-substitution cruft 2012-05-24 16:29:29 +00:00
Nicholas Malaya
79b29300a6 [cantera]: updating autotools build system. Library building, need to fix another test. Additionally, adding hypersonic flow transport model-- need to add hypersonic thermodynamics as well. 2012-04-25 13:18:25 +00:00
Ray Speth
eb337eac8d Fixed 1D grid refinement based on curvature requirement
The variable "dz" was being used before being calculated, causing
the algorithm to never insert points based on the curvature criterion.
2012-04-10 03:13:12 +00:00
Ray Speth
d8db89e708 Propagate setSteadyMode from OneDim to child Domain1D objects 2012-04-10 03:13:07 +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
ca4212cc57 Removed a number of unused / redundant typedefs 2012-03-15 19:51:57 +00:00
Ray Speth
0312f6dc21 Removed exception-based flow control from Sim1D::solve 2012-03-09 22:54:35 +00:00
Ray Speth
3bff32dd55 Fixed problems that generated warnings with the Intel compiler 2012-03-07 00:51:13 +00:00
Ray Speth
54efbaa320 Rewrote exception handling to be more general and more explicit
CanteraError inerits from std:exception, so now it has a what() method
that is used to print a message describing the exception. Adding an
exception to the Cantera error stack now requires explicitly calling
the .save() method.
2012-03-05 20:45:56 +00:00
Ray Speth
21100f1cb0 Fixed Jacobian evaluation problems in AxiStagnFlow::eval 2012-03-05 20:44:46 +00:00
Ray Speth
38322d720a Fixed indexing problems when evaluating Jacobian for 1D simulations 2012-03-01 16:56:36 +00:00
Ray Speth
657ed19371 Fixed warnings related to printf/sprintf 2012-02-28 19:02:00 +00:00