#include "petscts.h" PetscErrorCode TSSetRHSHessianProduct(TS ts,Vec *rhshp1,PetscErrorCode (*rhshessianproductfunc1)(TS,PetscReal,Vec,Vec*,Vec,Vec*,void*), Vec *rhshp2,PetscErrorCode (*rhshessianproductfunc2)(TS,PetscReal,Vec,Vec*,Vec,Vec*,void*), Vec *rhshp3,PetscErrorCode (*rhshessianproductfunc3)(TS,PetscReal,Vec,Vec*,Vec,Vec*,void*), Vec *rhshp4,PetscErrorCode (*rhshessianproductfunc4)(TS,PetscReal,Vec,Vec*,Vec,Vec*,void*), void *ctx)Logically Collective on TS
ts | - TS context obtained from TSCreate() | |
rhshp1 | - an array of vectors storing the result of vector-Hessian-vector product for G_UU | |
hessianproductfunc1 | - vector-Hessian-vector product function for G_UU | |
rhshp2 | - an array of vectors storing the result of vector-Hessian-vector product for G_UP | |
hessianproductfunc2 | - vector-Hessian-vector product function for G_UP | |
rhshp3 | - an array of vectors storing the result of vector-Hessian-vector product for G_PU | |
hessianproductfunc3 | - vector-Hessian-vector product function for G_PU | |
rhshp4 | - an array of vectors storing the result of vector-Hessian-vector product for G_PP | |
hessianproductfunc4 | - vector-Hessian-vector product function for G_PP |
rhshessianproductfunc (TS ts,PetscReal t,Vec U,Vec *Vl,Vec Vr,Vec *VHV,void *ctx);
t | - current timestep | |
U | - input vector (current ODE solution) | |
Vl | - an array of input vectors to be left-multiplied with the Hessian | |
Vr | - input vector to be right-multiplied with the Hessian | |
VHV | - an array of output vectors for vector-Hessian-vector product | |
ctx | - [optional] user-defined function context |