[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