[Dune-devel] New virtual method proposal: Preconditioner::update()

Christoph Grüninger foss at grueninger.de
Tue Sep 24 23:58:35 CEST 2019


Hi Atgeirr!

> 1.
> I would like to propose an interface addition for the Preconditioner
> template of dune-istl, namely to add a virtual method:
> 
>     /*! \brief Update preconditioner.
> 
>        This method can be called to update the preconditioner,
>        assuming that the sparsity structure of the underlying operator
>        or matrix is unchanged but that its entries may have
>        changed. For simple preconditioners this may be a no-op whereas
>        for more complex preconditioners like ILU or AMG it will not.
>      */
>     virtual void update () = 0;
> 
> The intention of this method is to make it possible to reuse expensive
> structures of a preconditioner, in the common case that the sparsity
> structure is stable while the coefficients change. [..]
> 
> Prototype implementations have been made in the OPM module
> opm-simulators (directory opm/simulators/linalg). [..]

Sounds interesting, please provide a merge request. Given we reach
consensus, we'll might be able to get this in for Dune 2.7.


> 2.

Sounds useful, too. But I am not enough into to help you integrating this.

> I hope this is interesting to you, and welcome any feedback. Also, to
> ensure any code is formatted according to Dune standards, do anyone have
> a spec file for clang-format?

We never agreed on a single style. You can tell the parts written by
Freiburger and Heidelberger Duners. Adopt to the style in the
surrounding code.

Bye
Christoph


-- 
Nous vivons une époque où les pizzas arrivent plus vite que la police.
[Claude Chabrol]




More information about the Dune-devel mailing list