possible to shift a support point (no vertex) of a triangulation?

17 views
Skip to first unread message

Simon

unread,
Feb 7, 2023, 5:05:21 AM2/7/23
to deal.II User Group
Dear all,

I am approximating a scalar function F of one single argument by discretizing the argument over the interval [lb;ub].
Then, I interpolate the nodal values utilizing VectorTools::interpolate.
To generate the triangulation (a line), I call
GridGenerator::hyber_cube(triangulation, lb, ub) and refine globally up to a desired level.
Either FE_Q(1) or FE_Q(2) elements are used.

The issue is that there is one 'point' p in [lb;ub] for which the function must be Zero.
In case of FE_Q(1) elements, I simply shifted the vertex which is closest to p, to p.
For FE_Q(2) elements, the closest point to p is a vertex *or* the support point in the center of the element.
I think it is not possible to 'shift' a support point as the triangulation is made up of vertices only, right?

Best
Simon

Wells, David

unread,
Feb 7, 2023, 10:50:18 AM2/7/23
to dea...@googlegroups.com
Hi Simon,

Correct - we don't have a way to shift support points like that on one particular element.

Another possibility would be to add a constraint (i.e., with AffineConstraints) enforcing that the FE solution sums to zero at that point. You would have to do some work to find the cell on which the point is and evaluate the shape functions at that point but it would work for any order of element and any point location.

Best,
David

From: dea...@googlegroups.com <dea...@googlegroups.com> on behalf of Simon <simon.w...@gmail.com>
Sent: Tuesday, February 7, 2023 5:05 AM
To: deal.II User Group <dea...@googlegroups.com>
Subject: [deal.II] possible to shift a support point (no vertex) of a triangulation?
 
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/e4c1dc91-7e1c-4317-93ca-ef8985f1313dn%40googlegroups.com.

Wolfgang Bangerth

unread,
Feb 7, 2023, 4:07:42 PM2/7/23
to dea...@googlegroups.com
Simon,
The triangulation doesn't know anything about nodes -- these are a
property of the finite element, and the triangulation can't do anything
about it because there may in fact be many DoFHandler objects (with
corresponding finite elements) attached to the same triangulation.

But you could create a finite element that has a node at a specific
point. The FE_Q class has a constructor that takes a list of support
points as arguments and then builds the Lagrange basis accordingly. You
might want to try that out.

Best
W.


--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
Reply all
Reply to author
Forward
0 new messages