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

Diff of /trunk/solvers/ida/ida_impl.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2368 by jpye, Mon Apr 7 09:06:56 2008 UTC revision 2369 by jpye, Mon Jan 31 09:00:44 2011 UTC
# Line 5  Line 5 
5  #ifndef ASC_IDA_IMPL_H  #ifndef ASC_IDA_IMPL_H
6  #define ASC_IDA_IMPL_H  #define ASC_IDA_IMPL_H
7    
8    /* forward dec needed for IntegratorIdaPrecFreeFn */
9    struct IntegratorIdaDataStruct;
10    
11    /* functions for allocating storage for and freeing preconditioner data */
12    typedef void IntegratorIdaPrecCreateFn(IntegratorSystem *integ);
13    typedef void IntegratorIdaPrecFreeFn(struct IntegratorIdaDataStruct *enginedata);
14    
15    /**
16        Struct containing any stuff that IDA needs that doesn't fit into the
17        common IntegratorSystem struct.
18    */
19    typedef struct IntegratorIdaDataStruct{
20    
21        struct rel_relation **rellist;   /**< NULL terminated list of ACTIVE rels */
22        int nrels; /* number of ACTIVE rels */
23    
24        struct bnd_boundary **bndlist;   /**< NULL-terminated list of boundaries, for use in the root-finding  code */
25        int nbnds; /* number of boundaries */
26    
27        int safeeval;                    /**< whether to pass the 'safe' flag to relman_eval */
28        var_filter_t vfilter;
29        rel_filter_t rfilter;            /**< Used to filter relations from solver's rellist (@TODO needs work) */
30        void *precdata;                  /**< For use by the preconditioner */
31        IntegratorIdaPrecFreeFn *pfree;  /**< Store instructions here on how to free precdata */
32    
33    } IntegratorIdaData;
34    
35    
36  mtx_matrix_t integrator_ida_dgdya(const IntegratorSystem *sys);  mtx_matrix_t integrator_ida_dgdya(const IntegratorSystem *sys);
37    
38  int integrator_ida_debug(const IntegratorSystem *sys, FILE *fp);  int integrator_ida_debug(const IntegratorSystem *sys, FILE *fp);
39    
40    IntegratorIdaData *integrator_ida_enginedata(IntegratorSystem *integ);
41    
42    void integrator_ida_write_incidence(IntegratorSystem *integ);
43    
44  #endif  #endif
45    

Legend:
Removed from v.2368  
changed lines
  Added in v.2369

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