6 struct generic_integrator_workspace
30 ErrorMsg error_message;
43 int initialize_generic_integrator(
45 struct generic_integrator_workspace * pgi
48 int cleanup_generic_integrator(
struct generic_integrator_workspace * pgi);
50 int generic_integrator(
int (*derivs)(
double x,
53 void * parameters_and_workspace,
54 ErrorMsg error_message),
58 void * parameters_and_workspace_for_derivs,
61 struct generic_integrator_workspace * pgi);
68 int (*derivs)(
double,
double [],
double [],
void *, ErrorMsg),
69 void * parameters_and_workspace_for_derivs,
70 struct generic_integrator_workspace * pgi);
74 int (*derivs)(
double,
double [],
double [],
void *, ErrorMsg),
75 void * parameters_and_workspace_for_derivs,
76 struct generic_integrator_workspace * pgi);
84 #define dsign(a,b) ( (b) > 0. ? (a) : (-(a)) ) 86 #define _MAXSTP_ 100000 87 #define _TINY_ 1.0e-30 90 #define _PSHRNK_ -0.25 91 #define _ERRCON_ 1.89e-4 97 #define _RKCK_a6_ 0.875 98 #define _RKCK_b21_ 0.2 99 #define _RKCK_b31_ 3.0/40.0 100 #define _RKCK_b32_ 9.0/40.0 101 #define _RKCK_b41_ 0.3 102 #define _RKCK_b42_ -0.9 103 #define _RKCK_b43_ 1.2 104 #define _RKCK_b51_ -11.0/54.0 105 #define _RKCK_b52_ 2.5 106 #define _RKCK_b53_ -70.0/27.0 107 #define _RKCK_b54_ 35.0/27.0 108 #define _RKCK_b61_ 1631.0/55296.0 109 #define _RKCK_b62_ 175.0/512.0 110 #define _RKCK_b63_ 575.0/13824.0 111 #define _RKCK_b64_ 44275.0/110592.0 112 #define _RKCK_b65_ 253.0/4096.0 113 #define _RKCK_c1_ 37.0/378.0 114 #define _RKCK_c3_ 250.0/621.0 115 #define _RKCK_c4_ 125.0/594.0 116 #define _RKCK_c6_ 512.0/1771.0 117 #define _RKCK_dc5_ -277.00/14336.0 118 #define _RKCK_dc1_ (37.0/378.0-2825.0/27648.) 119 #define _RKCK_dc3_ (250.0/621.0-18575.0/48384.0) 120 #define _RKCK_dc4_ (125.0/594.0-13525.0/55296.0) 121 #define _RKCK_dc6_ (512.0/1771.0-0.25)