/* nag_ode_ivp_rk_reset_tend(d02pwc) Example Program * * Copyright 1992 Numerical Algorithms Group. * * Mark 3, 1992. * Mark 7 revised, 2001. * */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif static void f(Integer neq, double t1, double y[], double yp[], Nag_User *comm); #ifdef __cplusplus } #endif #define NEQ 4 #define ZERO 0.0 #define ONE 1.0 #define SIX 6.0 #define ECC 0.7 int main(void) { Integer neq; double hstart, pi, tnow, tend; double tol, tstart, tinc, tfinal; Integer i, j, nout; Nag_RK_method method; Nag_ErrorAssess errass; Nag_ODE_RK opt; Nag_User comm; double thres[NEQ], ynow[NEQ], ypnow[NEQ], ystart[NEQ]; Vprintf("d02pwc Example Program Results\n"); /* Set initial conditions and input for d02pvc */ neq = NEQ; pi = X01AAC; tstart = ZERO; ystart[0] = ONE - ECC; ystart[1] = ZERO; ystart[2] = ZERO; ystart[3] = sqrt((ONE+ECC)/(ONE-ECC)); tfinal = SIX*pi; for (i=0; i