"Garth N. Wells" <[email protected]> writes:
>>> Note that if you use MatSetValuesLocal, you can use the
>>> NEST format with identical code in assembly; only matrix creation is
>>> different, see src/snes/example/tutorials/ex28.c for an example that
>>> works with both AIJ and NEST formats.
>>>
>
> Is there a reason why MatSetValues can't be used? We rely on PETSc
> caching and then communicating off-process entries.

MatSetValuesLocal() just takes indices described in a local ordering
(defined by their mapping to global indices, see
MatSetLocalToGlobalMapping), but you can still set global indices.

A global-to-global map is expensive/non-scalable, so we can't
efficiently support it when assembling sub-blocks that correspond to
general index sets.

The MatSetValuesLocal interface also makes a number of other domain
decomposition methods accessible.

Attachment: pgp_bFonYI6LE.pgp
Description: PGP signature

Reply via email to