Parent Directory
|
Revision Log
Sticky Revision: |
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.
Fixed up some error reporting stuff in LSODE. Fixed up command-line invocation of 'ascdev' and also 'ASC_GDB=1 ascdev'.
Fixed independent variable detection (again).
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.
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).
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?)
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.
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().
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.
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)
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).
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).
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.
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)
Added support for dmalloc (http://dmalloc.com) Added Integrator::setEngine(string name) Minor other stuff.
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).
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...
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.
Fixed small int/unsigned warnings. Switched to preferring 'numarray' over 'numpy' (perhaps temporarily)
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.
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.
john.pye@anu.edu.au | ViewVC Help |
Powered by ViewVC 1.1.22 |