/[ascend]/trunk/solvers/ida/idaanalyse.h
ViewVC logotype

Contents of /trunk/solvers/ida/idaanalyse.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1509 - (show annotations) (download) (as text)
Wed Jun 27 13:08:47 2007 UTC (15 years, 3 months ago) by jpye
File MIME type: text/x-chdr
File size: 1627 byte(s)
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.
1 #ifndef ASC_IDAANALYSE_H
2 #define ASC_IDAANALYSE_H
3
4 #include <integrator/integrator.h>
5
6 IntegratorAnalyseFn integrator_ida_analyse; /* for new approach -- JP Jan 2007 */
7
8 /**
9 Given a derivative variable, return the index of its corresponding differential
10 variable in the y vector (and equivalently the var_sindex of the diff var)
11 */
12 int integrator_ida_diffindex(const IntegratorSystem *sys, const struct var_variable *deriv);
13
14 /**
15 Same as integrator_ida_diffindex but returns -1 instead of aborting
16 */
17 int integrator_ida_diffindex1(const IntegratorSystem *sys, const struct var_variable *deriv);
18
19 /**
20 Lots of helpful advice to help you mend your evil inclinations.
21 */
22 int integrator_ida_analyse_debug(const IntegratorSystem *sys,FILE *fp);
23
24 /**
25 Filter that will match all our 'y' variables (and only those)
26 */
27 const var_filter_t integrator_ida_filter_nonderiv;
28
29 /*
30 Filter that will match all our 'ydot' variables (and only those)
31 */
32 const var_filter_t integrator_ida_filter_deriv;
33
34 /**
35 Some filters that will generally be useful for IDA systems.
36
37 A var can be non-incident. If it *is* non incident and we're going to
38 keep it, it will have to have derivative that *is* incident, and that
39 meets the following filter.
40
41 If it doesn't have a valid derivative (eg the derivative is fixed, or
42 the variable doesn't HAVE a derivative), we will mark the non-deriv
43 var non-ACTIVE, so anyway it will end up meeting this filter after we've
44 run integrator_ida_check_vars.
45 */
46 extern const var_filter_t integrator_ida_nonderiv;
47 extern const var_filter_t integrator_ida_deriv;
48 extern const rel_filter_t integrator_ida_rel;
49
50 #endif

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22