Log of /trunk/ascend/integrator/integrator.c
Parent Directory
|
Revision Log
Revision
2322 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 15 06:12:36 2010 UTC
(12 years, 11 months ago)
by
jpye
File length: 43199 byte(s)
Diff to
previous 2036
Refactoring ascMalloc.h, mem.h to belong in 'general' with goal of having no references in 'general' to functions in 'utilities'.
Revision
2036 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon May 18 15:03:16 2009 UTC
(14 years, 6 months ago)
by
ballan
File length: 43201 byte(s)
Diff to
previous 2018
issues resolved:
295
390
301
cmslv.c: unused var cleanup.
lsode/SConscript: fortran flags bugs-- may not work with 0.9x scons.
works with 1.2+. when adding -w, or any special flags, be sure to add
them and not replace the original flag.
system/var.c: 64bit clarity.
system/discrete.c: 64bit clarity.
system/analyze*: g_reuse declared in wrong place. 64bit clarity
system/diffvars: missing prototype function, 64bit clarity.
compiler/numlist.*: changed from int to glint.
compiler/simlist.c: missing includes needed for 64bit clarity.
compiler/instance_io.c: missing includes needed for 64bit clarity.
compiler/initialize.[ch]: const clarifications.
compiler/packages.c: const clarifications.
compiler/module.c: const clarifications.
compiler/statio.c: unused var cleanup.
compiler/procframe; const clarification. memory deallocation bugs.
compiler/notequery.c: repaired multiple casting and 64bit issues.
compiler/importhandler.c: const and free issues fixed.
compiler/type_desc.c: ridiculous if constructs clarified.
compiler/createinst.c: casting stupidity repaired.
linear/ranki2.c: missing includes needed for 64bitness.
solver/solver.c: const issues clarified.
utilities/ascConfig.h: added GLint typedefs for dealing with gllist
64bit portability.
utilities/ascPanic.c: removed extraneous const.
general/ospath.c: safer,quieter handling for string pointer difference.
integrator/integrator.c: const issues clarified.
packages/sensitivity.c: missing includes needed fo 64bit sanity.
tcltk/interface/Integrators.c: 64 bitness.
tcltk/interface/SimsProc.c: const errors.
tcltk/interface/Driver.c: fixed env var handling wrt ascend-config (295)
models/test/z*a4c: fixed meters -> m conversion; someone never ran the
test suite after teasing the default units to ambiguous abbreviations.
SConstruct: added sizeof checks; output might be better put in a ascend
system-wide header.
Revision
1487 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 10 05:09:34 2007 UTC
(16 years, 6 months ago)
by
jpye
Original Path:
trunk/base/generic/integrator/integrator.c
File length: 42534 byte(s)
Diff to
previous 1479
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
1132 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jan 14 10:40:58 2007 UTC
(16 years, 10 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 49358 byte(s)
Diff to
previous 1129
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
1129 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Jan 13 11:40:59 2007 UTC
(16 years, 10 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 49478 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
1069 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jan 8 11:25:33 2007 UTC
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 48170 byte(s)
Diff to
previous 1068
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
1068 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jan 8 04:45:47 2007 UTC
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 47926 byte(s)
Diff to
previous 1063
Fixed some ASC_PANIC calls in atomvalue.c
Removed some <!-- --> comments from list.h
Added flagging of 'deriv' vars in analyse.c (no new lists are added though)
Created separate doxygen module 'Analyse' (only affect C comments)
Fixed return codes in slv9a.c, as well as some FPRINTFs.
Cleaned up some documentation in slv_client.h.
Removed var_diff, var_set_diff flag stuff.
Added docstring for Integrator_getEngines in python wrapper.
Revision
1049 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 5 13:45:13 2007 UTC
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 48034 byte(s)
Diff to
previous 1010
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
993 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 22 11:03:51 2006 UTC
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 47387 byte(s)
Diff to
previous 991
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.
Revision
979 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 20 14:34:16 2006 UTC
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 47300 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
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 45132 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
(16 years, 11 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 45194 byte(s)
Diff to
previous 952
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
952 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Nov 28 23:01:50 2006 UTC
(17 years ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 44544 byte(s)
Diff to
previous 948
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
930 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 22 13:09:09 2006 UTC
(17 years ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 40874 byte(s)
Diff to
previous 928
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.
Revision
912 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 27 07:18:21 2006 UTC
(17 years, 1 month ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 42949 byte(s)
Diff to
previous 908
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'.
Revision
903 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 25 13:07:12 2006 UTC
(17 years, 1 month ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 41655 byte(s)
Diff to
previous 894
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
888 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 11 14:53:27 2006 UTC
(17 years, 2 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 40850 byte(s)
Diff to
previous 854
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
854 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 20 13:36:40 2006 UTC
(17 years, 2 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 40830 byte(s)
Diff to
previous 815
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
709 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 28 16:28:57 2006 UTC
(17 years, 5 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 40870 byte(s)
Diff to
previous 704
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
704 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 26 23:00:56 2006 UTC
(17 years, 5 months ago)
by
ben.allan
Original Path:
trunk/base/generic/solver/integrator.c
File length: 40740 byte(s)
Diff to
previous 700
- 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
(17 years, 5 months ago)
by
johnpye
Original Path:
trunk/base/generic/solver/integrator.c
File length: 41357 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.