[petsc-users] node DG with DMPlex

Yann Jobic yann.jobic at univ-amu.fr
Mon Mar 16 16:19:51 CDT 2020


Hi all,

I would like to implement a nodal DG with the DMPlex interface.
Therefore, i must add the internal nodes to the DM (GLL nodes), with the 
constrains :
1) Add them as solution points, with correct coordinates (and keep the 
good rotational ordering)
2) Find the shared nodes at faces in order to compute the fluxes
3) For parallel use, so synchronize the ghost node at each time steps

I found elements of answers in those threads :
https://lists.mcs.anl.gov/pipermail/petsc-users/2016-August/029985.html
https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2019-October/039581.html

However, it's not clear for me where to begin.

Quoting Matt, i should :
"  DMGetCoordinateDM(dm, &cdm);
   <Set field information into cdm instead of dm>
  DMCreateLocalVector(cdm, &coordinatesLocal);
  <Fill in higher order coordinate values>
  DMSetCoordinatesLocal(dm, coordinatesLocal);"

However, i will not create ghost nodes this way. And i'm not sure to 
keep the good ordering.
This part should be implemented in the PetscFE interface, for high order 
discrete solutions.
I did not succeed in finding the correct part of the source doing it.

Could you please give me some hint to begin correctly thoses tasks ?

Thanks,

Yann


More information about the petsc-users mailing list