Lines Matching defs:_p_MatMFFD
28 struct _p_MatMFFD { struct
30 Vec w; /* work vector */
31 PetscReal error_rel; /* square root of relative error in computing function */
32 PetscScalar currenth; /* last differencing parameter h used */
33 PetscScalar *historyh; /* history of differencing parameter h */
34 PetscInt ncurrenth, maxcurrenth;
35 void *hctx;
36 Mat mat; /* back reference to shell matrix that contains this */
37 PetscInt recomputeperiod; /* how often the h is recomputed; default to 1 */
38 PetscInt count; /* used by recomputeperiod */
39 MatMFFDCheckhFn *checkh;
40 void *checkhctx; /* optional context used by MatMFFDSetCheckh() */
42 MatMFFDFn *func; /* function used for matrix-free */
43 void *funcctx; /* the context for the function */
44 Vec current_f; /* location of F(u); used with F(u+h) */
45 PetscBool current_f_allocated;
46 Vec current_u; /* location of u; used with F(u+h) */
48 MatMFFDiFn *funci; /* Evaluates func_[i]() */
49 MatMFFDiBaseFn *funcisetbase; /* Sets base for future evaluations of func_[i]() */
51 PetscCtx ctx; /* this is used by MatCreateSNESMF() to store the SNES object */
53 …etscBool usecomplex; /* use the Lyness complex number trick to compute the matrix-vector product */