[petsc-users] Field split questions

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


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?
>

That code is a little obscure because I am trying to be backwards
compatible. I am going to remove DMCreateFieldDecompositionDM(). However,
right now, what it does is call DMCreateFieldDecompositionDM() but it
overrides the result with DMCreateSubDM() if command line definitions are
given.

    Matt


> 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/ef852378/attachment-0001.html>


More information about the petsc-users mailing list