[petsc-users] a question about PetscSectionCreate

leejearl leejearl at 126.com
Mon May 29 21:59:27 CDT 2017


Thanks for your kind reply. It helps me very much.

leejearl

On 2017年05月29日 15:47, Dave May wrote:
>
> On Mon, 29 May 2017 at 08:39, leejearl <leejearl at 126.com 
> <mailto:leejearl at 126.com>> wrote:
>
>     Hi, all:
>     I have create a IS for every cell in dmplex by the following steps:
>     1. Creating a integer array which size is matched to the number of
>     cells.
>     2. Use the routine "ISCreateGeneral" to create a corresponding IS.
>
>     Is there any routine which can create a IS for every cell in the
>     dmplex directly?,
>
>
> I don't think so as Plex would have to somehow know what geom quantity 
> to use to define the size of IS (e.g. vertex, cell, face, edge)
>
>     and what is the difference between ISCopy() and ISDuplicate()?
>
>
> ISDuplicate allocates memory for a new with the same comm and layout 
> as the original IS AND copies values from the original IS into the new 
> one. (Note that this is slightly different from other duplicate 
> functions like VecDuplicate which only allocate memory and does not 
> copy values from the orig vec.)
>
> ISCopy does not allocate memory for the IS (passed as the second arg), 
> it only performs the copy of values.
>
> Thanks
>   Dave
>
>
>
>     Thanks,
>     leejearl
>
>
>     On 2017年05月28日 19:35, Matthew Knepley wrote:
>>     On Sun, May 28, 2017 at 6:02 AM, Lawrence Mitchell
>>     <lawrence.mitchell at imperial.ac.uk
>>     <mailto:lawrence.mitchell at imperial.ac.uk>> wrote:
>>
>>
>>
>>         > On 28 May 2017, at 09:16, leejearl <leejearl at 126.com
>>         <mailto:leejearl at 126.com>> wrote:
>>         >
>>         > Hi, Dave: I want to store a PetscInt tag for every cell of
>>         the dmplex with the struct. Thanks,
>>
>>         You probably want to use a DMLabel to store these ids. Unless
>>         you have a different I'd for every cell.
>>
>>
>>     Several things to think about:
>>
>>     1) If you want to store a tag for EVERY cell, then just use an
>>     IS. Cell numberings are guaranteed to be
>>         contiguous and start from 0.
>>
>>     2) If you want to tag only SOME cells, then use a DMLabel as
>>     Lawrence suggests. This uses hash tables
>>         for fast construction, and sorted lists for fast search and
>>     retrieval.
>>
>>     3) If you want to store a VARIABLE number of data items per cell,
>>     then use a Section and an array that you allocate.
>>
>>        Matt
>>
>>
>>         Lawrence
>>
>>
>>
>>
>>     -- 
>>     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
>>
>>     http://www.caam.rice.edu/~mk51/ <http://www.caam.rice.edu/%7Emk51/>
>
>     -- 
>     李季
>     西北工业大学航空学院流体力学系
>     Phone: 17792092487
>     QQ: 188524324
>

-- 
李季
西北工业大学航空学院流体力学系
Phone: 17792092487
QQ: 188524324

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170530/430d5213/attachment.html>


More information about the petsc-users mailing list