/[ascend]/trunk/ascxx/integrator.cpp
ViewVC logotype

Log of /trunk/ascxx/integrator.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 2327 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 22 07:17:24 2010 UTC (13 years, 8 months ago) by jpye
File length: 7569 byte(s)
Copied from: trunk/pygtk/integrator.cpp revision 2326
Diff to previous 1452
Merging in refactor of the C++ code, which is moved out of 'pygtk' and into 'ascxx'.
Adding support for IPOPT 3.9.1, the current latest version.
Support in dtar for parallel builds (possibly needs some testing still).

Revision 1452 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 28 14:01:51 2007 UTC (17 years, 3 months ago) by jpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7569 byte(s)
Diff to previous 1387
Integrators can now be dynamically loaded. DOPRI5 has progressed but still doesn't work.

Revision 1387 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Apr 7 14:43:31 2007 UTC (17 years, 5 months ago) by jpye
Original Path: trunk/pygtk/integrator.cpp
File length: 8100 byte(s)
Diff to previous 1337
Added plot support in Integrator output tabs.
Some other minor debugging for pylab integration and idaanalyse output.

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

Revision 1324 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 6 14:40:02 2007 UTC (17 years, 6 months ago) by jpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7870 byte(s)
Diff to previous 1310
Fixed integrator_ida_check_index. More tests still required.

Revision 1310 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 4 12:34:05 2007 UTC (17 years, 6 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7802 byte(s)
Diff to previous 1306
Silenced some debug output
Added ability to ctrl-C IDA when running through python

Revision 1306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 3 11:50:47 2007 UTC (17 years, 6 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7799 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 (17 years, 6 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7776 byte(s)
Diff to previous 1221
silenced some debug output

Revision 1221 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 13:33:06 2007 UTC (17 years, 7 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7694 byte(s)
Diff to previous 1201
Implemented the DAE partitioning routine but am nowing tracking down a fiendish memory crash.

Revision 1201 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 22 13:26:06 2007 UTC (17 years, 7 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7670 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 (17 years, 7 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7656 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 (17 years, 7 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7566 byte(s)
Diff to previous 1140
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 1140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 04:08:08 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7420 byte(s)
Diff to previous 1129
Added support for setting Integrator parameters through PyGTK GUI.
Lots of whitespace changes in slv3.c (sorry).
Fixed problem with freeing sys->parms in slv.c


Revision 1129 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Jan 13 11:40:59 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7426 byte(s)
Diff to previous 1097
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 1097 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 10 05:41:38 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7278 byte(s)
Diff to previous 1087
Fixed up some error reporting stuff in LSODE.
Fixed up command-line invocation of 'ascdev' and also 'ASC_GDB=1 ascdev'.

Revision 1087 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 9 15:23:48 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7221 byte(s)
Diff to previous 1071
Fixed independent variable detection (again).

Revision 1071 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 9 00:29:16 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 7013 byte(s)
Diff to previous 1069
Removed some outstanding references to g_ascend_errors (see #ifdef REIMPLEMENT_STREAMS)
Added a check in integrator.cpp for badly formed integrator_get_engines() return.

Revision 1069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 8 11:25:33 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6948 byte(s)
Diff to previous 1049
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 1049 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 5 13:45:13 2007 UTC (17 years, 8 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6818 byte(s)
Diff to previous 979
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 979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 20 14:34:16 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6722 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, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6762 byte(s)
Diff to previous 969
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 969 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 19 00:57:26 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6761 byte(s)
Diff to previous 966
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 966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 14 14:04:54 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6757 byte(s)
Diff to previous 953
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 953 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 7 14:47:15 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6753 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 (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6679 byte(s)
Diff to previous 942
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 942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Nov 25 05:26:47 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 6600 byte(s)
Diff to previous 941
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 941 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 10:46:32 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 5166 byte(s)
Diff to previous 938
Changed integrator_set_engine to return 0 on success.
Fixed Integrator::setEngine to throw range_error / IndexError on invalid selection.
Test suite contains testIDA that works now (more tests yet to come)

Revision 938 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 06:09:46 2006 UTC (17 years, 9 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4914 byte(s)
Diff to previous 921
Added support for dmalloc (http://dmalloc.com)
Added Integrator::setEngine(string name)
Minor other stuff.

Revision 921 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 6 07:49:06 2006 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4637 byte(s)
Diff to previous 915
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 915 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Oct 28 07:06:22 2006 UTC (17 years, 10 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4462 byte(s)
Diff to previous 854
Working on what the problem is with 'on_load' methods in the C++/Python code.
Seems that 'EXTERNAL solve(SELF);' puts the model into a state which 'works' but if that's
not done first, then that set values in the model don't work correctly...

Revision 854 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 20 13:36:40 2006 UTC (18 years ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4343 byte(s)
Diff to previous 746
First tentative version in 'integration reporting':
Values of observed variables from the simulation are added to an Observer table after simulation completes.
This is not very efficiently coded at this stage but is a start.
Also some minor changes to text and comments in some base/generic files.

Revision 746 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 7 11:01:26 2006 UTC (18 years, 2 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4130 byte(s)
Diff to previous 709
Fixed small int/unsigned warnings.
Switched to preferring 'numarray' over 'numpy' (perhaps temporarily)

Revision 709 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 28 16:28:57 2006 UTC (18 years, 2 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4120 byte(s)
Diff to previous 669
Monster commit!
Lots of recommenting and reorganising of external relations-related stuff.
Replaced a lot of ascmalloc and asccalloc calls with the new ASC_NEW* macros.
Fixed (?) the problem Art is having with icons in PyGTK.
Turned on -Wall in SConstruct and fixed up a stack of warnings.
Removed the redundant exit(2) from after Asc_Panic calls and added __attribute__((noreturn)).
Set doxygen to create callgraphs to level 2, updated doxyfile to version 1.4.7.
Fixed up building of extfntest.c.

Revision 669 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Jun 21 07:00:45 2006 UTC (18 years, 3 months ago) by johnpye
Original Path: trunk/pygtk/integrator.cpp
File length: 4087 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