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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2370 - (show annotations) (download) (as text)
Mon Jan 31 11:33:22 2011 UTC (13 years, 4 months ago) by jpye
File MIME type: text/x-chdr
File size: 1594 byte(s)
Split IO routines into extra file.
1 /**
2 Implementation functions for IDA. Only put things here if they need to
3 be shared between .c files but not visible outside IDA.
4 */
5 #ifndef ASC_IDA_IMPL_H
6 #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 mtx_matrix_t integrator_ida_dgdya(const IntegratorSystem *sys);
36
37 int integrator_ida_debug(const IntegratorSystem *sys, FILE *fp);
38
39 IntegratorIdaData *integrator_ida_enginedata(IntegratorSystem *integ);
40
41 void integrator_ida_write_incidence(IntegratorSystem *integ);
42
43 #endif
44

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