TS: high-order with Galerkin spatial discretization, semi-explicit index-1 DAE

Matthew Knepley knepley at gmail.com
Wed Mar 18 13:59:39 CDT 2009


I could not understand the post. We will have to go more slowly. To begin,
I cannot understand why you cannot use TSSetMatrices()


http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/TS/TSSetMatrices.html#TSSetMatrices

  Thanks,

     Matt

On Tue, Mar 17, 2009 at 9:15 PM, Jed Brown <jed at 59a2.org> wrote:

> I have a use for high-order implicit strong stability preserving
> integrators and plan to write a TS implementation based on some known
> optimal methods (cf. Gottlieb, Ketcheson, Shu 2009).  There are two
> cases of interest that I don't think TS can currently handle.
>
> Suppose we are using a Galerkin discretization so that the mass matrix
> is not the identity, but we still want to use high-order temporal
> discretization.  In particular, for high-order spatial discretizations,
> lumping the mass matrix is usually not acceptable so it would have dense
> inverse.  In these cases, MatShift is not sufficient [*].  One option is
> to allow shifts by an assembled mass matrix, but this is awkward with
> JFNK and requires significant storage when the mass matrix is not
> lumped.
>
> Perhaps a better option is for function evaluation and Jacobian assembly
> to observe the time-step (or a_{kk}*dt for Runge-Kutta methods).  This
> also works in the more general setting of semi-explicit index-1 DAE,
> presented in the form
>
>  V u_t = F(u,t)
>
> where F is the spatial discretization and V is typically block diagonal
> with mass matrices for differential variables and zero for algebraic
> variables.  To integrate such systems, the user would provide functions
> to evaluate
>
>  G(u,u_i,t,dt) = V u - F(dt*u+u_i,t)
>
> (u_i is a known inhomogeneous part) and assemble the
> Jacobian/preconditioner G'(u,t,dt).  This is sufficient for multistep
> and Diagonally Implicit Runge-Kutta (DIRK) methods.  For example, in the
> case of DIRK, stage k is computed by solving
>
>  G(u^k, u_0 + dt \sum_{l=0}^{k-1} a_{kl} u^l, t^k, dt a_{kk}) = 0
>
> for u^k.  For singly implicit Runge-Kutta (SIRK, a_{kk} constant)
> methods, lagging the preconditioner is perfectly acceptable since the
> time-step does not change frequently.  For JFNK with non-SIRK methods
> and with high-order multistep methods, the preconditioner would often
> have to be refactored to accommodate the shift, hence the inability to
> effectively lag the preconditioner is an unavoidable weakness.  Of
> course it is common that assembly is more expensive than PC setup in
> which case assembling F' and shifting by the mass matrix is appealing
> (assuming that storage for an assembled mass matrix is available).
>
> To summarize, asking the user to provide G,G' has the pros:
>  + consistent mass matrices with minimal cost
>  + DAE
>  + moving meshes
> and cons:
>  - not compatible with current F,F'
>  - shifts requiring reassembly are more expensive
>
> Asking the user to observe the time-step is at odds with the current
> interface where the user only provides F and F'.  Are the
> performance/flexibility benefits worth it?  How about a middle ground
> where the application can provide a lumped mass matrix (identity by
> default) and either functions F,F' or G,G' (where if G' is provided and
> the preconditioning matrix is different from the Jacobian, the
> preconditioner would be shifted using the lumped mass matrix)?
>
> I'd love to hear comments or suggestions.
>
>
> Jed
>
>
> [*] For my purposes, I don't actually need an assembled consistent mass
> matrix because my Jacobian is available via MatShell or MFFD (i.e. since
> shifting by the lumped mass matrix still produces a good preconditioner,
> the generalization of MatShift would be sufficient).  However, some
> people use the same matrix for the Jacobian and for preconditioning,
> hence a general scheme probably ought to be able to handle this.
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090318/b8e57f5e/attachment.html>


More information about the petsc-dev mailing list