[petsc-dev] field split/schur complement, incompressible flow

Jed Brown jed at 59A2.org
Wed May 12 14:11:22 CDT 2010


On Wed, 12 May 2010 14:13:37 -0400, Matthew Knepley <knepley at gmail.com> wrote:
> Yes, definitely. I have been too lazy to add names, but this is exactly
> what is needed.

Okay, so what about naming splits on the command line?  We usually try
to make the command line mimic the API.  Accepting a dict might be neat:

  -pc_fieldsplit_splits "{'velocity': [0,1,2], 'pressure': [3]}" -fieldsplit_velocity_pc_type ml

As a possible extension for the options database to more easily support
very complex simulations with many nested objects, and long redundant
prefixes, I've been thinking about YAML support.  YAML files can have
references so you can define a collection of solver profiles, then use
them in multiple places in the same simulation (for instance if you have
two similar systems for which you would want to use the same or similar
solver parameters).  Would anyone else like this feature?  Note that a
YAML parser would also trivially be able to handle the dict string
suggested as a command-line option above.

Backing up slightly, this thread

  http://lists.mcs.anl.gov/pipermail/petsc-dev/2010-March/002439.html

proposed having the names for field associations on the DM (so that
visualization and other diagnostics could also use names).  In that
case, the DM would have (or be able to provide) the index sets, and
PCFieldSplit would only need to know the names of the groups.  On the
other hand, there are certainly users that don't use DM at all, but
still want to use PCFieldSplit.  One approach would be to have a
super-lightweight DM that just kept a collection of index sets with
names and groupings (assuming no further structure).  The other is to
have PCFieldSplit retain a low-level interface to set the splits.

Jed



More information about the petsc-dev mailing list