MCPcopy Create free account
hub / github.com/boutproject/BOUT-dev / CVodeMemRec

Class CVodeMemRec

externalpackages/PVODE/include/pvode/cvode.h:465–605  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

463 ******************************************************************/
464
465typedef struct CVodeMemRec {
466
467 real cv_uround; /* machine unit roundoff */
468
469 /* Problem Specification Data */
470
471 integer cv_N; /* ODE system size */
472 RhsFn cv_f; /* y' = f(t,y(t)) */
473 void *cv_f_data; /* user pointer passed to f */
474 int cv_lmm; /* lmm = ADAMS or BDF */
475 int cv_iter; /* iter = FUNCTIONAL or NEWTON */
476 int cv_itol; /* itol = SS or SV */
477 real *cv_reltol; /* ptr to relative tolerance */
478 void *cv_abstol; /* ptr to absolute tolerance */
479
480 /* Nordsieck History Array */
481
482 N_Vector cv_zn[L_MAX]; /* Nordsieck array N x (q+1), */
483 /* zn[j] is a vector of length N, j=0, ... , q */
484 /* zn[j] = h^j * jth derivative of the */
485 /* interpolating polynomial */
486
487 /* Vectors of length N */
488
489 N_Vector cv_ewt; /* error weight vector */
490 N_Vector cv_y; /* y is used as temporary storage by the solver */
491 /* The memory is provided by the user to CVode */
492 /* where the vector is named yout. */
493 N_Vector cv_acor; /* In the context of the solution of the */
494 /* nonlinear equation, acor = y_n(m) - y_n(0). */
495 /* On return, this vector is scaled to give */
496 /* the estimated local error in y. */
497 N_Vector cv_tempv; /* temporary storage vector */
498 N_Vector cv_ftemp; /* temporary storage vector */
499
500 /* Step Data */
501
502 int cv_q; /* current order */
503 int cv_qprime; /* order to be used on the next step */
504 /* = q-1, q, or q+1 */
505 int cv_qwait; /* number of internal steps to wait before */
506 /* considering a change in q */
507 int cv_L; /* L = q + 1 */
508
509 real cv_h; /* current step size */
510 real cv_hprime; /* step size to be used on the next step */
511 real cv_eta; /* eta = hprime / h */
512 real cv_hscale; /* value of h used in zn */
513 real cv_tn; /* current internal value of t */
514
515 real cv_tau[L_MAX+1]; /* vector of previous q+1 successful step */
516 /* sizes indexed from 1 to q+1 */
517 real cv_tq[NUM_TESTS+1]; /* vector of test quantities indexed from */
518 /* 1 to NUM_TESTS(=5) */
519 real cv_l[L_MAX]; /* coefficients of l(x) (degree q poly) */
520
521 real cv_rl1; /* 1 / l[1] */
522 real cv_gamma; /* gamma = h * rl1 */

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected