Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Revision: |
Add DOPRI5 to installer package (EXPERIMENTAL). On Windows, use the registry to locate the book.pdf documentation file. Fix path to test models for DOPRI5 in test.py.
Further work on the IPOPT implementation.
Changed fundamental units to the standard SI abbreviations. Added new solver parameters for IPOPT (still needs testing). Added context-aware UnitsDialog that by default uses the type selected in the browser. Added attempt at detection of 'lmodern' (for bug #351). Changed base units in compiler/units.h.
Remove unused var. Fixed lotka.png graph writing example.
Moved 'incidence.c' and 'incidence.h' to base/generic/system. Change system_write_graph to use GraphViz directly, and create PNG output. Created 'TestSystem' suite in test.py and added test for PNG graph create (no checking performed though so far). Updated Simulation::write to use the new system_write_graph syntax (no filters any more). Fixed WITH_GRAPHVIZ flags for graph.c.
created typedef ExprSymFilterFn. updated GtkSourceView lang definition. removed execvp call in test.py.
Test cases pass for compound sections.
Fixed bug with compound section. Added test case for johnpye/section.a4c.
Placeholder ipopt_get_status. Added very simple test-case for IPOPT.
Fixing for missing yacc/lex on Windows, auto-update of them when yacc/lex *are* avail. Fixing 'test.py' operation on Windows (ASCENDSOLVERS env var) Adding missing ida.dll to installer. Adding some missing export symbols in libascend.
Fixed problems with PyGTK GUI on Windows. Still problems with INSTALL_SOLVERS needing to be fixed for Tcl/Tk GUI.
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.
Moving integrators to own directory, about to make them self-contained shared libraries.
More on relocation of solvers
Moved all solvers to dynamically loaded modules currently in folder models/johnpye. Location of these files will ultimately change.
Added stats output in DOPRI5 integrator. Typo in ida.c. Added assertions in TestDOPRI5 (current they fail). Still got problems with DOPRI5 integrator.
Fixed time values of DOPRI5 integrator.
Fixed bugs in aren.a4c model, test case runs but needs validation.
DOPRI5 is running... but is it correct? Still needs lots of testing
Integrators can now be dynamically loaded. DOPRI5 has progressed but still doesn't work.
Commented out failing tests...
Added full jacobian preconditioner (ongoing). Some tweaks to dsgsat & related models.
Substituted stationary momentum in dsgsat3.a4c
Fixed build problem on MinGW GCC 3.4.2 Fixed problem with font in IPython console on Windows Some attempts to fix problems with FILE* support in Python bindings gfortran is now the preferred FORTRAN compiler. Comment out failing FILE* tests for the moment.
Added support for brent solver in EXTERNAL method
Added some tests that pick up two bugs in the current implementation of default_self
Added test case for relation 'included' flag in python.
Fixed TestSolver failing case (linux only). Silenced some debug output.
Added test for write('graph'). Added couple of items to syntax definition. Updated GPL notice in some core model files.
Fixed output of DOT graphs in C++/python interface, added test case.
Fixed DOT graph output (system_write_graph), added very basic test case.
Fixed silly error in logrelation.c from June 2006 :-) Added regression test.
Added test case for the 'sonic.a4c' model described by Joe Zaher/implemented by Vicente.
Added test of sequence of logical relations. Fixed regression with activeblock from last commit.
Added a test case for the simplest-possible logical relation solve. Tolerate lack of bb->block in Simulation::processVarStatus. Fixed a bug in analyze.c in case of pure-logical system.
Removed ASC_IDA_NEW_ANALYSE condition from the codebase. Cleaned up some debug output.
Added support for detection of boundary crossing in the IDA integrator. Cleared up some code comments and formatting.
Fixed broken tests (new names in Integrator::writeMatrix)
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.
Split linsolqr.c into smaller files (as directed in code comments for '#include "plainqr.c"', etc)
Fixed integrator_ida_check_index. More tests still required.
Fixed problem with ctrl-c Improved column alignment in text output of integration results Pared back the default method in dsgsat3.a4c
Added index checking for semi-explicit DAE systems. Migrated error messages for mtx and linsolqr to the error_reporter mechanism.
Fixed failing testidapeturb (removed some upwind4 formula)
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.)
Added test for empty sets with new default behaviour.
Added undefined test for defaults with ARE_THE_SAME
Fixed test.py for lack of module 'dl' on AMD64
Fully operational test suite again (fixed TestIntegrator.testparameters)
Removed some debug output. DSGSAT model L=10, n=47
Central differences added in some cases (DSGSAT3)
All of TestSteam passes. Have increased zone of convergence for dsgsat3 model by changing to some central differences. Randomly.
Removed teststeadyida2 (not implemented correctly). Re-added default_self values from earlier.
Identified a problem in moving from qdot_s = 700 to qdot_s = 1000 in QRSlv steady case. Maybe a problem with nominal values?
Added bounds checking to IDA. Suppressed some debug output. TestSteam.testpeturbida is broken now.
Reduced some debug output. Added ATOM for specific_energy_rate. Fixed default_self routines for DSG models. Added testdsgsatrepeat test to check above.
Stable with 4 nodes now, but only with a small peturbation.
dsgsat3 model gives correct pressure drops now. found an error in the momentum equation.
Peturbation of the steam model with IDA seems to work!
Fixed insanity between var_fixed and var_apply_filter in idaanalyse.c Copyright info in pipeline.a4c. Added teststeadyida in TestSteam (currently passes) Fixed LSODE parameters in teststeadylsode.
Copyright dates
Fixed the bounding problem in Slv9. Added python test cases for all of the models in Vicente's thesis. Will now add these tests to buildbot.
Small error with the chemakzo test case.
Added transamp.a4c, another one of the tests from Univ. of Bari.
Addded Chemical Akzo Nobel test problem (DAE of index 1)
Removed the 'command line solver' from the Tcl/Tk interface. Deactivated the 'plot' command in slv_interface. Eliminated various #include <compiler/*> from the solver. Added another sample model (which current fails because of problem with non-incident diff vars.
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.
Added 'hires.a4c' test model. Split slv_system_structure out of slv.c and into system_impl.h. Changed void* diffvars pointer in slv_system_structure to a typed pointer. Moved SolverDiffVarCollectionStruct into system_impl.h. Renamed slv_system_structure to just system_structure (in anticipation of a 'system' module separate from the actual solvers).
Reactivating couple of previously turned-off tests (IDA)
moving it back. silly me.
Just a name change
Fixed problem with sort order of diffvars vs sindex vs IntegratorSystem::y
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.
Implemented the DAE partitioning routine but am nowing tracking down a fiendish memory crash.
Added integrator_ida_check_lists, it's showing up a problem
Remove GDB silliness
Added tests for dealing with dF/dy and dF/dy' incidence in IDA.
Added test cases for IDA incidence check. Added test for where REQUIRE specifies nonexistent file.
Split block partitioning stuff from slv_stdcalls.[ch] into block.[ch].
Added some more test cases for DAE problem analysis. Little bit of tidying up in the slv*.c files.
Fixed a bug with first var in first var chain not having ode_type=1. Added more test cases for diffvars.c.
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.
slv_get_status changed to return non-zero on failure. Tests are passing with the new IDA 'analyse' routine but still plenty of gaps.
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.
analyse.c can now pick up 'chains' of derivatives and pass them to the solver.
Added test case for collapsingcan2.
Commented out crashing test.
Added (failing) test case for do_sensitivity_all.
Added 'distance_calc' to the self-tests.
Refactored sensitivity module a little further, added self_test.
Fixed sensitivity module. It now runs as mostly external code, with just a few relics required by LSODE still in packages/sensitivity.c.
Fixed value of 'dz' in dsgsat.a4c. Added test case for saturated steam in terms of (u,v) Other minor debug output changes.
Added roots_of_poly test.
Added 'collapsing can' example model and self-test.
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).
Got paranoid about turning off signal handling... added '#ifdef ASC_SIGNAL_TRAPS' anywhere that signal handling referenced. Signal handling is OFF by default now.
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
Attempting to fix sunos test.py problem. Preparting dsgsat2. for IDA.
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
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.
Added test case for dsgsat2.a4c to date
Added Matrix object to C++ interface. This is a thin wrapper for 'struct mtx_header *'. Added getMatrix method in Simulation class. Simple test case to write a matrix from a simulation (but no validation of the target file). Added #include to ascPanic.h. Added typemap in solver.i to ensure that python file object correctly translate en route to C.
dsgsat behaving correctly in steady-state mode
fixed typo on Windows test.py
Fixed test suite to safely run TestFreesteam (will add to buildbot)
Fixed up test.py to allow "ASCENDLIBRARY=~/freesteam/ascend ./test.py" Fixed up keyboard shortcuts in PyGTK tools menu
Fixed a bug introduced into slvDOF_structsing. Fixed an LD_LIBRARY_PATH problem with test.py
Fixing LD_LIBRARY_PATH problem in test.py
Removing unnecessary 'import subprocess' in test.py.
fixed test.py after move to root dir
Moved test.py to root directory
Fixed TestSteam.testdsgsat (on_load exception ignored)
Fixed test.py so that env vars not required
fixing 'modelsdir' for Windows local test runs
redo last
undo last
Added setting of ASCENDLIBRARY to test.py.
Added Instance.as(units) method to Python bindings (bug #302)
Marked extpy as EXPERIMENTAL via ASC_PROG_WARNING during load. Commented out the IDADENSE.testkryx test case, as it's been causing a hang.
Permit 'pycunit' missing
Fixing up setpoint in satsteamstream test. Commenting out failing tests (with @TODO comments)
simplified slv_check_bounds call.
Adding integration test in TestSteam.testdsgsat. Naming couple of anonymous structs.
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?)
Several changes to get BinToken compilation active again from PyGTK interface. Still not working but the problems now are in the C layer. Tidied doc for slvDOF.h Changed BinTokenSetOptions to saner use of strings -- no more 'taking ownership' of char arrays passed. Added Compiler.use_binary_compilation option in PyGTK GUI. Moved all the bintoken stuff out of class Type and into Compiler, where it should be (C++).
Fixed PyGTK GUI for case where syntax errors in command-line-specified file are found. Fixed 'reload' behaviour for above case also. Fixed satsteam test cases.
Added saturated steam routines (taked from IAPWS 'supsat.pdf') Added test case TestSteam for evaluating iapwssatprops.a4c documented test cases.
Fixed up some #includes in compiler .[ch] files. Switched instantiate.c to using 'asc_assert' instead of 'assert'. Added some missing GPL headers in C++ code. Silenced some slv3.c debug output. Switch void-return to int-return in slv9_presolve etc (slv9.c) Attemping to fix solvernotes.py for the commandline environment (browser==None) Removed redundant solve(SELF) in thermalequilibrium2.a4c. Some error reporting from addone_calc (extfntest.c). Expanded test size in extrelfor.a4c. Big rearrangement of bboxtest.c for top-down style. Fixed TestFreesteam.testintegrator, added end-value checks.
Fixed a few more TestBlackBox test cases.
Softened error from bintoken.c Improved error reporting in instantiate.c Rearranged #includes in relation_util.[ch] Changed to asc_assert in relman.c Lots of fixed in slv3.c to get reporting of 'calc_ok' right. Also some better error reporting from slv3.c. Fixed usage info for error_reporter_tree_start(). Improved error/status reporting from bboxtest.c. Set PyGTK GUI to correctly catch ::solve errors. Improved reporting about when solver fails (diverged, inconsistent, exceeded time/iters) Fixed TestBlackBox.testfail1 and TestBlackBox.testfail2. Fixed type.cpp to throw errors when instantiation fails.
Switch 'void slv_*' function to output a 0-on-success error flag. Added some debug output to ensure that such output gets through. Fixed TestBlackBox.testfail1 to work, using above changes. Simulation::solve now throws an exception on failure (will need to modify PyGTK GUI accordingly)
Added a necessary export symbol in extcall for used by bboxtest. Broke apart Ben's z-bbox test suite and added it to the Python tests.
Added missing dl import in test library (hoping to fix SunOS problem)
Working on tracking down a segfault occuring when TestIDADENSE and TestExtFn test suites are run together. Added comments about new solverparameter macros.
Added extfn and extpy to python test suites.
Relaxed assertions in TestIDADENSE.testdenx
Fixing problem with float evaluation of Instance objects. Added TestExtFn suite.
Fixing ImportError typo
Added optional 'freesteam' test. Fixed GTK+ dependency via TestIDADENSE.testdenx and M.solve(...)
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)
Fixing TestIDA.testdenx test case. Removing some debug output from ida.c.
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)
Some progress on fixing test_ascSignal.c
Fixed some memory leaks in ospath.c and test_ospath.c.
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.
Added support for preconditioner in IDA module. Not quite sure what to put inside it yet though.
Added IDA 'MAXNCF' option. Added TestIDA.testlotkaDENSE.
Added TestIDA.testkryxDENSE which seems to work OK.
Trying to get idakryx example working. Better reporting of failures from IDACalcIC.
Fixed detection of libpython on Windows. Fixed TestLSODE.testlotka test.py Removed a sundials_dense.h assertion under windows.
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.
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).
Fixed bug with Compute_J (using NumberRels instead of slv_get_number_solvers_rels). Added GPL header to sensitivity.c. Renamed IDA test cases.
Fixed 'testcmslv2' test case. Fixed 'sunpos5' test case. One can now type 'python test.py TestSolver' and all current tests pass.
Fixed the 'repeated test' bug (a static pointer to a destroyed symchar was being used in type.cpp) Improved error reporting for 'not a refined solver_var' message. Refactors Library::listModules and Library::getModules to use shared code. TODO: find a more efficient solution to the static pointer problem above.
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)
Adding missing 'aww.*' files for Art's DAE integrator. Adding 'maxl' (Maximum Krylov dimension) option to IDA.
Moved non-functioning CUnit tests to bottom of python test.py
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 a test method to run a integration with one variable (a numerical example from the text by Zill)
Added ATOLVECT, RTOLVECT parameters to LSODE Fixed silly bug in testing of newton.a4c Text changes in ida.c.
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).
Fixed a silly bug with Integrator::setEngine. Added test case for lotka.a4c to test.py
Removed references to 'ASC_BIG_BUGMAIL' and 'ASC_MILD_BUGMAIL' Disabled stream redirection functions (they were making testing difficult) Re-wrote the main test-runner to permit specific tests to be run from the commandline (ongoing) Disabled readln tests that required stream redirection.
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).
Added 'GSMODIFIED' parameter to IDA implementation. Working on getting the idadenx model to converge using the SPGMR solver.
Completed adding idadenx to test suite. Restored behaviour of mxstep to IDA.
Found bug in integrator_analyse_dae... ongoing
Fixed a bug in slv_param_char. More work on IDA ongoing.
Implemented ATOLVECT, ATOL, RTOL parameters for the IDA integrator.
Some bugs fixed with SolverParameterIter
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)
Fixed 'testLSODE' in test.py, added 'IntegratorReporterNull' that makes no output (for testing purposes)
Added support for dmalloc (http://dmalloc.com) Added Integrator::setEngine(string name) Minor other stuff.
Fixed some bugs with error_reporter_tree, and with error_callback in gtkbrowser.py
Working on bugs in the 'error_reporter_tree' stuff. Removed binary files from base/generic/utilities/test (these are built as needed by SCons now)
Added 'error_reporter_tree' that can organise error messages/output into a structured hierarchy.
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.
Converting some line endings to unix form as part diagnosing the problem with the current merge from the DAE branch.
Added suppression of 'unexpected char' (scanner) and 'generic' (parser) errors. Removed 'DIFF' stuff from parser and scanner. (It's still in expr_types.h and elsewhere) Added test case to detect this scanner problem.
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 |