[petsc-dev] Fwd: Problematic Merge of FieldSplit

Matthew Knepley knepley at gmail.com
Fri Jul 6 08:39:06 CDT 2012


On Fri, Jul 6, 2012 at 7:28 AM, Dmitry Karpeev <karpeev at mcs.anl.gov> wrote:

>
> On Fri, Jul 6, 2012 at 8:17 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
>> On Fri, Jul 6, 2012 at 5:06 AM, Dmitry Karpeev <karpeev at mcs.anl.gov>wrote:
>>
>>> Here's the line in question (also see the immediately preceding code):
>>> http://petsc.cs.iit.edu/petsc/petsc-dev/rev/0d4ccb990bb8#l1.127
>>>
>>
>> As long as we are fixing this, I would rather not repeat the prefix,
>> since we will likely want to
>> configure this differently than the block 0 solve. Is any thing wrong with
>>
>>   schurprefix+"_sub"
>>
> If the inner and outer KSP prefixes are different, it will force one to
> repeat all of the configuration options for the inner and outer A00
> solvers, even when it is desirable to keep them identical.
> This becomes tedious, if the A00 solvers configuration is involved (e.g.,
> a nested fieldsplit with separate options for the splits etc.).
> I would advocate making the inner solver use the same prefix as the outer
> solver by default, and allowing the user to specify
> a separate prefix for the inner solver, if it is to be configured
> differently.  For example:
> -fieldsplit_0_schur_prefix fieldsplit_0_inner -fieldsplit_0_ksp_type gmres
> -fieldsplit_0_inner_ksp_type preonly etc.
>

As long as there is a way to do it.

   Matt


> Dmitry.
>
>
>
>>
>>      Matt
>>
>>
>>> Dmitry.
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: Dmitry Karpeev <karpeev at mcs.anl.gov>
>>> Date: Fri, Jul 6, 2012 at 6:04 AM
>>> Subject: Re: [petsc-dev] Problematic Merge of FieldSplit
>>> To: For users of the development version of PETSc <petsc-dev at mcs.anl.gov
>>> >
>>>
>>>
>>> I have the following problem with the prefix choice for the
>>> MatSchurComplement KSP introduced in this changeset (
>>> http://petsc.cs.iit.edu/petsc/petsc-dev/rev/0d4ccb990bb8).
>>> I'm talking about the  "inner" KSP for A00, effecting inv(A00) in the
>>> definition S = A11 - A10 inv(A00) A01.
>>> We also have the "outer" inv(A00) KSP, which gets prefix "0".  I
>>> recently set the "inner" inv(A00) KSP
>>> prefix to "0", simply by inheriting it from the "outer" solver.  Now, it
>>> is completely reasonable
>>> to expect the inner and outer A00 KSPs to have different prefixes so
>>> that they can be configured differently.
>>> In fact, there was a recent petsc-users request related to this (
>>> http://lists.mcs.anl.gov/pipermail/petsc-users/2012-June/014005.html).
>>> However, currently the inner A00 KSP inherits the prefix from the A11
>>> KSP corresponding to the "1" field. With this prefix choice
>>> I end up configuring inv(A00) and inv(S) identically, which isn't what I
>>> want at all.
>>> I'm not sure what the right approach is, but the current one doesn't
>>> work for me.
>>>
>>> Note also that if A00 is treated with a recursive split, there may be
>>> numerous options for the A00 KSP.
>>> Do we want to repeat them for the inner and outer KSPs, if we want to
>>> configure them identically?
>>> It's automatic, if the two A00 KSPs share a prefix.  Again, this takes
>>> away some flexibility, so maybe it's not the best solution,
>>> but I think retaining a simple option for using identical configurations
>>>  is also highly desirable.
>>>
>>> Any ideas on how to handle this?
>>> Dmitry.
>>>
>>> On Tue, Jun 26, 2012 at 6:13 AM, Matthew Knepley <knepley at gmail.com>wrote:
>>>
>>>> It turns out that 'hg rollback' during an 'hg rebase' does not do what
>>>> I thought it did. I think
>>>> everything is cleaned up with this push, but if you made FS changes in
>>>> the past month, please
>>>> check that it is doing what you want with prefixes, etc.
>>>>
>>>> Now, nested fieldsplits from the command line work, ala
>>>>
>>>> -ksp_type fgmres
>>>> -pc_type fieldsplit -pc_fieldsplit_type additive
>>>>   -pc_fieldsplit_0_fields 0,1
>>>>     -fieldsplit_0_pc_type fieldsplit
>>>>     -fieldsplit_0_pc_fieldsplit_type schur
>>>> -fieldsplit_0_pc_fieldsplitschur_factorization_type full
>>>>       -fieldsplit_0_fieldsplit_velocity_ksp_type preonly
>>>>       -fieldsplit_0_fieldsplit_velocity_pc_type lu
>>>>       -fieldsplit_0_fieldsplit_pressure_ksp_rtol 1e-10
>>>>       -fieldsplit_0_fieldsplit_pressure_pc_type jacobi
>>>>   -pc_fieldsplit_1_fields 2
>>>>     -fieldsplit_temperature_ksp_type preonly
>>>>     -fieldsplit_temperature_pc_type lu
>>>>
>>>> A split with only one field gets the field name, and otherwise a split
>>>> number.
>>>>
>>>>     Matt
>>>>
>>>> --
>>>> What most experimenters take for granted before they begin their
>>>> experiments is infinitely more interesting than any results to which their
>>>> experiments lead.
>>>> -- Norbert Wiener
>>>>
>>>
>>>
>>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120706/5f41645a/attachment.html>


More information about the petsc-dev mailing list