[Trilinos-Users] Exporting rectangular CrsGraph / CrsMatrix

Brian Granzow brian.granzow at gmail.com
Sun Oct 1 22:05:45 EDT 2017

To follow up, I think I've found what I was looking for in the Panzer
implementation of a Blocked Tpetra Linear Object Factory:


Following the basic ideas in the members of this class, I think I was able
to accomplish what I wanted to do.


On Sun, Oct 1, 2017 at 11:57 AM, Brian Granzow <brian.granzow at gmail.com>

> Hi there.
> I am currently using Tpetra to store linear algebra objects that arise
> during finite element assembly. For example, from a high level, the
> procedure I use to compute a Jacobian matrix is as follows:
> a. Build an 'overlapped' or 'ghosted' Tpetra CrsMatrix : 'ghost_J'
> b. Build an 'owned' Tpetra CrsMatrix : 'owned_J'
> c. Perform finite element assembly, and sum values into 'ghost_J'
> d. Call fillComplete() on 'ghost_J'
> e. Construct a Tpetra Export object : 'exporter'
> f. Call owned_J->doExport( *ghost_J, exporter, Tpetra::ADD) to reduce
> values that are shared across partition boundaries.
> Recently, I've been attempting this same process to explicitly assemble a
> 2x2 blocked matrix, where I store the blocks as separate CrsMatrices, and
> the off-diagonal matrices are not square. I believe am able to correctly
> construct the ghosted CrsGraphs that are needed for the off-diagonal
> blocks, but I am having trouble figuring out how to export to an owned data
> structure.
> Is there an example of reducing a rectangular CrsMatrix or CrsGraph from
> an overlapped object to an owned object?
> Cheers,
> Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20171001/35d4303f/attachment.html>

More information about the Trilinos-Users mailing list