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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1447 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun May 27 01:22:45 2007 UTC (13 years, 5 months ago) by jpye
File length: 66463 byte(s)
Diff to previous 1401
Workaround for a documentation bug in SUNDIALS 2.2.

Revision 1401 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 22 07:02:46 2007 UTC (13 years, 6 months ago) by jpye
File length: 66077 byte(s)
Diff to previous 1395
Working on support for SUNDIALS 2.2.0

Revision 1395 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 21 15:11:45 2007 UTC (13 years, 6 months ago) by jpye
File length: 65749 byte(s)
Diff to previous 1387
Added full jacobian preconditioner (ongoing).
Some tweaks to dsgsat & related models.

Revision 1387 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 7 14:43:31 2007 UTC (13 years, 6 months ago) by jpye
File length: 60471 byte(s)
Diff to previous 1339
Added plot support in Integrator output tabs.
Some other minor debugging for pylab integration and idaanalyse output.

Revision 1339 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 10 13:57:01 2007 UTC (13 years, 7 months ago) by jpye
File length: 60372 byte(s)
Diff to previous 1337
Removed ASC_IDA_NEW_ANALYSE condition from the codebase.
Cleaned up some debug output.

Revision 1337 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 10 12:33:15 2007 UTC (13 years, 7 months ago) by jpye
File length: 60214 byte(s)
Diff to previous 1331
Added support for detection of boundary crossing in the IDA integrator.
Cleared up some code comments and formatting.

Revision 1331 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 06:03:43 2007 UTC (13 years, 7 months ago) by jpye
File length: 57798 byte(s)
Diff to previous 1327
Reverted shm.a4c.
Added shmroots.a4c which displays the two complex roots of the SHM system using the extpy 'roots' module.

Revision 1327 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 02:45:16 2007 UTC (13 years, 7 months ago) by jpye
File length: 57749 byte(s)
Diff to previous 1325
Fixed mtx_write_region_mmio for non-square regions, offset so that indices always
start at 1 in the output, regardless of the original location of the region.

Revision 1325 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 7 02:27:49 2007 UTC (13 years, 7 months ago) by jpye
File length: 57584 byte(s)
Diff to previous 1320
Split linsolqr.c into smaller files (as directed in code comments for '#include "plainqr.c"', etc)

Revision 1320 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 6 12:15:21 2007 UTC (13 years, 7 months ago) by jpye
File length: 57561 byte(s)
Diff to previous 1317
Eliminated linsol, slv0 and slv1: moved the original files to 'disused' and editing out
all reference to them in solvers and related code (including some Tcl/Tk wrapper code)

Revision 1317 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 5 14:11:37 2007 UTC (13 years, 7 months ago) by johnpye
File length: 56588 byte(s)
Diff to previous 1316
Added new 'system_jacobian' function for use by IDA (maybe elsewhere?)
Refactored the matrix output stuff in IDA.
Fixed the index checking in idaanalyse
Still a problem with checking rank of small matrices.

Revision 1316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 5 07:22:21 2007 UTC (13 years, 7 months ago) by johnpye
File length: 60475 byte(s)
Diff to previous 1311
Another one of these big refactorings. Split out 'system' directory from 'solver' directory. This will need more work
but it's a start at getting the non-solver-specific code out separately.

Revision 1311 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 4 13:26:32 2007 UTC (13 years, 7 months ago) by johnpye
File length: 60475 byte(s)
Diff to previous 1310
Fixed problem with ctrl-c
Improved column alignment in text output of integration results
Pared back the default method in dsgsat3.a4c

Revision 1310 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 4 12:34:05 2007 UTC (13 years, 7 months ago) by johnpye
File length: 60474 byte(s)
Diff to previous 1309
Silenced some debug output
Added ability to ctrl-C IDA when running through python

Revision 1309 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 4 07:40:17 2007 UTC (13 years, 7 months ago) by johnpye
File length: 60103 byte(s)
Diff to previous 1306
Added index checking for semi-explicit DAE systems.
Migrated error messages for mtx and linsolqr to the error_reporter mechanism.

Revision 1306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 3 11:50:47 2007 UTC (13 years, 7 months ago) by johnpye
File length: 56935 byte(s)
Diff to previous 1303
Added and performed basic tests of integrator_ida_write_matrix. Generalised the write_matrix
routine so that *any* requested output can be retrieved from the integrator (for the case
of IDA this is y and y', but it could equally be more complicated stuff.)

Revision 1303 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 1 06:04:21 2007 UTC (13 years, 7 months ago) by johnpye
File length: 56109 byte(s)
Diff to previous 1300
silenced some debug output

Revision 1300 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 1 05:22:51 2007 UTC (13 years, 7 months ago) by johnpye
File length: 55996 byte(s)
Diff to previous 1280
Changed default IDA linsolver to 'DENSE'.
Fixed support for NULL child lists in PyGTK GUI (tentatively)

Revision 1280 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 10 10:47:23 2007 UTC (13 years, 8 months ago) by johnpye
File length: 55996 byte(s)
Diff to previous 1279
Fully operational test suite again (fixed TestIntegrator.testparameters)

Revision 1279 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 10 09:31:55 2007 UTC (13 years, 8 months ago) by johnpye
File length: 55930 byte(s)
Diff to previous 1271
Removed some debug output.
DSGSAT model L=10, n=47

Revision 1271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Feb 4 02:00:01 2007 UTC (13 years, 8 months ago) by johnpye
File length: 55444 byte(s)
Diff to previous 1263
Added bounds checking to IDA.
Suppressed some debug output.
TestSteam.testpeturbida is broken now.

Revision 1263 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 28 04:03:01 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55147 byte(s)
Diff to previous 1254
Commented out platform-specific <fenv.h> stuff (was breaking winxp build)

Revision 1254 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 27 10:50:40 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55185 byte(s)
Diff to previous 1251
Added transamp.a4c, another one of the tests from Univ. of Bari.

Revision 1251 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 27 05:04:49 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55325 byte(s)
Diff to previous 1249
Fixed 'hires' test (needed to rack down the tolerances a bit)
Removed newton test (until we make some changes to the solvers var list)
All of TestIDADENSE passes now and will be added to the buildbot list.

Revision 1249 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 27 04:14:58 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55331 byte(s)
Diff to previous 1246
Replacement integrator_ida_check_diffindex function. Fixed some errors in the old one.

Revision 1246 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 22:24:56 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55253 byte(s)
Diff to previous 1243
Reactivating couple of previously turned-off tests (IDA)

Revision 1243 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 12:35:17 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55135 byte(s)
Diff to previous 1240
Removed header files from test_general. We can do without them.

Revision 1240 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 11:12:20 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55147 byte(s)
Diff to previous 1239
@!@#$#$%! working at last

Revision 1239 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 04:36:07 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55072 byte(s)
Diff to previous 1238
Fixed TestIDA (it's not nice though)

Revision 1238 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 02:50:52 2007 UTC (13 years, 9 months ago) by johnpye
File length: 68728 byte(s)
Diff to previous 1237
Fixed testfixedvars1

Revision 1237 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 01:42:16 2007 UTC (13 years, 9 months ago) by johnpye
File length: 68468 byte(s)
Diff to previous 1236
Fixed problem with sort order of diffvars vs sindex vs IntegratorSystem::y

Revision 1236 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 13:36:41 2007 UTC (13 years, 9 months ago) by johnpye
File length: 66265 byte(s)
Diff to previous 1232
Reverting to 'standard' signal handling for IDA

Revision 1232 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 11:16:16 2007 UTC (13 years, 9 months ago) by johnpye
File length: 66289 byte(s)
Diff to previous 1228
Some disgraceful hacking to obtain SIGFPE details in ida.c. Working next to fix the proper ASCEND ascSignal implementation (which I broke at some point).

Revision 1228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 06:57:40 2007 UTC (13 years, 9 months ago) by johnpye
File length: 64275 byte(s)
Diff to previous 1225
Added getParameter by name in SolverParameters.
Fixed up refences to signal-related header files.
Fixed up various warnings from -pedantic compilation.
Identified an apparent bug with RelationCalcGradient (unsafe version).
Added support for compilation of a standalone C++ program (idatest) in SCons build.

Revision 1225 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 22:55:07 2007 UTC (13 years, 9 months ago) by johnpye
File length: 64199 byte(s)
Diff to previous 1224
Fixed the non-incident bug. TestIDA passes now.

Revision 1224 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 14:33:42 2007 UTC (13 years, 9 months ago) by johnpye
File length: 64166 byte(s)
Diff to previous 1223
Identified cause of problem with testincidence, still need to fix.

Revision 1223 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 14:25:15 2007 UTC (13 years, 9 months ago) by johnpye
File length: 63932 byte(s)
Diff to previous 1222
Fixed a bug with TestIDA.testfixedvars1 (integrator_ida_check_partitioning)

Revision 1222 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 13:46:44 2007 UTC (13 years, 9 months ago) by johnpye
File length: 63799 byte(s)
Diff to previous 1221
Fixed the crash, determined that there is a problem with creation via slv_param_char. Heap space is not being used.

Revision 1221 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 13:33:06 2007 UTC (13 years, 9 months ago) by johnpye
File length: 63765 byte(s)
Diff to previous 1218
Implemented the DAE partitioning routine but am nowing tracking down a fiendish memory crash.

Revision 1218 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 13:42:49 2007 UTC (13 years, 9 months ago) by johnpye
File length: 62544 byte(s)
Diff to previous 1217
Fixed integrator_ida_check_lists.

Revision 1217 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 13:10:26 2007 UTC (13 years, 9 months ago) by johnpye
File length: 61871 byte(s)
Diff to previous 1214
Added integrator_ida_check_lists, it's showing up a problem 

Revision 1214 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 11:30:25 2007 UTC (13 years, 9 months ago) by johnpye
File length: 60674 byte(s)
Diff to previous 1213
Added tests for dealing with dF/dy and dF/dy' incidence in IDA.

Revision 1213 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 10:43:55 2007 UTC (13 years, 9 months ago) by johnpye
File length: 60640 byte(s)
Diff to previous 1212
Added test cases for IDA incidence check.
Added test for where REQUIRE specifies nonexistent file.

Revision 1212 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 06:13:51 2007 UTC (13 years, 9 months ago) by johnpye
File length: 58681 byte(s)
Diff to previous 1211
block_debug function outputs all vars/rels in system.

Revision 1211 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 05:09:50 2007 UTC (13 years, 9 months ago) by johnpye
File length: 58721 byte(s)
Diff to previous 1208
Fixed dependencies on dimen.h and fractions.h.

Revision 1208 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 03:53:46 2007 UTC (13 years, 9 months ago) by johnpye
File length: 58127 byte(s)
Diff to previous 1205
Cleaned up some header file dependencies

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 03:03:01 2007 UTC (13 years, 9 months ago) by johnpye
File length: 58054 byte(s)
Diff to previous 1201
Split block partitioning stuff from slv_stdcalls.[ch] into block.[ch].

Revision 1201 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 13:26:06 2007 UTC (13 years, 9 months ago) by johnpye
File length: 57466 byte(s)
Diff to previous 1199
Added some more test cases for DAE problem analysis.
Little bit of tidying up in the slv*.c files.

Revision 1199 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 11:22:15 2007 UTC (13 years, 9 months ago) by johnpye
File length: 57398 byte(s)
Diff to previous 1196
Added method integrator_debug to integrator API (outputs internal data structures from integrator).
Added test cases for the diffvars code (python test.py).
Suppressed a lot of 'slv_get_*_*_list is NULL' messages when destroying system.
Specialised the system_build error message a little.

Revision 1196 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 05:41:59 2007 UTC (13 years, 9 months ago) by johnpye
File length: 56996 byte(s)
Diff to previous 1194
slv_get_status changed to return non-zero on failure.
Tests are passing with the new IDA 'analyse' routine but still plenty of gaps.

Revision 1194 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 01:30:56 2007 UTC (13 years, 9 months ago) by johnpye
File length: 55088 byte(s)
Diff to previous 1191
Split diffvars stuff out of analyse.c.
Fixed IDA to work when vars are fixed/freed after the integration system is build.
There will still be problems where fixing/freeing a *derivative* causes relations to drop out.

Revision 1191 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 21 12:00:57 2007 UTC (13 years, 9 months ago) by johnpye
File length: 53968 byte(s)
Diff to previous 1187
Added obs_id lists to analyse.c. Hopefully we can remove later when we work out a better architecture for that.

Revision 1187 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 21 06:03:58 2007 UTC (13 years, 9 months ago) by johnpye
File length: 54330 byte(s)
Diff to previous 1183
analyse.c can now pick up 'chains' of derivatives and pass them to the solver.

Revision 1183 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 20 09:15:51 2007 UTC (13 years, 9 months ago) by johnpye
File length: 54263 byte(s)
Diff to previous 1181
Huge reorganisation -- all mtx and lin files moved to base/generic/linear.
Required many #include statements to be changed.

Revision 1181 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 20 03:50:21 2007 UTC (13 years, 9 months ago) by johnpye
File length: 54333 byte(s)
Copied from: trunk/base/generic/solver/ida.c revision 1180
Diff to previous 1142
Shifted everything integration-related out into a separate directory.

Revision 1142 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 06:46:44 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 54456 byte(s)
Diff to previous 1141
Got paranoid about turning off signal handling... added '#ifdef ASC_SIGNAL_TRAPS' anywhere that signal handling referenced.
Signal handling is OFF by default now.

Revision 1141 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 04:44:12 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 54267 byte(s)
Diff to previous 1133
More sensible slv_param_real bounds in LSODE and IDA.
Run ode_init by default for dsgsat.a4c.
Fixed dependencies for swig python outputs.
Fixed [X] button on Integrator dialog.


Revision 1133 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 14 11:51:48 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 54276 byte(s)
Diff to previous 1129
Removed the 'REX' and 'IEX' array aliases (added the solver parameter comments directly in the slv_param_* calls).
Renamed Simulation::[gs]etSolverParameters to Simulation::[gs]etParameters.
Added [gs]etParameter (singular) methods to SWIG wrapper.
Fixed missing NULL in IDA.
Fixed bug with BDF/AM wrong way round in LSODE.
Removed some debug output from slv.c

Revision 1129 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 13 11:40:59 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 54271 byte(s)
Diff to previous 1070
Added integrator_write_matrix routine to allow integrator matrices to be written out.
Modified integrator in PyGTK to output this matrix to a file in /tmp in the case where Integrator::solve fails.
Fixed a bug in densematrix_write_mmio.
The current implementation of integrator_write_matrix might not be quite right yet... needs some more thought.

Revision 1070 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 14:36:31 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 54239 byte(s)
Diff to previous 1069
The extent of my efforts with an improved analyse routine for IDA. All commented out but can be activated using scons IDA_NEW_ANALYSE=1.

Revision 1069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 11:25:33 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 52169 byte(s)
Diff to previous 1068
Added scons switch IDA_NEW_ANALYSE for the new code that implements a better DAE analysis procedure.
Minor tidying in list.[ch]
Removed some DIEDIEDIE stuff from analyze.c.
Added 'odeid' to the 'varip' structure in same.
Collapsed a bunch of repetitive stuff with those fancy #defines I like so much.
Flipped some return codes from functions integrator.c to return 0 on success.
Added #include for sensitivity.h in lsode.c.
Catch exceptions from sim.build() in do_integrate() in PyGTK GUI.
Attempted to fix tcl/tk for errors from integrator_analyse as well (not tested).

Revision 1068 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 04:45:47 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 51423 byte(s)
Diff to previous 1060
Fixed some ASC_PANIC calls in atomvalue.c
Removed some <!-- --> comments from list.h
Added flagging of 'deriv' vars in analyse.c (no new lists are added though)
Created separate doxygen module 'Analyse' (only affect C comments)
Fixed return codes in slv9a.c, as well as some FPRINTFs.
Cleaned up some documentation in slv_client.h.
Removed var_diff, var_set_diff flag stuff.
Added docstring for Integrator_getEngines in python wrapper.


Revision 1060 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 7 07:10:16 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48939 byte(s)
Diff to previous 1049
Moved vector functions out of slv_common.c into mtx_vector.c
Created corresponding mtx_vector.h
Renamed vector_data to vec_vector and corresponding functions from slv_ to vec_* (with other minor named changed).
Made necessary changes to SConstruct, Makefile.in.
Done with regexxer, should have caught everything hopefully.

Revision 1049 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 5 13:45:13 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48860 byte(s)
Diff to previous 1023
Changed integrator_solve to return 0 on success
Changed integrator_checkstatus to return 0 on success
Some flow-through changes as a result of these.
Fixed problem with reporting of errors in do_method (gtkbrowser.py)
Expanded error msg in integrator.cpp
Fixed catching of Integrator C++ exceptions in integratorreporter.py.
Removed M.checkStructuralSingularity() in TestSteam.testdsgsat -- causes crash (why?)

Revision 1023 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 3 09:13:44 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48851 byte(s)
Diff to previous 1016
Fixed problem with output of scalar atol value in IDA.

Revision 1016 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 3 05:56:12 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48851 byte(s)
Diff to previous 1013
Fixed a silly bug with IDACalcIC.
Disabled all SPGMR tests from the python test suite.
All active tests in the Python tests should now be passing (24 tests currently)

Revision 1013 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 3 03:41:35 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48848 byte(s)
Diff to previous 1012
Added doxygen comments for linear routines in base/generic/solver.
Fixed up missing (still unimplemented) idalinear jacobian sjex.

Revision 1012 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 3 03:13:20 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 48780 byte(s)
Diff to previous 1009
Added idalinear.[ch], which will expose the linsolqr solver as a linear solver for IDA.
Modified ida.c to support this new linear solver under the name 'ASCEND'.

Revision 1009 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 2 12:10:53 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 47704 byte(s)
Diff to previous 1007
Fixing TestIDA.testdenx test case.
Removing some debug output from ida.c.

Revision 1007 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 2 11:44:52 2007 UTC (13 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 47689 byte(s)
Diff to previous 997
Fixed bug with memory deallocation for partitioner in ida.c
Silenced some debug output in ascSignal.c
Fixed execution of Python test suite (CUnit tests will need more work before running via this approach)

Revision 997 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 24 01:33:59 2006 UTC (13 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 47662 byte(s)
Diff to previous 996
Refactored tests into a shared library of tests and a executable of
just the CUnit driver. This will allow the CUnit test suite to be executed via
python unittest as part of the growing Python-based test suite.
Renamed setjmp and longjmp to SETJMP and LONGJMP throughout ASCEND, to allow
some debugging output to be added at each call.

Revision 996 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 23 06:53:04 2006 UTC (13 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 47175 byte(s)
Diff to previous 994
Added SIGFPE handling to IDACalcIC.
Added ctrl-F9 keystroke in Integrator dialog (PyGTK)
Fixed bun with 'Jac->N' not available under SUNDIALS 2.3.0.

Revision 994 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 22 14:28:40 2006 UTC (13 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 46790 byte(s)
Diff to previous 993
Added VAR_DIFF and VAR_DERIV flags to var_variable type.
Added flagging of variables as such during integrator_analyse_dae.
Cleaned out some old guff from the mtx* headers.

Revision 993 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 22 11:03:51 2006 UTC (13 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
File length: 43885 byte(s)
Diff to previous 992
Added Matrix Market export routines (from math.nist.gov).
Added necessary build commands for above.
Work on Jacobi preconditioner for IDA (ongoing)
Set integrator_analye to make a call to slv_block_partition. Not sure if that's a good idea or not.
Tidied up comments in linsol.h
Moved unnecessary #defines from model_reorder.h into model_reorder.c.
Cleaned up codedocs in mtx*.h
Added WITH_MMIO config.h flag.


Revision 992 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 21 13:37:45 2006 UTC (13 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 10 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years, 3 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years, 3 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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 (14 years, 4 months ago) by ben.allan
Original Path: trunk/base/generic/solver/ida.c
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 (14 years, 4 months ago) by johnpye
Original Path: trunk/base/generic/solver/ida.c
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