On Tue, 20 Nov 2018, Michael Povolotskyi wrote:

> Dear Libmesh developers,
> I see from the examples that the surface element is constructed as follows:
>
> // Declare a special finite element object for
> // boundary integration.
> std:: unique_ptr<FEBase> fe_face (FEBase::build(dim, fe_type));
>
> Question: why the dimension is equal to the dimension of the mesh instead of 
> dim - 1, as you use in the quadrature rule?

It's still a dim-dimensional element, even if you do some
initialization for a dim-1-dimensional side.  Consider the HERMITE
case.  With p=3 on an edge, HERMITE gives you 4 DoFs: u and du/dx on
each of left/right nodes.  But with p=3 on a quad, HERMITE gives you
16 DoFs, and *8* of those are on any given edge: the above four, plus
du/dy and d^2u/dy^2 on left/right nodes.  If you were integrating
fluxes across the edge, say, then you'd need all 8 of those DoFs to
get the right result.
---
Roy


_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to