[petsc-users] Field split questions
Colin McAuliffe
cjm2176 at columbia.edu
Thu Aug 9 10:02:26 CDT 2012
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?
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/>
>>>
>>> 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>
>> ------------------------------**-----------------
>>
>>
>
>
> --
> 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
More information about the petsc-users
mailing list