[petsc-users] Computing time derivatives in the residual for TS
Mani Chandra
mc0710 at gmail.com
Thu Jun 26 13:19:40 CDT 2014
Hi,
Suppose the following is the residual function that TS needs:
void residualFunction(TS ts, PetscScalar t, Vec X, Vec dX_dt, Vec F, void
*ptr)
and this returns the following finite volume residual at each grid point
dU_dt + gradF + sourceTerms = 0
where dU_dt are the time derivatives of the conserved variables.
The value of dU_dt needs to be computed from the values of the time
derivatives of the primitive variables given in dX_dt, i.e. dU_dt is an
analytic function of dX_dt. But is it possible to compute dU_dt numerically
using the vector X and it's value at a previous time step like the
following?
dU_dt = (U(X) - U(X_old) )/dt -- (1)
(instead of analytically computing dU_dt which is a function of the vectors
X and dX_dt which is hard to do if the function is very complicated)
So, is computing dU_dt using (1) permissible using TS? The jacobian will be
correctly assembled for implicit methods?
Cheers,
Mani
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140626/084d4e7a/attachment.html>
More information about the petsc-users
mailing list