[petsc-users] Implementing discontinuous Galerkin FEM?

Matthew Knepley knepley at gmail.com
Wed Aug 3 10:13:37 CDT 2016


On Thu, Jul 28, 2016 at 1:31 PM, Andrew Ho <andrewh0 at uw.edu> wrote:

> I am trying to implement a discontinuous Galerkin discretization using the
> PETSc DM features to handle most of the topology/geometry specific
> functions. However, I'm not really sure which direction to approach this
> from since DG is kind of a middle ground between finite volume and
> traditional continuous Galerkin finite element methods.
>
> It appears to me that if I want to implement a nodal DG method, then it
> would be more practical to extend the PetscFE interface, but for a modal DG
> method perhaps the PetscFV interface is better?
>

Yes, we have had roughly the same idea.


> There are still a few questions that I don't know the answers to, though.
>
> Questions about implementing nodal DG:
>
> 1. Does PetscFE support sub/super parametric element types? If so, how do
> I express the internal node structure for a nodal DG method (say, for
> example located at the abscissa of a Gauss-Lobatto quadrature scheme)?
>

Yes, in the sense that ComputeCellGeometryFEM() is something separate.

No, in the sense that I have not coded anything but isoparametric.


> 2. How would I go about making the dataset stored discontinuous between
> neighboring elements (specifically at shared nodes for a nodal DG method)?
>

Assign them to a cell in the Section.


> 3. Similar to 2, how would I handle boundary conditions? Specifically, I
> need a layer of data space of just the boundary nodes (not a complete
> "ghost" element), and these are the actual constrained points.
>

I do not understand this question. Dirichlet conditions on the function
space are handled the same as always.


> Questions about implementing modal DG:
>
> A. What does specifying the quadrature object for a PetscFV object
> actually do? Is it purely a surface flux integration quadrature? How does
> the quadrature object handle simplex-type elements in 2D/3D?
>

Right now, nothing. We would probably specify a face quadrature by
attaching it to a subobject for that piece of the reference cell. We handle
that kind
of quadrature by rotating to the place and then calling the 2D version.


> B. How would I go about modifying the limiters to take into account these
> multiple modes?
>

I don't know. I would have to understand exactly what algorithm you wanted
to use.

  Thanks,

     Matt


> --
> Andrew Ho
>



-- 
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/20160803/1e20b47d/attachment.html>


More information about the petsc-users mailing list