[petsc-dev] Backport PCASMCreateSubdomains2D fix to 3.1?
Barry Smith
bsmith at mcs.anl.gov
Sun Jun 6 15:15:30 CDT 2010
On Jun 6, 2010, at 2:38 PM, Jed Brown wrote:
> ksp/examples/tutorials/ex8.c is broken in the release (with
> -user_set_subdomains). The trouble is that PC_ASM_RESTRICT really needs
> both the overlapping and nonoverlapping subdomains. Since Matt added
> RASM support for multiple subdomains per process (between 3.0 and 3.1),
> this function really needs to provide both in order to be useful. I
> added that to -dev, along with PCASM support to work properly when the
> user provides both. I think this should be backported, despite being an
> API change to PCASMCreateSubdomains2D, because I don't think anyone
> actually uses this function (except this example).
I don't care about this.
>
> Some other notes on PCASM, unrelated backporting the fixes above:
>
> * As currently written, PCASM *always* does RASM when there are multiple
> subdomains per process.
This is BAD. Matt should be ashamed of himself.
>
> * PCASM currently doesn't support having the user call
> PCASMSetLocalSubdomains with multiple subdomains per process,
> specifying 'is', but not 'is_local'. This worked prior to 3.1, and I
> think this functionality should eventually be restored (for
> PC_ASM_BASIC, it's not possible with PC_ASM_RESTRICT).
This is bad and should be fixed.
>
> * What was the eventual intended behavior for PCASMSetTotalSubdomains
> with specified index sets? You could implement a form of field split
> or decompose a small number of subdomains (like different materials)
> this way. But I think a more practical interface would be to have
> PCASMSetLocalSubdomains support index sets on arbitrary
> subcommunicators of pc->hdr.comm (it exposes more concurrency). I see
> that several parts of PCASM were already written with this (support of
> multiple procs per subdomain) in mind.
>
> http://lists.mcs.anl.gov/pipermail/petsc-dev/2010-April/002569.html
>
> Is there a practical use for IS arguments of PCASMSetTotalSubdomains?
It never got developed and probably makes no sense. I guess we should just remove the is argument to it.
Barry
>
> Jed
More information about the petsc-dev
mailing list