[Trilinos-Users] Jacobi and Gauss-Seidel smoothers
martin.vymazal at vki.ac.be
Tue Sep 13 13:35:23 EDT 2016
On 2016-09-13 18:28, Hoemmen, Mark wrote:
> On 9/13/16, 10:48 AM, "Trilinos-Users on behalf of
> trilinos-users-request at trilinos.org"
> <trilinos-users-bounces at trilinos.org on behalf of
> trilinos-users-request at trilinos.org> wrote:
>> Message: 13
>> Date: Tue, 13 Sep 2016 16:43:54 +0100
>> From: Martin Vymazal <martin.vymazal at vki.ac.be>
>> To: trilinos-users at trilinos.org
>> Subject: [Trilinos-Users] Jacobi and Gauss-Seidel smoothers
>> Message-ID: <90ae33366e927b5754371601289fe0e5 at vki.ac.be>
>> Content-Type: text/plain; charset=US-ASCII; format=flowed
>> I'm trying to understand how to use Jacobi and Gauss-Seidel methods
>> Ifpack2 as smoothers. The documentation says that since Ifpack2
>> from Tpetra::Operator, it can also be used as a smoother. I found an
>> example in Doxygen docs for Ifpack2::Relaxation which has the
>> // Prepare an Ifpack2 preconditioner called 'prec'
>> // ...
>> // Prepare the relaxation instance for use.
>> prec.initialize ();
>> prec.compute ();
>> // Now prec may be used as a preconditioner or smoother,
>> // by calling its apply() method, just like any Tpetra::Operator.
>> Tpetra::Operator::apply(X, Y, ...) takes two Tpetra::MultiVectors, so
>> assume I can't update the values of the input vector in place and must
>> store the updated entries of X in vector Y. Can X and Y be the same
> No. X and Y may not be the same MultiVector, and they may not alias
> one another.
>> Could you please provide a simple example how to use
>> Ifpack2 for relaxation? Thank you.
doesn't the example use the object 'M' as preconditioner? I'm sorry
but I don't see any calls to apply(). What's the difference between the
usage of M as preconditioner and smoother?
> Trilinos-Users mailing list
> Trilinos-Users at trilinos.org
More information about the Trilinos-Users