[petsc-dev] How to get block size into a DM

Mark Adams mfadams at lbl.gov
Mon Sep 5 03:57:58 CDT 2016


On Sun, Sep 4, 2016 at 8:35 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Sun, Sep 4, 2016 at 7:07 PM, Mark Adams <mfadams at lbl.gov> wrote:
>
>> On Sat, Sep 3, 2016 at 11:05 PM, Matthew Knepley <knepley at gmail.com>
>> wrote:
>>
>>> On Sat, Sep 3, 2016 at 11:12 AM, Mark Adams <mfadams at lbl.gov> wrote:
>>>
>>>> The DM in snes/ex56 does elasticity but the block size does not get
>>>> into vectors. It does something like this:
>>>>
>>>> PetscFECreateDefault(dm, dim, dim, PETSC_FALSE, NULL, 3,
>>>> &fe);CHKERRQ(ierr); /* elasticity */
>>>> DMGetDS(dm, &prob);CHKERRQ(ierr);
>>>> PetscDSSetDiscretization(prob, 0, (PetscObject) fe);CHKERRQ(ierr);
>>>> DMCreateGlobalVector(dm,&xx);
>>>>
>>>> The block size of xx is not 3. (dim==3). It is not clear to me how to
>>>> make this work.
>>>>
>>>
>>> The DM determines the block size based on the Section. There could be a
>>> bug,
>>>
>>
>> I suspect that I just found a hole in the combinatorics (finite!) that is
>> Plex. I use -mat_block_size 3, so I could see how Plex might not pick it up.
>>
>
> Perhaps. Give me the branch and exact command line to run.
>

My pull request for snes/ex56 has:

ierr = VecNorm(xx,NORM_INFINITY,&mdisp[iter]);CHKERRQ(ierr);

When I tried to use VecStrideNorm I got the error that block size was not
set. You can't set it manually so I was stuck (not a big deal, but there is
either a bug in Plex or a bug in the way that I am using it).

Thanks,


>
>   Matt
>
>
>> All I do is call DMCreateMatrix(dm, &Amat);
>>
>> And Amat get its w/o and explicit setfromoptions.
>>
>> but first did you apply
>>> a BC that would wreck the block size? Namely did you constrain just one
>>> or two unknowns at a point?
>>>
>>
>> No
>>
>>
>>>
>>>   Matt
>>>
>>>
>>>> snes/ex56 does use -mat_block_size 3.
>>>>
>>>> Mark
>>>>
>>> --
>>> 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/20160905/7a20b27f/attachment.html>


More information about the petsc-dev mailing list