/[ascend]/trunk/base/generic/integrator/idaanalyse.h
ViewVC logotype

Annotation of /trunk/base/generic/integrator/idaanalyse.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1387 - (hide annotations) (download) (as text)
Sat Apr 7 14:43:31 2007 UTC (15 years, 11 months ago) by jpye
File MIME type: text/x-chdr
File size: 1616 byte(s)
Added plot support in Integrator output tabs.
Some other minor debugging for pylab integration and idaanalyse output.
1 johnpye 1239 #ifndef ASC_IDAANALYSE_H
2     #define ASC_IDAANALYSE_H
3    
4     #include "integrator.h"
5    
6     IntegratorAnalyseFn integrator_ida_analyse; /* for new approach -- JP Jan 2007 */
7    
8 johnpye 1309 /**
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 johnpye 1239 int integrator_ida_diffindex(const IntegratorSystem *sys, const struct var_variable *deriv);
13    
14 jpye 1387 /**
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 johnpye 1239 int integrator_ida_analyse_debug(const IntegratorSystem *sys,FILE *fp);
23    
24 johnpye 1240 /**
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 johnpye 1309 /**
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 johnpye 1239 #endif

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