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

Hoemmen, Mark mhoemme at sandia.gov
Wed Feb 10 06:30:40 EST 2016


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


More information about the Trilinos-Users mailing list