[petsc-users] How to construct DMPlex of cells with different topological dimension?

袁煕 yuanxi at advancesoft.jp
Thu Oct 28 03:59:31 CDT 2021


Dear Matt,

Thank you for your quick response.

I think what you mean is to build DAG from my mesh at first and then call
DMPlexCreateFromDAG
<https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexCreateFromDAG.html#DMPlexCreateFromDAG>()
to construct DMPlex. A new problem is,  as I know, the function
DMPlexInterpolate would
generate points with different depth. What's the difference  between those
faces and segment elements generated by  DMPlexInterpolate  with that
defined by the original mesh, or should we not use DMPlexInterpolate in
such a case?

On the other hand, can DMComposite be used in this case by defining DMPlex
with different topological dimensions at first and then composite them?

Thanks in advance.

Yuan


2021年10月27日(水) 19:27 Matthew Knepley <knepley at gmail.com>:

> On Wed, Oct 27, 2021 at 4:50 AM 袁煕 <yuanxi at advancesoft.jp> wrote:
>
>> Hi,
>>
>> I am trying to parallelize my serial FEM program using PETSc. This
>> program calculates structure deformation by using various types of elements
>> such as solid, shell, beam, and truss. At the very beginning, I found it
>> was hard for me to put such kinds of elements into DMPlex. Because solid
>> elements are topologically three dimensional, shell element two, and beam
>> or truss are topologically one-dimensional elements. After reading chapter
>> 2.10: "DMPlex: Unstructured Grids in PETSc" of users manual carefully,  I
>> found the provided functions, such as DMPlexSetCone, cannot declare those
>> topological differences.
>>
>> My question is : Is it possible and how to define all those topologically
>> different elements into a DMPlex struct?
>>
>
> Yes. The idea is to program in a dimension-independent way, so that the
> code can handle cells of any dimension.
> What you probably want is the "depth" in the DAG representation, which you
> can think of as the dimension of a cell.
>
>
> https://petsc.org/main/docs/manualpages/DMPLEX/DMPlexGetPointDepth.html#DMPlexGetPointDepth
>
>   Thanks,
>
>      Matt
>
>
>> Thanks in advance!
>>
>> Best regards,
>>
>> Yuan.
>>
>>
>
> --
> 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
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20211028/89db8381/attachment.html>


More information about the petsc-users mailing list