/[ascend]/trunk/base/generic/solver/ida.c
ViewVC logotype

Log of /trunk/base/generic/solver/ida.c

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 1180)

Revision 992 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 21 13:37:45 2006 UTC (13 years, 2 months ago) by johnpye
File length: 35782 byte(s)
Diff to previous 991
Added support for preconditioner in IDA module. Not quite sure what to put inside it yet though.

Revision 991 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 21 10:44:32 2006 UTC (13 years, 2 months ago) by johnpye
File length: 33118 byte(s)
Diff to previous 986
Added IDA 'MAXNCF' option.
Added TestIDA.testlotkaDENSE.

Revision 986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 21 04:22:07 2006 UTC (13 years, 2 months ago) by johnpye
File length: 32332 byte(s)
Diff to previous 985
Trying to improve error reporting from IDACalcIC for case of idakryx example.

Revision 985 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 21 04:06:02 2006 UTC (13 years, 2 months ago) by johnpye
File length: 32093 byte(s)
Diff to previous 980
Trying to get idakryx example working.
Better reporting of failures from IDACalcIC.

Revision 980 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 23:23:50 2006 UTC (13 years, 2 months ago) by johnpye
File length: 31761 byte(s)
Diff to previous 979
Fixed detection of libpython on Windows.
Fixed TestLSODE.testlotka test.py
Removed a sundials_dense.h assertion under windows.

Revision 979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 14:34:16 2006 UTC (13 years, 2 months ago) by johnpye
File length: 31706 byte(s)
Diff to previous 977
Added simplified ASC_PANIC call that uses var-args, added throughout relation_util.c.
Fixed var_filter_t stuff in djex and fvex.
More assertions in integrator.c
Added output of initial state from lsode.c (hoping that's a good idea?)
Fixed output code from relman_diff2.
Added asc_panic_nofunc for non var-arg CPPs.
Disabled -O3 flag in building C++ API
Added __getitem__ and __getattr__ methods in Simuluation for simplified python syntax (eg M.x instead M.sim.x)
Integrator::analyse throws exceptions on error now.


Revision 977 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 00:39:52 2006 UTC (13 years, 2 months ago) by johnpye
File length: 31240 byte(s)
Diff to previous 976
Abstracted the internal integrator calls into a struct IntegratorInternals.
Fixed up compile-time list of integrators.
If IDA is not available, then 'INTEG_IDA' will not be defined.
Added ASC_ASSERT_RANGE for assertions x in [low,high).
Changed calling convention for integrator_get_engines().

Revision 976 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 13:52:51 2006 UTC (13 years, 2 months ago) by johnpye
File length: 30924 byte(s)
Diff to previous 972
Improved line/file/func reporting via Asc_Panic, using CPP var-arg macros under GCC.
Added ASC_ASSERT_LT and ASC_ASSERT_EQ assertion macros.
Tracking down a crash in IDA (ongoing).

Revision 972 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 07:55:02 2006 UTC (13 years, 2 months ago) by johnpye
File length: 30860 byte(s)
Diff to previous 971
Fixed a bug with initial time step in IDA (and added a checking asc_assert)
Added switch to turn on and off 'IDACalcIC'.
Changed 'already loaded' ASC_PROG_ERR into ASC_PROG_WARN (so that repeated 'IMPORT' doesn't cause problems)
Removed unnecessary solver tricks from shm.a4c (for easier debugging of Integrator API)
Widened self_test limits in zill.a4c.
Some more debugging in simulation.cpp.
Breaking down test.py into smaller test classes (thinking about moving it to its own directory)

Revision 971 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 02:42:33 2006 UTC (13 years, 2 months ago) by johnpye
File length: 30086 byte(s)
Diff to previous 970
Fixed IDA 'maxl' parameter.

Revision 970 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 02:39:54 2006 UTC (13 years, 2 months ago) by johnpye
File length: 29973 byte(s)
Diff to previous 969
Adding missing 'aww.*' files for Art's DAE integrator.
Adding 'maxl' (Maximum Krylov dimension) option to IDA.

Revision 969 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 00:57:26 2006 UTC (13 years, 2 months ago) by johnpye
File length: 29582 byte(s)
Diff to previous 968
Added placeholder for a C version of Art's DAE solver (named 'AWW')
Added support for SPBCG and SPTFQMR Krylov solvers in IDA.
Attempted separation of ascpy.i and solver.i (ongoing)
Fixed an error message in typedef.c
Fixed typo in ivpStepN.tcl
Added correctly hidden Simulation() ctor.

Revision 968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 18 05:49:00 2006 UTC (13 years, 2 months ago) by johnpye
File length: 29140 byte(s)
Diff to previous 963
Added SCons tests to check SIGINT and to replace ascresetneeded (need replacement for this in Autoconf as well).
Removed debugging from createinst.c
Typo (text) in evaluate.c
Commented out redundant code in importhandler.c
Added signal handling in ExecuteCASGN.
Added missing ospath_free in ModuleSearchPath.
Exported InitSymbolTable, DestroySymbolTable in symtab (dubious)
Moved FPRESET macro out of ascConfig.h and into ascSignal.h
Added Asc_SignalHandler{Push,Pop}Default.
Added ASC_RESETNEEDED and HAVE_C99FPE macros in config.h.in.
Found the bug causing the SIGFPE in idakryx.a4c (raises a question about int/float division in modelling, I think)
Added system_destroy call in Simulation::~Simulation (dubious).

Revision 963 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 12 13:36:52 2006 UTC (13 years, 2 months ago) by johnpye
File length: 28877 byte(s)
Diff to previous 953
Added ATOLVECT, RTOLVECT parameters to LSODE
Fixed silly bug in testing of newton.a4c
Text changes in ida.c.

Revision 953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 7 14:47:15 2006 UTC (13 years, 2 months ago) by johnpye
File length: 28765 byte(s)
Diff to previous 952
Added test for C99 FPE handling
Fixing mess-up of ChildByChar in arrayinst.h header.
Added 'safeeval' config option to IDA.
Changed 'SigHandler' to 'SigHandlerFn *' in line with other function pointer datatypes being used in ASCEND.
Moved processVarStatus *after* 'Failed integrator' exception (ongoing issue).

Revision 952 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 28 23:01:50 2006 UTC (13 years, 2 months ago) by johnpye
File length: 28437 byte(s)
Diff to previous 951
Pruned some debug messages from integrator.c, ida.c.
Improved exception messages from SolverParameter class.
Added array access functions to Instanc class (ongoing).
Attempting to run CUnit tests from the Python test suite (not successful, ongoing).
Cleaned up some headers, license notices, doxy docs, etc.
Fixed wrong #include <dmalloc.h> in ascpy.i (thanks Krishnan).

Revision 951 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 26 05:01:49 2006 UTC (13 years, 2 months ago) by johnpye
File length: 28436 byte(s)
Diff to previous 950
Added 'GSMODIFIED' parameter to IDA implementation.
Working on getting the idadenx model to converge using the SPGMR solver.

Revision 950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 26 03:14:02 2006 UTC (13 years, 2 months ago) by johnpye
File length: 27757 byte(s)
Diff to previous 949
Completed adding idadenx to test suite.
Restored behaviour of mxstep to IDA.

Revision 949 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 26 03:04:30 2006 UTC (13 years, 2 months ago) by johnpye
File length: 27654 byte(s)
Diff to previous 948
Fixed IDA to solve the 'idadenx' problem (mxstep and mxsteps were causing problems)

Revision 948 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Nov 26 01:36:49 2006 UTC (13 years, 2 months ago) by johnpye
File length: 27876 byte(s)
Diff to previous 946
Fixed bug with integrator_ida_djex, and switched to using *solvers* varlist in integrator 'visit' routine (needs checking with LSODE!)

Revision 946 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 15:28:56 2006 UTC (13 years, 2 months ago) by johnpye
File length: 27727 byte(s)
Diff to previous 945
Found bug in integrator_analyse_dae... ongoing

Revision 945 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 12:41:03 2006 UTC (13 years, 2 months ago) by johnpye
File length: 23688 byte(s)
Diff to previous 944
Fixed a bug in slv_param_char.
More work on IDA ongoing.

Revision 944 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 10:46:13 2006 UTC (13 years, 2 months ago) by johnpye
File length: 20843 byte(s)
Diff to previous 942
Implemented ATOLVECT, ATOL, RTOL parameters for the IDA integrator.

Revision 942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 05:26:47 2006 UTC (13 years, 2 months ago) by johnpye
File length: 19291 byte(s)
Diff to previous 930
Incorporated 'SolverParameters' functionality into 'Integrator', both at C level and C++/Python.
This shouldn't break Tcl/Tk as default parameters will be set and used invisibly.

Revision 930 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 22 13:09:09 2006 UTC (13 years, 2 months ago) by johnpye
File length: 17918 byte(s)
Diff to previous 928
solve.py raises ImportError if 'browser' object is not available (right approach?)
Freeing some variables in dsgsat2.a4c.
Returing Py_None from extpy routine in 'browser' object not defined (eg during non-GUI unit testing)
Error reporting from extpy import handler (ongoing)
Timeout in versioncheck (when server unavailable)
A little more tinkering with IDA.

Revision 928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 22 10:32:18 2006 UTC (13 years, 2 months ago) by johnpye
File length: 18001 byte(s)
Diff to previous 924
Commented out some stream redirection stuff for simplicity.
The CUnit test suite now works as expected (but without output suppression, for the moment).
Some more effort on IDA (ongoing).

Revision 924 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 9 13:57:02 2006 UTC (13 years, 3 months ago) by johnpye
File length: 17146 byte(s)
Diff to previous 921
Added simple harmonic motion model.
Fixed loop-termination bug in ida.c

Revision 921 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 6 07:49:06 2006 UTC (13 years, 3 months ago) by johnpye
File length: 17145 byte(s)
Diff to previous 917
Fixing up some malloc/free problems with  integrator.c, removing some debug output from slv3.
Working on fixing IDA for systems with inactive variables (ongoing).

Revision 917 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 2 21:34:59 2006 UTC (13 years, 3 months ago) by johnpye
File length: 17119 byte(s)
Diff to previous 913
Added some debug stuff to work on the on_load problem.

Revision 913 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 28 03:55:19 2006 UTC (13 years, 3 months ago) by johnpye
File length: 16869 byte(s)
Diff to previous 912
Added test for SUNDIALS version (2.2.1 and 2.3.0-pre are preferred)
Fixed silly warning message about ignored return values from CONSOLE_DEBUG on GCC.

Revision 912 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 27 07:18:21 2006 UTC (13 years, 3 months ago) by johnpye
File length: 16390 byte(s)
Diff to previous 910
Removed BBOXWHINE (replaced with some one-time-only warnings for the moment)
Added ExtMethodDestroyFn to allow 'user_data' associated with external methods to be destroyed.
Implemented the destroy fn through to 'extpy' module.
Added 'name' as an extra parameter in the user_data for extpy, to help with debug msgs.
Moved 'solvernotes' to a file of its own (was part of listnotes.py)
Added 'repaint' to GTK 'tools' menu (for debugging)
Added 'python.h' to top of library, type files (pygtk) to stop silly warnings.
Working on some diagnosing of problems as noted in Simulation::checkInstance.
Removed some old comments from namio.h and others.
Renamed 'blsys' to 'sys' in integrator.c.
Some work on fixing up the J*v function for IDA (not yet complete).
Added new 'destroyfn' parameter (as NULL) to all calls to 'CreateUserFunctionMethod'.

Revision 910 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 26 13:35:25 2006 UTC (13 years, 3 months ago) by johnpye
File length: 16003 byte(s)
Diff to previous 909
In instantiate.c, made new blackbox code tolerant of blackboxes that don't need initialisation.
Removed some debug output.
Expanded 'extfntest.py' a little bit, for ease of testing.
Converted 'blackbox is experimental' warnings to one-time-only.
Minor change to way that webbrowser is invoked under linux.

Revision 909 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 26 12:44:41 2006 UTC (13 years, 3 months ago) by johnpye
File length: 15951 byte(s)
Diff to previous 903
Added finite-difference evaluation of gradients in blackboxes.
Some work on J*v evaluation with IDA.

Revision 903 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 25 13:07:12 2006 UTC (13 years, 3 months ago) by johnpye
File length: 11769 byte(s)
Diff to previous 782
Some success with IDA: fixed up the indexing dilemma and was able to
integrate 'johnpye/thermalequilibrium.a4c' for a short time span (but
through to 3000 s as with LSODE). I would blame lack of jacobian routine
in the first instance.

Added 'more properties' button in Properties dialog for a variable, to allow
values of ode_id, ode_type etc to be queried (but not changed).


Revision 782 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 25 02:09:12 2006 UTC (13 years, 6 months ago) by johnpye
File length: 11651 byte(s)
Diff to previous 719
Radu Serban sent me a preview of the new version of IDA which has new header file layout.
This patch updates for the new layout.
Also couple of minor fixes for gcc warnings in numlist and library.cpp.

Revision 719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jul 1 09:35:23 2006 UTC (13 years, 7 months ago) by johnpye
File length: 11633 byte(s)
Diff to previous 704
Added 'invars' and 'outvars' pointers (to var_variable pointer arrays) in ExtRelCache.
This will allow the ExtRel_MapDataToMtx function to be reimplemented using solver-side pointers
instead of going back to the arglist stuff in ExtCallNode.

Revision 704 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 26 23:00:56 2006 UTC (13 years, 7 months ago) by ben.allan
File length: 11614 byte(s)
Diff to previous 669
- fixed a minor bug in the use of dimensions in samplelist
and a #define misuse in ospath.
- defined eolstyle unix on the trunk, as I have encountered
at least 4 too many mixed-eol-style-in-one-file files in trying to 
rebuild today. obviously committer discipline is insufficient.


Revision 669 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Jun 21 07:00:45 2006 UTC (13 years, 8 months ago) by johnpye
File length: 11616 byte(s)
Merged changes from DAE branch (revisions 702 to 819) back into trunk.
This adds the Integration API to the ASCEND solver (in base/generic).
Also provides pre-alpha support for 'IDA' from the SUNDIALS suite, a DAE solver.
Many other minor code clean-ups, including adoption of new 'ASC_NEW' and friends (to replace 'ascmalloc')
Added some very sketchy stuff providing 'DIFF(...)' syntax, although it is anticipated that this will be removed.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22