On 7/14/24 06:24, Chayapol Chaoveeraprasit wrote:
>
> When I compiled the code, there was one error: 'SparseVanka<double> has no
> member named 'clear'. In instantiation of 'void
> dealii::MGLevelObject<Object>::clear_elements() [with Object =
> dealii::SparseVanka<double>]', required from 'void
> dealii::MGSmootherPrecondition<MatrixType, PreconditionType,
> VectorType>::clear()...
>
> It seems that the SparseVanka class has no clear() method, which is required
> by MGLevelObject. I speculate that SparseVanka is not ready to be used as
> multigrid smoother yet, or this is not the correct way to use SparseVanka as
> multigrid smoother.
Chayapol:
It's possible that nobody has ever used SparseVanka as a preconditioner and
that as a consequence nobody has ever needed the clear() function. But I
suspect it would not be very difficult to implement such a function -- just
take a look at how it is implemented for the other classes typically used as
preconditioners, and see if you can add it to the SparseVanka class as well.
Would you like to see whether you can write such a patch, and contribute it to
the library? We would of course be very happy to give you feedback on your patch!
You might be interested in some of the material here (and linked to from here)
to see what it takes to create patches:
https://dealii.org/participate.html
https://github.com/dealii/dealii/wiki/Contributing
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/