[petsc-users] Field split questions
Colin McAuliffe
cjm2176 at columbia.edu
Mon Aug 27 21:32:21 CDT 2012
Great! the example is working thanks.
Colin
Quoting Matthew Knepley <knepley at gmail.com>:
> On Mon, Aug 27, 2012 at 12:18 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
>> On Sun, Aug 26, 2012 at 8:42 PM, Colin McAuliffe
>> <cjm2176 at columbia.edu>wrote:
>>
>>> Im getting segmentation faults when I call PetscSectionSetChart, gdb is
>>> telling me this:
>>>
>>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>>> Reason: 13 at address: 0x0000000000000000
>>> 0x00000001005f9585 in PetscTrFreeDefault (aa=0x4008000000000000,
>>> line=296, function=0x1016bd470 "PetscSectionSetChart",
>>> file=0x1016bcbb8 "/Users/christina/Desktop/**
>>> COLIN/Work/petsc-dev/src/vec/**vec/impls/seq/vsection.c",
>>> dir=0x1016bca50 "")
>>> at /Users/christina/Desktop/**COLIN/Work/petsc-dev/src/sys/**
>>> memory/mtr.c:279
>>> 279 if (head->classid != CLASSID_VALUE) {
>>> (gdb) ba
>>> #0 0x00000001005f9585 in PetscTrFreeDefault (aa=0x4008000000000000,
>>> line=296, function=0x1016bd470 "PetscSectionSetChart",
>>> file=0x1016bcbb8 "/Users/christina/Desktop/**
>>> COLIN/Work/petsc-dev/src/vec/**vec/impls/seq/vsection.c",
>>> dir=0x1016bca50 "")
>>> at /Users/christina/Desktop/**COLIN/Work/petsc-dev/src/sys/**
>>> memory/mtr.c:279
>>> #1 0x000000010075120b in PetscSectionSetChart (s=0x102e06910, pStart=1,
>>> pEnd=0)
>>> at /Users/christina/Desktop/**COLIN/Work/petsc-dev/src/vec/**
>>> vec/impls/seq/vsection.c:296
>>> #2 0x00000001006e99f3 in petscsectionsetchart_ (s=0x7fff5fbfee38,
>>> pStart=0x10165bc1c, pEnd=0x10165bc18, __ierr=0x7fff5fbfee4c)
>>> at /Users/christina/Desktop/**COLIN/Work/petsc-dev/src/vec/**
>>> vec/impls/seq/ftn-auto/**vsectionf.c:148
>>> #3 0x0000000100020c4c in setfs_ (fsind=<value temporarily unavailable,
>>> due to optimizations>,
>>> numfields=<value temporarily unavailable, due to optimizations>) at
>>> umacr8.F:96
>>>
>>
>> It looks like you never create the PetscSection in the call above. Can you
>> send the code?
>>
>>
>>> Also, calling:
>>>
>>> call PetscSectionCreate(PETSC_COMM_**WORLD,sec,ierr)
>>> call PetscSectionGetChart(sec,**pStart,pEnd,ierr)
>>>
>>> returns pStart = 1 and pEnd = 0. Shouldn't PetscSectionCreate set pStart
>>> and pEnd to -1 and -1?
>>>
>>
>> Yes, that is true. I will create a Fortran example to check this.
>>
>
> Okay, there was a bug in the Fortran stub generation for this type. I have
> pushed a fix for this. In order to
> get these to rebuild, you need to
>
> rm $PETSC_DIR/$PETSC_ARCH/bin/bfort
> rm -rf $PETSC_DIR/externalpackages/sowing*
> cd $PETSC_DIR
> cd externalpackages
> hg clone http://petsc.cs.iit.edu/petsc/externalpackages/sowing-1.1.16/
> ./$PETSC_ARCH/conf/reconfigure-$PETSC_ARCH.py
>
> Then you can run src/vec/vec/examples/tests/ex40f90.F
>
> Thanks
>
> Matt
>
>
>> Matt
>>
>>
>>> I am a bit stumped here, any idea what is going on?
>>>
>>> thanks
>>> Colin
>>>
>>> Quoting Matthew Knepley <knepley at gmail.com>:
>>>
>>> On Mon, Aug 20, 2012 at 7:47 AM, Colin McAuliffe <cjm2176 at columbia.edu
>>>> >wrote:
>>>>
>>>> I am just not seeing where in the section such an IS would go. As far
>>>>> as I
>>>>> can tell from the functions in vsection.c, the only item in the section
>>>>> which is an IS is bcIndices, defining points where bcs are applied.
>>>>>
>>>>>
>>>> If you have no structure other than dof, you can make a Section where the
>>>> points
>>>> just number dofs. Then you just run through the ints p in your IS can
>>>> call
>>>>
>>>> PetscSectionSetDof(section, p, 1)
>>>>
>>>> Then PetscSectionSetUp(). Stick this in a DMSHELL, or really any DM you
>>>> want,
>>>> and FS will use it.
>>>>
>>>> Matt
>>>>
>>>>
>>>> 38 ierr = PetscNew(struct _n_PetscSection, s);CHKERRQ(ierr);
>>>>> 39 (*s)->atlasLayout.comm = comm;
>>>>> 40 (*s)->atlasLayout.pStart = -1;
>>>>> 41 (*s)->atlasLayout.pEnd = -1;
>>>>> 42 (*s)->atlasLayout.numDof = 1;
>>>>> 43 (*s)->atlasDof = PETSC_NULL;
>>>>> 44 (*s)->atlasOff = PETSC_NULL;
>>>>> 45 (*s)->bc = PETSC_NULL;
>>>>> 46 (*s)->bcIndices = PETSC_NULL;
>>>>> 47 (*s)->setup = PETSC_FALSE;
>>>>> 48 (*s)->numFields = 0;
>>>>> 49 (*s)->fieldNames = PETSC_NULL;
>>>>> 50 (*s)->field = PETSC_NULL;
>>>>>
>>>>> Quoting Matthew Knepley <knepley at gmail.com>:
>>>>>
>>>>> On Mon, Aug 20, 2012 at 7:17 AM, Colin McAuliffe <cjm2176 at columbia.edu
>>>>>
>>>>>> >wrote:
>>>>>>
>>>>>> Yes, just call DMSetDefaultSection(). However, note that you will have
>>>>>>
>>>>>>>
>>>>>>> everything sized
>>>>>>>> correctly, but handling topology and iteration for the residual
>>>>>>>> calculation
>>>>>>>> would be completely
>>>>>>>> up to you.
>>>>>>>>
>>>>>>>> Matt
>>>>>>>>
>>>>>>>>
>>>>>>>> It would be really great to define the initial data layout using IS
>>>>>>> to
>>>>>>> define the equation numbers of the splits, while letting the new DM
>>>>>>> stuff
>>>>>>> handle creating all the nested splits given command line options. Is
>>>>>>> something like this possible?
>>>>>>>
>>>>>>>
>>>>>>> This is just what I say above. Is something not working?
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>> Colin
>>>>>>
>>>>>>>
>>>>>>> Quoting Matthew Knepley <knepley at gmail.com>:
>>>>>>>
>>>>>>> On Mon, Aug 13, 2012 at 4:06 PM, Colin McAuliffe <
>>>>>>> cjm2176 at columbia.edu
>>>>>>>
>>>>>>> >wrote:
>>>>>>>>
>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Does use of the PetscSection mean that it is neccesary to define a
>>>>>>>>>>
>>>>>>>>> DMMesh?
>>>>>>>>> In other
>>>>>>>>> words is there a way to create the data layout for the physics
>>>>>>>>> without
>>>>>>>>> having to specify
>>>>>>>>> any information about the mesh?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yes, just call DMSetDefaultSection(). However, note that you will
>>>>>>>>> have
>>>>>>>>>
>>>>>>>> everything sized
>>>>>>>> correctly, but handling topology and iteration for the residual
>>>>>>>> calculation
>>>>>>>> would be completely
>>>>>>>> up to you.
>>>>>>>>
>>>>>>>> Matt
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> Colin
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Quoting Matthew Knepley <knepley at gmail.com>:
>>>>>>>>>
>>>>>>>>> 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/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <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/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.**ce.berkeley.edu/********projects/**feap/<http://ce.berkeley.edu/******projects/**feap/>
>>>>>>>>>>>>>>> <http://**ce.berkeley.edu/****projects/****feap/<http://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/<http://www.ce.berkeley.edu/****projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/********projects/feap/<http://berkeley.edu/******projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/****projects/**feap/<http://berkeley.edu/****projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://**berkeley.edu/****projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/**projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.**ce.berkeley.edu/******projects/**feap/<http://ce.berkeley.edu/****projects/**feap/>
>>>>>>>>>>>>>>> <http://**ce.berkeley.edu/**projects/****feap/<http://ce.berkeley.edu/**projects/**feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.**ce.berkeley.edu/****projects/**feap/<http://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/<http://berkeley.edu/******projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/****projects/**feap/<http://berkeley.edu/****projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://**berkeley.edu/****projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/**projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://**berkeley.edu/****projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://**berkeley.edu/**projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/******projects/feap/<http://berkeley.edu/****projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/**projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://**berkeley.edu/**projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/****projects/feap/<http://berkeley.edu/**projects/feap/>
>>>>>>>>>>>>>>> <http://**berkeley.edu/projects/feap/<http://berkeley.edu/projects/feap/>
>>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**projects/feap/<http://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>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**~******sanjay<http://berkeley.edu/~******sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~******sanjay<http://www.ce.berkeley.edu/~******sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/****~****sanjay<http://berkeley.edu/**~****sanjay>
>>>>>>>>>>>>>> <http://berkeley.**edu/~****sanjay<http://berkeley.edu/~****sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**~****sanjay<http://berkeley.edu/~****sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~****sanjay<http://www.ce.berkeley.edu/~****sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/******~**sanjay<http://berkeley.edu/****~**sanjay>
>>>>>>>>>>>>>> <http://berkeley.**edu/**~**sanjay<http://berkeley.edu/**~**sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://berkeley.**edu/~****sanjay <
>>>>>>>>>>>>>> http://berkeley.edu/~**sanjay**>>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/****~**sanjay<http://berkeley.edu/**~**sanjay>
>>>>>>>>>>>>>> <http://berkeley.**edu/~**sanjay<http://berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**~**sanjay<http://berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~**sanjay<http://www.ce.berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> ><
>>>>>>>>>>>>>> http://www.ce.berkeley.edu/~**********sanjay<http://www.ce.berkeley.edu/~********sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~******sanjay<http://www.ce.berkeley.edu/~******sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**~****sanjay<http://berkeley.edu/~****sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~****sanjay<http://www.ce.berkeley.edu/~****sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/****~**sanjay<http://berkeley.edu/**~**sanjay>
>>>>>>>>>>>>>> <http://berkeley.**edu/~**sanjay<http://berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/**~**sanjay<http://berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> <http://www.ce.**berkeley.edu/~**sanjay<http://www.ce.berkeley.edu/~**sanjay>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> <http://www.ce.berkeley.**edu/******~sanjay<http://www.ce.**
>>>>>>>>>>>>>> berkeley.edu/~sanjay
>>>>>>>>>>>>>> <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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> 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
>>>>
>>>>
>>>
>>>
>>> --
>>> 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
>
--
Colin McAuliffe
PhD Candidate
Columbia University
Department of Civil Engineering and Engineering Mechanics
More information about the petsc-users
mailing list