#include "petscts.h" PetscErrorCode TSSetForcingFunction(TS ts,TSForcingFunction func,void *ctx)Logically Collective on TS
ts | - the TS context obtained from TSCreate() | |
func | - routine for evaluating the forcing function | |
ctx | - [optional] user-defined context for private data for the function evaluation routine (may be NULL) |
PetscErrorCode func (TS ts,PetscReal t,Vec f,void *ctx);
t | - current timestep | |
f | - output vector | |
ctx | - [optional] user-defined function context |
This replaces the ODE F(u,u_t,t) = 0 the TS is solving with F(u,u_t,t) - func(t) = 0
This forcing function does not depend on the solution to the equations, it can only depend on spatial location, time, and possibly parameters, the parameters can be passed in the ctx variable.
For low-dimensional problems solved in serial, such as small discrete systems, TSMonitorLGError() can be used to monitor the error history.