Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Revision: |
Rename to StudyReporter in studyreporter.py (seems to be duplication from solverreporter.py?). Fixed some unit conversions in tmy3.c, test file seems correct now (to float precision at least). Suppressed some debug output to try to speed up Study feature, not there yet.
Workaround for bug 494. Very close to the changes that Grivan suggested in changeset 3482. ASCEND now working in Fedora 16 with SWIG 2.0.4.
Working on P&W Ex 9.7. Some minor cleanup of other files.
Fixes bug 490.
Tracking down source of crash in IPOPT. Seems to be a problem with nnzJ being calculated inconsistently?
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).
Refactor some more stuff from 'utilities' into 'general' with goal that 'general' never refers to 'utilities'.
Refactoring ascMalloc.h, mem.h to belong in 'general' with goal of having no references in 'general' to functions in 'utilities'.
Fixing error return from asc_helmholtz function. The bug with 'defaultall' functionality is still here... see boiler_simple_test mode in models/johnpye/fprops/rankine_fprops.a4c.
Merging slvreq functionality into trunk.
cavity.a4c: view factor should be a fraction. pv_*: working on annual simulation model, but more work required (eg power point tracking) gtkbrowser: work on bug #405 commenting out debug output in simulation.cpp and relation_util.c.
Merging all changes from Mahesh's GSOC project. svn merge -r2273:2671 svn://ascend.cheme.cmu.edu/ascend/code/branches/mahesh . See http://ascendwiki.cheme.cmu.edu/User:Mnm87 for details.
Google SoC 2009 Project : Implementation of canvas based modeller for energy systems
Attempting to fixed rankine_regen model, not working. This commit with model rankine.a4c demonstrates bug 399. Added dspec, first attempt at single-file debian package script.
Fixed compile for new header file locations <ascend/compiler/xxx.h> etc.
Silenced som runtime debug output for datareader and solver. Added first shot at canvas gui code using Gaphas.
Removed a whole lot of debug output from various places.
Fixed bug #361. Moved a number of vars out of SUBST_DICT to prevent config.h changes from spawning a rebuild of libascend. Eliminated use of ASC_WITH_CONOPT from C code (still need ASC_LINKED_CONOPT for the moment).
Further work on the IPOPT implementation.
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.
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.
Added plot support in Integrator output tabs. Some other minor debugging for pylab integration and idaanalyse output.
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 'message reporting' to the simplesolverreporter. Allows progress of 'STUDY' runs to be reported via the GUI.
Standardising formatting of 'if' and 'else' in slv9. Renamed VarStatus to InstanceStatus (so that relation status can also be reported). Added reporting of inactive-in-a-when relations (using the broken-link icon for the moment).
Added 'more properties' button in 'relation properties' dialog. Corrected the use of the term 'active' to be 'included' in PyGTK GUI. Added (basic) support for setting relations included/unincluded in PyGTK GUI.
Fixed TestSolver failing case (linux only). Silenced some debug output.
Fixed 'do_check' in PyGTK GUI. Added black box direct solve, experimental.
Fixed output of DOT graphs in C++/python interface, added test case.
Fixed DOT graph output (system_write_graph), added very basic test case.
Added routine for outputting system as a DOT graph. Changed an 'assert' to an 'asc_assert' in logrelation.c. Changed logical relation in sequence.a4c (was causing a crash). Added Simulation::write(FILE,char*) for outputting *stuff* from a simulation.
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.
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.
Changed default IDA linsolver to 'DENSE'. Fixed support for NULL child lists in PyGTK GUI (tentatively)
Added build() inside Simulation::check() function. Updated syntax/comments in vessel, vesselPlain models (need to revisit the tutorial now).
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).
Removed unnecessary #include <compiler.h>
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.
Fixed 'plotbvp' example. Tried to clean up C++ wrapping wrt default ctors & std::vector in SWIG (not much improvement though)
Little bit of work trying to make interface pointers work better. Not much success.
slv_get_status changed to return non-zero on failure. Tests are passing with the new IDA 'analyse' routine but still plenty of gaps.
Huge reorganisation -- all mtx and lin files moved to base/generic/linear. Required many #include statements to be changed.
Added support for slv_far_from_nominals in C++/Python layer. Converted 'child not found' from error to CONSOLE_DEBUG message. Added some nominal values in iapwssatprops.a4c. Added getRealPref in preferences.py.
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
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.
Added ability to show all fixed variables in a model using PyGTK interface.
Added some more user error messages from the solver. Added detection for the MFGRAPH library, which will be used to output GraphViz files based on the incidence matrix.
Fixed a bug introduced into slvDOF_structsing. Fixed an LD_LIBRARY_PATH problem with test.py
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++).
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)
Fixing bug with importhandler_setsharedpointer (you need to RemoveTableData if you want to overwrite a value) Minor correction to (not fully implemented) importhandler_destroylibrary for case where library is NULL.
Fixing problem with float evaluation of Instance objects. Added TestExtFn suite.
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)
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.
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).
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).
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)
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).
Fixing bug #305 (CONOPT not working with testconopt.a4c). Some effort to rearrange external 'solve' scripts, ongoing. Note, relman_diff2 returns 0 on success, but relman_eval returns 1 on success!
Little bit of added debug output
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...
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'.
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.
The 'sim' object is correctly accessible from script methods now, even if run during on_load. Added 'getSimulation' to registry.cpp, added 'runDefaultMethod' to Simulation, added 'getMethod' to Type. Running of 'on_load' is instigated at the Python level now, so that relevent python variables are set at simulations are built, etc. This appears to have cause some changes to the way the solver behaves, possibly. Added SearchProcList to exports in libascend.
Adding 'NOTES' support to C++ interface. 'johnpye/thermalequilibrium2.a4c' is the example case. listnotes.py performs listing via a python external script method. annotation.h and annotation.cpp implement the C++ wrapper referenced by SWIG. library.{h,cpp} modified to provide access to the AnnotationDatabase. Typemapping modified in ascpy.i in attempt to get a more maintainable wrapping. Added annotation.cpp to build. Updated copyright header and formatting of notate.{c,h}. Improved ErrMsg_BracesEOF error message fn. Updated copyright header and formatting of braced.{c,h} Some misc debug output removed esp in simulation.cpp, conopt.c, importhandler.c.
Eliminated T1, T2 from dsg.a4c. Added moody diagram example model (with python script) Removed some debug output from solverreporter.py and simulation.cpp
Fixed crash in simulation.cpp when freeable vars are not returned.
Tidied up headers in slvDOF.h Added 'show freeable vars' to GUI. Fixed up the 'check' function a bit. It was doing strange things.
Added the ability to run methods on sub-models within a simulation. Use the right-click context menu.
Improved the reporting of structural singularities in PyGTK interface.
Fixed small int/unsigned warnings. Switched to preferring 'numarray' over 'numpy' (perhaps temporarily)
Commented out some disused vars
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.
Removed 'interface' directory in trunk/pygtk/interface (moved everything up a level) Made corresponding changes to SCons* and spec files.
Removing extra subdir level in pygtk path
The Visual C++ 2005 version now builds without linker errors. But I ran the installer and it crashed during the first C++ call, so still problems.
Added check to see that YACC runs OK. Fixing build with MSVC++ 2005. All builds now except for some problems in the SWIG-generated code.
Added ability to output variables at bounds (currently just to the console). Changed solver parameters window into a proper 'dialog'. Various fixes to make dialogs focus and position correctly.
Cleaning up: In PopupSolverReporter, change 'Variables' to 'n of N' instead of just 'N'
Added 'close on non-converged' preference Unified message output for popup/non-popup status reporting
Fixed a bug with the diagnose window after a successful solve Added preference: SolverReporter:close_on_converged
Added GUI SolverReporter... you can now watch the residuals shrink, etc.
Fixed bug #233
Expanded the python solver reporter a little Added detection of newer SWIG versions that can optimise (-O)
Finally fixed the SolverReporter problems. Thanks Marcelo!
Fixed the SolveReporter functionality so that it works from Python
Added wrapping of slv_status_t (SolverStatus) for bug #138. Improved 'About...' box.
Fixed bug #227
Added ability to output structural singularity analysis.
Fixable vars added to interface (outputs to console) Added 'next big' and 'prev big' to move between 'big blocks' in the diagnose window.
Added cursor to report mouse-over variable and residual
Colours fixed, zooming works, active block focussed by default.
Added reporting of divergent relation names. Found more convergent form of LMTD heat-exchanger equation
Improved behaviour of incidence matrix when you mouseover points outside the matrix Stopped emitting exception for Block out of range (why does it happen?)
Made it so that fixed variables never get an icon.
Adding preliminary support for showing variable solve-status in browser view
Added reporting of unconverged variables to the console
Implemented editable 'active' row in observer Move focus of to active row when new row added and observer tab already focussed
Incidence matrix now reports the mouseover-ed variable on the console
Something resembling an incidence matrix returned via SWIG...
Solverparameters GUI code split into separate file. Help launcher started, will need more work. Corrected wrong cpu_elapsed values in GUI by direct use of tm_cpu_time() Added 'about' box. Fixed 'auto' menu option.
Added const-ness to 2nd parameter of slv_set_char_parameter. Implemented setting of int, real and string parameters via PyGTK interface.
Added menu bar at top of PyGTK interface. 'Preferences' menu currently just outputs the number of solver parameters in use. Plan is to allow the parameters to be viewed and edited via the GUI.
Added ability to output expressions from PyGTK interface. Expressions are output to the console using WriteRelationString. You must right-click on a relation an hit 'properties'.
Improved status reporting for solvers. When a solver is going slowly, you'll get a fair bit of output. If it's going fast there shouldn't be much input at all. Todo: use some kind of callback technique to get this information back to the GUI.
- Simplifying many 'error_reporter' calls with new macros: ERROR_REPORTER_NOLINE and ERROR_REPORTER_HERE - Adding some cygwin cases in the PyGTK build.
Added wait-cursor during compile/build, started working on correct destruction of Simulation objects.
Removing debug output, adding self_test to iapws95.
Fixing bug #178.
Working on a test case for bug #178
Committed changes to C++ solver class to accommodate new slv_lookup_client. Still seeing bug #178 though.
Adding the PyGTK interface to CMU repository. Whaddyareckon?
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 |