[petsc-users] Field split questions

Matthew Knepley knepley at gmail.com
Thu Aug 9 10:24:07 CDT 2012


On Thu, Aug 9, 2012 at 10:22 AM, Dmitry Karpeev <karpeev at mcs.anl.gov> wrote:

>
>
> On Thu, Aug 9, 2012 at 10:02 AM, Colin McAuliffe <cjm2176 at columbia.edu>wrote:
>
>> Sanjay, thanks for the reply but I am avoiding using blocked format since
>> my problem has 10 dofs per node but only has either dofs 1-3 or 4-10 active
>> on a particular node. If I use block the equations I run out of memory
>> pretty quickly on my machine but can get to reasonable sized problems with
>> the unblocked format.
>>
>> Matt, sorry I am not getting this, but I am still not sure how the DM
>> interface works. I can see in the function PCFieldSplitSetDefaults that
>> there is an initial call to DMCreateFieldDecomposition and subsequent calls
>> to DMCreateSubDM based on the command line options. What I am missing is
>> how the first call to DMCreateFieldDecomposition is able to figure out
>> which equations belong to which field just from command line info such as
>> -pc_fieldsplit_0_fields 2,0. Where/how are the fields 2 and 0 defined?
>>
> This might change slightly in the near future in petsc-dev to allow one to
> define splits using named fields.
> In any event, there has to be DM support to implement the decompositions
> over a particular mesh/problem over that mesh.
> With DMDA you can essentially get combinations of strided fields in each
> split. DMCOMPOSITE allows you
> to pull out combinations of the subproblems that were put in there to
> begin with. If you have your own mesh, you have to write
> a DM implementation around it to expose the available fields.
>

No, No, No. You do not have to write a DM implementation.

You just have to define the data layout in a PetscSection and attach it to
the DM with DMSetDefaultSection.

    Matt


> Dmitry.
>
>>
>> Thanks
>>
>> Colin
>>
>>
>> Quoting Matthew Knepley <knepley at gmail.com>:
>>
>>  On Thu, Aug 9, 2012 at 9:21 AM, Sanjay Govindjee <s_g at berkeley.edu>
>>> wrote:
>>>
>>>  Colin,
>>>>   I you block the equations in FEAP, then the restrained BCs are
>>>> 'included' in assembled PETSc matrix (these dofs have rows that are zero
>>>> modulo a value of unity on the diagonal and the restrained value on the
>>>> right-hand side).
>>>>
>>>>
>>> However, this is not necessary with the DM interface.
>>>
>>>    Matt
>>>
>>>
>>>  -sg
>>>>
>>>> On 8/9/12 8:41 AM, Colin McAuliffe wrote:
>>>>
>>>>  From what I can gather from the petsc-dev source it looks like the
>>>>> commands in 4) will then generate the splits using strided blocks. The
>>>>> problem with that is the fortran code I am using (FEAP) uses petsc to
>>>>> assemble and solve the linear problem within its own nonlinear and time
>>>>> stepping schemes. The linear problem that petsc solves already has
>>>>> boundary
>>>>> conditions applied to it so petsc only sees the active (unrestrained)
>>>>> equations. So then in general fields can't be extracted from the active
>>>>> equations using strided blocks and I am stuck with generating the index
>>>>> sets defining the splits on my own. Will it still be possible to make
>>>>> use
>>>>> of the new DM functions in this case?
>>>>>
>>>>> FEAP website:
>>>>> http://www.ce.berkeley.edu/****projects/feap/<http://www.ce.berkeley.edu/**projects/feap/>
>>>>> <http://www.ce.**berkeley.edu/projects/feap/<http://www.ce.berkeley.edu/projects/feap/>
>>>>> >
>>>>>
>>>>>
>>>>> Colin
>>>>>
>>>>>
>>>>> Quoting Matthew Knepley <knepley at gmail.com>:
>>>>>
>>>>>  On Wed, Aug 8, 2012 at 10:51 PM, Matthew Knepley <knepley at gmail.com>
>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>  On Wed, Aug 8, 2012 at 10:23 PM, Colin McAuliffe  <
>>>>>> cjm2176 at columbia.edu
>>>>>>
>>>>>>> >wrote:
>>>>>>>
>>>>>>>  Thanks all, regarding use of DM in 3.3, is the procedure now to
>>>>>>> create
>>>>>>>
>>>>>>>> the fields with PCFieldSplitSetIS and then use
>>>>>>>> DMCreateFieldDecompositionDM
>>>>>>>> to create a new DM based from the new fields and the DM for the
>>>>>>>> original
>>>>>>>> problem?
>>>>>>>>
>>>>>>>>
>>>>>>>>  1) Use petsc-dev
>>>>>>>
>>>>>>> 2) PCFieldSplitSetIS() is independent. This allows you to define
>>>>>>> splits
>>>>>>> however you want, but then recursive gets harder
>>>>>>>
>>>>>>> 3) In 3.3., it uses DMCreateFieldDecompositionDM() to split all
>>>>>>> fields
>>>>>>> apart at once
>>>>>>>
>>>>>>> 4) In petsc-dev, it uses DMCreateSubDM() which can split off any
>>>>>>> combination of fields, which from the command line is something like
>>>>>>>
>>>>>>>      -pc_fieldsplit_0_fields 2,0 -pc_fieldsplit_1_fields 1,3
>>>>>>>
>>>>>>>
>>>>>>>  I should have shown recursive:
>>>>>>
>>>>>>   -fieldsplit_0_pc_type fieldsplit
>>>>>>
>>>>>> will split 2,0 into two blocks.
>>>>>>
>>>>>>    Matt
>>>>>>
>>>>>>
>>>>>>       Matt
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  Colin
>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Colin McAuliffe
>>>>>>>> PhD Candidate
>>>>>>>> Columbia University
>>>>>>>> Department of Civil Engineering and Engineering Mechanics
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>  --
>>>> ------------------------------****-----------------
>>>>
>>>> Sanjay Govindjee, PhD, PE
>>>> Professor of Civil Engineering
>>>> Vice Chair for Academic Affairs
>>>>
>>>> 779 Davis Hall
>>>> Structural Engineering, Mechanics and Materials
>>>> Department of Civil Engineering
>>>> University of California
>>>> Berkeley, CA 94720-1710
>>>>
>>>> Voice:  +1 510 642 6060
>>>> FAX:    +1 510 643 5264
>>>> s_g at berkeley.edu
>>>> http://www.ce.berkeley.edu/~****sanjay<http://www.ce.berkeley.edu/~**sanjay><
>>>> http://www.ce.berkeley.edu/~**sanjay<http://www.ce.berkeley.edu/~sanjay>
>>>> >
>>>> ------------------------------****-----------------
>>>>
>>>>
>>>>
>>>
>>> --
>>> 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
>>>
>>>
>>
>>
>> --
>> Colin McAuliffe
>> PhD Candidate
>> Columbia University
>> Department of Civil Engineering and Engineering Mechanics
>>
>
>


-- 
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-users/attachments/20120809/e655b17b/attachment.html>


More information about the petsc-users mailing list