Point value at vertices with DG question

62 views
Skip to first unread message

Craig Michoski

unread,
Apr 29, 2016, 12:16:27 PM4/29/16
to deal.II User Group
Hey all,

Here'a a question I wanted to ask real quick, which may seem a little odd.  Say I have DG elements, and want to get point values on vertices, then I think VectorTools::point_value gives me the value on the element I am on (in the iterator sense), so that feeding in vertex points would work.  But now I recognize that in DG vertex coordinates correspond in a regular quad mesh to 4 values.  One on the owned cell, 2 on the two neighboring cells, and one on the adjacent cell.  What if I want to average the vertex value over that stencil?  The traditional DG stencil only includes face neighbors, so the adjacent cell may not have support in a distributed mesh.  Does anyone have a simple idea on how you might do this?

Thanks,
Craig

    

    

Bruno Turcksin

unread,
Apr 29, 2016, 12:51:16 PM4/29/16
to deal.II User Group
Craig,


On Friday, April 29, 2016 at 12:16:27 PM UTC-4, Craig Michoski wrote:
Here'a a question I wanted to ask real quick, which may seem a little odd.  Say I have DG elements, and want to get point values on vertices, then I think VectorTools::point_value gives me the value on the element I am on (in the iterator sense), so that feeding in vertex points would work.  But now I recognize that in DG vertex coordinates correspond in a regular quad mesh to 4 values.  One on the owned cell, 2 on the two neighboring cells, and one on the adjacent cell.  What if I want to average the vertex value over that stencil?  The traditional DG stencil only includes face neighbors, so the adjacent cell may not have support in a distributed mesh.  Does anyone have a simple idea on how you might do this?

I am not sure that I understood correctly your question but the adjacent cell is always known but it may be a ghost cell. The partitioning is independent of the discretization that you are using and the adjacent cell is necessary for continuous finite element.

Best,

Bruno

Timo Heister

unread,
Apr 29, 2016, 1:17:48 PM4/29/16
to dea...@googlegroups.com
VectorTools::point_value will pick the cell the point is "in" to
evaluate the FE function. So if you hand the function a vertex,
deal.II will randomly (not really, but the choice depends on rounding,
etc.) pick one of the neighboring cells and evaluate the solution. For
a continuous element this doesn't matter, but for a DG element you get
one of the values.
Note that evaluating your solution on faces/vertices is not a
well-defined operation in DG. If you want to do something like
computing an average value, you have to do so manually.

Did you see the following?
https://github.com/dealii/dealii/wiki/Frequently-Asked-Questions#how-do-i-access-values-of-discontinuous-elements-at-vertices

The parallel aspect has been answered by Bruno above.
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dealii+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Timo Heister
http://www.math.clemson.edu/~heister/

Jean-Paul Pelteret

unread,
Apr 30, 2016, 2:46:52 AM4/30/16
to deal.II User Group
This question, also ask yesterday, provides additional insights into how to solve your problem.
Reply all
Reply to author
Forward
0 new messages