[petsc-dev] PCFieldSplitSetFields() API change

Jed Brown jedbrown at mcs.anl.gov
Wed Jun 6 20:54:51 CDT 2012

On Wed, Jun 6, 2012 at 6:54 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> No you don't get back a pair of subDMS, you get a DM that goes from one
> state space to "a different" residual space. Normally one would not need
> this though it does come up in the VI stuff.

For a low temperature/rarefied gas, total energy and density (residuals in
two of your conservation equations) are nearly parallel and point in a very
different direction from the primitive variables pressure and energy.
(Never mind that primitive variables would be a very bad formulation here.)
For high temperature and low velocity, total energy is essentially
proportional to pressure and density is proportional to p/T. The point here
is that in different nonlinear regimes, the conditioning of a given
diagonal block can change substantially. You could say that one should just
choose conservative variables so that at least the residual and the state
use the same units, but that produces a very ill-conditioned basis in the
low-Mach limit.

> > The reason this works for PCASM is that we demand that the input/output
> spaces are nested (e.g., the output space for RASM is a subspace of the
> input).
>    Actually RASM has an option where the output space is larger than the
> input space. (The subproblems are defined as extending the right hand side
> by zero, solving the subproblem and then keeping the entire solution (on
> the overlapped region).

Well, I'm not sure that it makes sense to express RAS and ASH (AS with
harmonic extension) that way. For example, DMCreateMatrix() for that
problem needs to address the whole overlapping space. You solve it by
restricting the input or restricting the output, but the mechanics of the
solve needs the whole overlapping region.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120606/ff781e50/attachment.html>

More information about the petsc-dev mailing list