[petsc-dev] I think TS should have a TSSetMassMatrix()

Lisandro Dalcin dalcinl at gmail.com
Mon Jul 24 03:26:27 CDT 2017

On 23 July 2017 at 21:42, Barry Smith <bsmith at mcs.anl.gov> wrote:
>    Then explicit methods could automatically use a solve to apply the mass matrix inverse for each "right hand side" application and implicit methods could automatically "drop in" the mass matrix with the shift when a right hand side Jacobian is given also. Instead of requiring the user to handle this themselves. Are there any gotcha's that I am missing or is this relatively straightforward?

Are the user expected to provide a Mat object, or a callback routine
that assembles a Mat object? For generality, I think we should go for
the callback. Is the shift going to be handled implicitly as a
multiplicative factor handled internally by TS, or the user is
supposed to shift the output matrix? I'm inclined to implicitly
handling the shift, as it would simplify the case of constant mass
with adaptive time stepping, though it is not as general.

>    Why wouldn't we have this interface?

As usual, the problem is on defining the interface and the trade on
performance and generality. But I'm definitely +1 on this.

>     Almost for sure MFEM must have this type of API.

Stefano will love it for sure...

Lisandro Dalcin
Research Scientist
Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
Extreme Computing Research Center (ECRC)
King Abdullah University of Science and Technology (KAUST)

4700 King Abdullah University of Science and Technology
al-Khawarizmi Bldg (Bldg 1), Office # 0109
Thuwal 23955-6900, Kingdom of Saudi Arabia

Office Phone: +966 12 808-0459

More information about the petsc-dev mailing list