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