On Mon, Jun 12, 2017 at 1:37 AM, gabriele r <onionj...@hotmail.it> wrote:

> Hi,
>
>
> I would like to implement the Raviart-Thomas element in libmesh.
>
> At the moment, I have copied the Nedelec files (needle_one_shape, 2D, 3D),
> renamed them as Raviart and change the others ones in order to make it
> compile.
>
> Generally, to create a new element, I need to define its shape functions,
> the transformation between the reference and the actual element and the
> assembly.
>
> The shapes functions are defined in the raviart_one, raviart_2d,
> raviart_3D.
>
> Let the bijectivee transformation be x=J X+ b, where x/X is the point on
> the actual/reference element. By definition:
>
>
> actual_phi(x) = 1/det(J) J reference_phi(X)
>
>
> I should insert this kind of transformation in a file like the
> hcurl_fe_transformation (so in hDIV_fe_transformation).
>
> However I do not know where and when the transformation is it called
>

The class FEGenericBase has the "_fe_trans" member (see
include/fe/fe_base.h) which is the base class for both H1FETransformation
and HCurlFETransformation, and would also be the base class for your
proposed HDivFETransformation class. The virtual members
of FETransformationBase and the existing implementations should give you
some clues as to which interfaces need to be overridden/specialized in your
class, but this class hierarchy was created by Paul Bauman, so he may be
able to give you more detailed information.

Regarding your other email: I'm curious if Raviart-Thomas requires a
globally consistent edge orientation for all the elements (as described in
e.g. https://arxiv.org/abs/1512.02137)?  We don't do anything to
construct/enforce such an ordering currently in libmesh...

-- 
John
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to