[Trilinos-Users] Solvers and preconditioners available for Epetra_VbrMatrices

Heroux, Mike MHeroux at csbsju.edu
Fri Sep 16 21:35:14 MDT 2011


The primary problem with using Epetra_VbrMatrix directly via an
Epetra_RowMatrix interface is that the associated Epetra_Import and
Epetra_Export objects will not work properly.  It may be the case that this
impact ML, but I thought it wouldn't.  Sorry.

In any case, wrapping the Epetra_VbrMatrix as an Epetra_VbrRowMatrix is
always the right thing to do when you intend to use it through the
Epetra_RowMatrix interface.

Sorry for the confusion.


On 9/16/11 12:13 PM, "Charles Boivin" <charles.boivin at mayahtt.com> wrote:

> Mike,
> Ok, thanks for the answer. We also use Ifpack occasionally. So I guess my
> question remains: how would I know I have a problem? Does it not compile? Not
> run properly?
> I am also asking because I just tried quickly to wrap my matrix into an
> Epetra_VbrRowMatrix container before passing it to the (ML) preconditioner and
> I get a very different behavior than if I don't do that. Is that expected?
> What do you mean exactly when you say that all preconditioner will be
> constructed as point-entry objects?
> Thanks in advance for your time,
> Charles Boivin 
> -----Original Message-----
> From: Heroux, Michael A [mailto:maherou at sandia.gov]
> Sent: Friday, September 16, 2011 12:07 PM
> To: Charles Boivin; trilinos-users at software.sandia.gov
> Subject: Re: [Trilinos-Users] Solvers and preconditioners available for
> Epetra_VbrMatrices
> Charles,
> If it is working for you, then don't worry.  The problems tend to happen
> with Ifpack since certain preconditioner options use more methods from the
> RowMatrix interface.
> Thanks.
> Mike
> On 9/16/11 11:02 AM, "Charles Boivin" <charles.boivin at mayahtt.com> wrote:
>> Mike,
>> This last comment regarding preconditioners is puzzling me a bit. We've
>> recently started using an Epetra_VbrMatrix (actually Epetra_FEVbrMatrix) in
>> our code, and are feeding it to the ML preconditioner. Now, from what you are
>> saying, this should not be working...
>> How does that manifest itself exactly? Would it crash? Give the wrong answer?
>> Or simply not be as efficient as it should?
>> We've been able to get answers out of this setup...
>> Thank you,
>> Charles Boivin
>> -----Original Message-----
>> From: trilinos-users-bounces at software.sandia.gov
>> [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of Heroux,
>> Michael A
>> Sent: Thursday, September 15, 2011 3:04 PM
>> To: Alberto F. Martín-Huertas; trilinos-users at software.sandia.gov
>> Cc: Javier Principe
>> Subject: Re: [Trilinos-Users] Solvers and preconditioners available for
>> Epetra_VbrMatrices
>> Alberto,
>> All of the solvers and preconditioners in Trilinos are usable with
>> Epetra_VbrMatrix objects.
>> The iterative solvers will use your VbrMatrix directly and utilize the block
>> structure.
>> However, there are no block entry preconditioners.  All of the
>> preconditioners will be constructed as point entry objects.  In fact,
>> because of a structural deficiency in Epetra_VbrMatrix, you will need to
>> construct an Epetra_VbrRowMatrix object (which is a light-weight wrapper
>> around Epetra_VbrMatrix) and pass that to the preconditioner.  It's a single
>> line of code, but is required for proper interpretation of the
>> Epetra_RowMatrix interface with a VbrMatrix object.
>> I hope this helps.
>> Mike
>> On 9/15/11 1:04 PM, "Alberto F. Martín-Huertas" <amartin at cimne.upc.edu>
>> wrote:
>>>  Dear Trilinos-Users,
>>  is there any reference where I can
>>  find which krylov
>>> subspace solvers (AztecOO)
>>  and preconditioners (ML, Ifpack, AztecOO) are
>>> available
>>  for variable block row distributed matrices
>>  (i.e.,
>>> EpetraVbrMatrix).
>>  Thanks in advance.
>>  Best regards,
>>   Alberto.
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users

More information about the Trilinos-Users mailing list