[petsc-users] How to refine the Vertex Sets in DMPlex
Rongliang Chen
rl.chen at siat.ac.cn
Wed Jun 8 07:22:24 CDT 2016
Hi Lawrence and Matt,
Many thanks for your help.
Best regards,
Rongliang
On 06/08/2016 04:36 PM, Matthew Knepley wrote:
> On Wed, Jun 8, 2016 at 5:45 AM, Rongliang Chen <rl.chen at siat.ac.cn
> <mailto:rl.chen at siat.ac.cn>> wrote:
>
> Hi Matt,
>
> I tried your suggestions but I still can not get the refined
> Vertex Sets. What I am doing looks like this:
> -----------------------------------------------------------------------
> if (!rank) {
>
>
> Put vertices in "Face Sets" instead
>
> DMPlexSetLabelValue(dm, "Vertex Sets", xx, xx)
>
> DMPlexSetLabelValue(dm, "Face Sets", xx, xx)
>
> // Now it has edges in it
> DMPlexLabelComplete(dm, "Face Sets");
>
> }
>
> DMPlexDistribute(dm, xx, xx)
>
> DMPlexGetStratumIS(dm, "Vertex Sets", xx, &vertexIS)
> ISGetLocalSize(vertexIS, &numVertexes1)
>
> DMRefine(dm, xx)
>
> DMPlexGetLabel(dm, "Face Sets", &facelabel)
> DMPlexLabelComplete(dm, facelabel)
>
> DMPlexGetStratumIS(dm, "Vertex Sets", xx, &vertexIS)
> ISGetLocalSize(vertexIS, &numVertexes2)
> -------------------------------------------------------------------
>
> I got "numVertexes1 == numVertexes2". But I expect to get
> "numVertexes2 > numVertexes1". Did I miss something?
>
>
> Matt
>
> Thanks,
> Rongliang
>
>
>
> On 06/08/2016 08:13 AM, Rongliang Chen wrote:
>> Hi Matt,
>>
>> Thank you very much.
>>
>> Best,
>> Rongliang
>>
>>
>> On 06/08/2016 01:53 AM, Matthew Knepley wrote:
>>> On Tue, Jun 7, 2016 at 5:18 PM, Rongliang Chen
>>> <rl.chen at siat.ac.cn <mailto:rl.chen at siat.ac.cn>> wrote:
>>>
>>> Hi Matt,
>>>
>>> I know how to label vertex (ex_get_node_set) and face
>>> (ex_get_side_set), but do not know how to label the edge for
>>> a 3D mesh. Can you give me an example for that?
>>>
>>>
>>> You can label the faces, and then call DMPlexLabelComplete().
>>>
>>> Thanks,
>>>
>>> Matt
>>>
>>> Thanks,
>>> Rongliang
>>>
>>> ---------------------
>>> Rongliang Chen, PhD
>>> Associate Professor
>>>
>>> Laboratory for Engineering and Scientific Computing
>>> Shenzhen Institutes of Advanced Technology
>>> Chinese Academy of Sciences
>>> Address: 1068 Xueyuan Avenue, Shenzhen University Town, Shenzhen, Guangdong (518055), P. R. China
>>> E-mail:rl.chen at siat.ac.cn <mailto:rl.chen at siat.ac.cn>
>>> Phone:+86-755-86392312 <tel:%2B86-755-86392312>
>>>
>>> On 06/07/2016 10:06 PM, Matthew Knepley wrote:
>>>> On Tue, Jun 7, 2016 at 3:05 PM, Rongliang Chen
>>>> <rl.chen at siat.ac.cn <mailto:rl.chen at siat.ac.cn>> wrote:
>>>>
>>>> Hi Matt,
>>>>
>>>> Thanks for your reply.
>>>>
>>>> Yes, I only labels the vertex because I am doing the
>>>> finite element method where I only need the vertex
>>>> label. Do you mean that I need to label the faces and
>>>> get the vertex label from the face label?
>>>>
>>>>
>>>> You need to label vertices and edges.
>>>>
>>>> Thanks,
>>>>
>>>> Matt
>>>>
>>>> Thanks,
>>>> Rongliang
>>>>
>>>>
>>>>
>>>> On 06/07/2016 09:51 PM, Matthew Knepley wrote:
>>>>> On Tue, Jun 7, 2016 at 10:09 AM, Rongliang Chen
>>>>> <rl.chen at siat.ac.cn <mailto:rl.chen at siat.ac.cn>> wrote:
>>>>>
>>>>> Dear All,
>>>>>
>>>>> I am using the DMRefine_Plex to refine a mesh. In
>>>>> the coarse mesh, it has a label "Vertex Sets" to
>>>>> mark the boundary nodes. I found that the
>>>>> DMRefine_Plex did not refine this label.
>>>>>
>>>>> For example, in the coarse mesh, there are 100
>>>>> nodes on the boundary, that is the number of nodes
>>>>> in the label is 100. In the refined mesh
>>>>> (uniformly refined), the number of nodes in the
>>>>> label should be larger than 100, but I found that
>>>>> this number is still 100, which means the newly
>>>>> added nodes on the boundary were not added to the
>>>>> label.
>>>>>
>>>>> But I need a refined label to set the boundary
>>>>> conditions. Anyone can tell me how to get a
>>>>> refined Vertex Sets label?
>>>>>
>>>>>
>>>>> All operations are topological in Plex, not geometric.
>>>>> When we refine, we split edges (for instance) and the
>>>>> new vertex inserted
>>>>> inherits the labels from the edge that was split. I am
>>>>> guessing that you only labels the vertices.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Matt
>>>>>
>>>>> Best regards,
>>>>> Rongliang
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 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
>>>
>>>
>>>
>>>
>>> --
>>> 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-users/attachments/20160608/7d1f4554/attachment.html>
More information about the petsc-users
mailing list