/[ascend]/trunk/solvers/lsode/asc_lsode.c
ViewVC logotype

Log of /trunk/solvers/lsode/asc_lsode.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 1509 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 27 13:08:47 2007 UTC (17 years, 5 months ago) by jpye
File length: 40267 byte(s)
Copied from: trunk/solvers/lsode/lsode.c revision 1508
Diff to previous 1507
Fixed external loading of integrators, at least on my system. Needs testing
with/without fortran, sundials, etc.
Changed little thing kn d1mach.c to make default behaviour correct on Linux.

Revision 1507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 27 11:25:37 2007 UTC (17 years, 5 months ago) by jpye
Original Path: trunk/solvers/lsode/lsode.c
File length: 39797 byte(s)
Copied from: trunk/base/generic/integrator/lsode.c revision 1506
Diff to previous 1491
Moving integrators to own directory, about to make them self-contained shared libraries.

Revision 1491 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 10 13:49:39 2007 UTC (17 years, 6 months ago) by jpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39797 byte(s)
Diff to previous 1487
Moved all solvers to dynamically loaded modules currently in folder models/johnpye.
Location of these files will ultimately change.

Revision 1487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 10 05:09:34 2007 UTC (17 years, 6 months ago) by jpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39801 byte(s)
Diff to previous 1306
Changes to the way in which sovlers are registered, to facilitate
dynamically-loaded solvers. Also split much of the 'solver' stuff
from slv.c (in the system directory) out into new file solver/solver.c
and added matching solver/solver.h. Solver IDs are now fixed-- they
don't change, and are stored in a list instead of in an array.

Revision 1306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 3 11:50:47 2007 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39773 byte(s)
Diff to previous 1235
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 1235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 13:22:51 2007 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39508 byte(s)
Diff to previous 1228
Added missing signal pop

Revision 1228 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 06:57:40 2007 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39429 byte(s)
Diff to previous 1196
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 1196 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 05:41:59 2007 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39512 byte(s)
Diff to previous 1184
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 1184 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 20 09:34:45 2007 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39491 byte(s)
Diff to previous 1183
Fixed test suite for moved files.
Removed unaccessible code in lsode.c.

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

Revision 1182 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 20 04:42:54 2007 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/base/generic/integrator/lsode.c
File length: 39632 byte(s)
Diff to previous 1181
Change to allow LSODE to *attempt* models/nonstate.a4c. Not working correctly yet though.

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

Revision 1174 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 18 00:27:50 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 39948 byte(s)
Diff to previous 1161
Fixed 'ascdev' script to work correctly in MSYS (now needs retesting in linux).
Removed 'make_matrix' and 'free_matrix' from sensitivity code and reused densemtx.c instead.
Fixed linking issues in finitediff.dll.

Revision 1161 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 17 01:35:13 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 40029 byte(s)
Diff to previous 1148
Fixed value of 'dz' in dsgsat.a4c.
Added test case for saturated steam in terms of (u,v)
Other minor debug output changes.

Revision 1148 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 23:40:40 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 39963 byte(s)
Diff to previous 1144
Fixed ANALYSE_DEBUG in integrator.c
Added printout of indep var in IntegratorReporterConsole class (C++)

Revision 1144 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 10:42:11 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 39929 byte(s)
Diff to previous 1142
Added except.[ch] which are intended to hold some TRY..CATCH..FINAL macro goodness to replace the explicit longjmp calls.
Added time-watching in LSODE to update GUI in case of long samplelist timesteps (TODO: permit interruption vai this mechanism too).

Revision 1142 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 06:46:44 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 38724 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 (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 38515 byte(s)
Diff to previous 1134
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 1134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 14 11:56:30 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 38528 byte(s)
Diff to previous 1133
Fixed bug with MAXORD initialisation.

Revision 1133 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 14 11:51:48 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 38489 byte(s)
Diff to previous 1132
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 1132 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 14 10:40:58 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 38332 byte(s)
Diff to previous 1131
Converted slv3 (QRSlv) to new slv_param_bool (etc) parameter code.
Adding a testcase for dsgsat with LSODE as well as IDA.
Fixed some remaining external function calls (needing userdata ptr).
Adding LSODE parameters 'METH' and 'MITER' for setting AM and BDF methods.
Rerranged v_expr in iapwssat.a4c.
Removed lower bound on mdot in satsteamstream.a4c.

Revision 1131 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 13 12:47:44 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 35468 byte(s)
Diff to previous 1129
Fixing for MMIO absent

Revision 1129 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 13 11:40:59 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 35357 byte(s)
Diff to previous 1128
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 1128 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 13 08:33:43 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 34433 byte(s)
Diff to previous 1099
Migrated dense matrix functions out of lsode.c and into a new file.
Added Matrix Market format dense matrix output function in densemtx.c.

Revision 1099 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 10 06:26:02 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 35428 byte(s)
Diff to previous 1097
Silenced some errors

Revision 1097 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 10 05:41:38 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 36390 byte(s)
Diff to previous 1069
Fixed up some error reporting stuff in LSODE.
Fixed up command-line invocation of 'ascdev' and also 'ASC_GDB=1 ascdev'.

Revision 1069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 11:25:33 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 34019 byte(s)
Diff to previous 1055
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 1055 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 6 14:47:13 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33985 byte(s)
Diff to previous 1050
simplified slv_check_bounds call.

Revision 1050 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 6 04:04:47 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33861 byte(s)
Diff to previous 1049
Adding integration test in TestSteam.testdsgsat.
Naming couple of anonymous structs.

Revision 1049 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 5 13:45:13 2007 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33835 byte(s)
Diff to previous 997
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 997 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 24 01:33:59 2006 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33781 byte(s)
Diff to previous 979
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 979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 14:34:16 2006 UTC (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33781 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 (17 years, 11 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33655 byte(s)
Diff to previous 966
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 966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 14 14:04:54 2006 UTC (18 years ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 33496 byte(s)
Diff to previous 963
Cleaned up code comments in units.h
Fixed a bug with starting timesteps in LSODE (i think)
Added function to output a SampleList to the console (for debugging)
Removed debug output from base/generic/test/SConscript.
Removed 'custom' headers for UnitsM in ascpy.i
Made a sane default ctor for UnitsM
Added some more test cases to the Python unittest suite (still a problem running multiple solver-based tests in a single run)

Revision 963 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 12 13:36:52 2006 UTC (18 years ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 32921 byte(s)
Diff to previous 962
Added ATOLVECT, RTOLVECT parameters to LSODE
Fixed silly bug in testing of newton.a4c
Text changes in ida.c.

Revision 962 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 11 14:43:02 2006 UTC (18 years ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 31741 byte(s)
Diff to previous 942
Adding more LSODE test cases.
Removing some 'error tree' debug output.
Added RTOLDEF and ATOLDEF parameters to LSODE (and fixed a bug relating to integrator_lsode_params_default).

Revision 942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 05:26:47 2006 UTC (18 years ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 30912 byte(s)
Diff to previous 938
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 938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 06:09:46 2006 UTC (18 years ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29761 byte(s)
Diff to previous 908
Added support for dmalloc (http://dmalloc.com)
Added Integrator::setEngine(string name)
Minor other stuff.

Revision 908 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 26 10:18:53 2006 UTC (18 years, 1 month ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29691 byte(s)
Diff to previous 903
first attempt at merging with Ben's changes on the trunk

Revision 903 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 25 13:07:12 2006 UTC (18 years, 1 month ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29682 byte(s)
Diff to previous 902
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 902 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 25 07:35:39 2006 UTC (18 years, 1 month ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29318 byte(s)
Diff to previous 895
Integrator remembers 'duration' used previously.
Implemented interuption of integration with 'stop' button.

Revision 895 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 24 00:12:34 2006 UTC (18 years, 1 month ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29024 byte(s)
Diff to previous 888
Removed debug output (modelview.py)
Fixed bug in diagnose.py with large blocks
Removed debug output and improved error message in conopt.c
Removed debug output in lsode.c
Removed debup output in ascDynaload.c

Revision 888 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 11 14:53:27 2006 UTC (18 years, 2 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29008 byte(s)
Diff to previous 855
Added 'energy_per_volume' and 'power_per_volume' to atoms.a4l.
Converting dsg.a4c into a dynamic (IVP) model.
Removed some debug output from various places.
Renamed some functions in lsode.c (removed references to 'blsode' name)
Added comments in LSODE about what method is being used.
Improved LSODE error output a little bit (why bother tho eh)
Improved coupla error msgs in slv_stdcalls.c.

Revision 855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 20 14:00:41 2006 UTC (18 years, 2 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29952 byte(s)
Diff to previous 741
Removed some verbage in Integrator output

Revision 741 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 6 08:54:42 2006 UTC (18 years, 5 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 29946 byte(s)
Diff to previous 704
Fixes for MSVC++

Revision 704 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 26 23:00:56 2006 UTC (18 years, 5 months ago) by ben.allan
Original Path: trunk/base/generic/solver/lsode.c
File length: 29950 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 (18 years, 5 months ago) by johnpye
Original Path: trunk/base/generic/solver/lsode.c
File length: 30015 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