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

Matthew Knepley knepley at gmail.com
Wed Oct 27 05:27:43 CDT 2021


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/20211027/efd79904/attachment.html>


More information about the petsc-users mailing list