[Trilinos-Users] [EXTERNAL] Trilinos-Users Digest, Vol 126, Issue 5

Cihan Altinay c.altinay at uq.edu.au
Wed Feb 10 19:30:12 EST 2016


Hi Mark,

Thanks so much for the comprehensive overview of the state of block 
matrices! It's great news that there is active development on that front 
and I'll start using the github version to try things out.

I was quite surprised to read that Komplex is not required with the 
Tpetra/Belos stack - does that mean the solvers & preconditioners are 
specialized for complex problems, or are they using the approach taken 
in the Komplex module?

Finally, your last comment suggests that there is currently no direct 
solver support for block matrices, correct? Is this in the pipe at all? 
I'll file the request anyway...

Many thanks,
Cihan


On 10/02/16 21:30, Hoemmen, Mark wrote:
> Hi Cihan!  I just wanted to add a little bit to Alicia's comments:
>
> We deprecated the old block classes in Tpetra since their interfaces were not suitable for thread parallelism.  They were not supported in any preconditioners anyway.
>
> BlockCrsMatrix is marked experimental because we are not yet ready to promise interface stability.  It does have users, and we try hard not to break their code, but we don't promise anything for anyone else yet.  Nevertheless, you are welcome to try it.  If you choose to try it, I would recommend getting the development version of Trilinos from our Github repository (github.com/trilinos/Trilinos), rather than using releases.  We've put a lot of work into this class recently, and it continues to be under active development.
>
> BlockCrsMatrix offers a more restrictive capability than Epetra_VbrMatrix or the now-removed previous block capability in Tpetra: all of BlockCrsMatrix's small dense blocks must have the same dimensions.  (They must also be square, though we might relax that at some point.)  Currently available preconditioners include block Jacobi, block Gauss-Seidel, and block ILU(k).  The first two are available in Ifpack2::Relaxation (just ask for Jacob resp. Gauss-Seidel; if you give it a BlockCrsMatrix, it will do the right thing), and the latter in Ifpack2::Experimental::RBILUK (this should be considered even more experimental -- the class isn't installed unless you set a special Ifpack2 configuration option that is OFF by default).  We plan to add more preconditioners over time.
>
> Tpetra does not need to use Komplex, because Tpetra and its solvers and preconditioners have built-in support for complex numbers.  (Just use std::complex<double> or std::complex<float> for the Scalar template parameter.)
>
> If you are interested in Amesos2 support, please file a Github issue for the feature request.  This would be the best way to track feature requests in general.
>
> Thanks!
> mfh
>
>> On Feb 10, 2016, at 5:11 PM, "trilinos-users-request at trilinos.org" <trilinos-users-request at trilinos.org> wrote:
>>
>> Message: 3
>> Date: Wed, 10 Feb 2016 10:31:44 +1000
>> From: Cihan Altinay <c.altinay at uq.edu.au>
>> To: Alicia Klinvex <aklinvex at gmail.com>
>> Cc: trilinos-users at trilinos.org
>> Subject: Re: [Trilinos-Users] Tpetra & block matrices (FEM)
>> Message-ID: <56BA84F0.2020101 at uq.edu.au>
>> Content-Type: text/plain; charset=utf-8; format=flowed
>>
>> I have only just started to add Trilinos to our code base (a finite
>> element solver tool) and the goal is to be able to solve sparse linear
>> systems. Currently I create a Tpetra CrsGraph, then a CrsMatrix from
>> that to solve block size 1 systems iteratively with Belos.
>>
>> Eventually we will require various preconditioners (Ifpack2), direct
>> solvers (Amesos2) and the ability to solve complex systems (Komplex)
>> with various block sizes.
>>
>> Is that going to work?
>>
>> Regards,
>> Cihan


-- 
Cihan Altinay

Computer Scientist, Centre for Geoscience Computing
eResearch Analyst,  Queensland Cyber Infrastructure Foundation
The University of Queensland
T: +61 7 334 64118 / F: +61 7 334 64134



More information about the Trilinos-Users mailing list