Giuseppe,
> I'm writing this post because I would need help to build a "particular" finite
> element space. Let us suppose to have a scalar field in 2D. I want to consider
> a family of basis functions along the horizontal direction (e.g. basis
> functions based on Legendre polynomials) and a different family of basis
> functions along the vertical direction (e.g. basis functions based on Laguerre
> polynomials). Is there some class that can help to implement such a space? The
> main difference with respect to the "standard" finite elements is that the
> this space is not simply the tensor product of 1D basis functions.
>
> There is this class FE_DGVector
> <
https://www.dealii.org/current/doxygen/deal.II/classFE__DGVector.html#a1351e60ba12ff8474b93306930a99701>, which maybe can help, but I am not fully sure about that. Indeed, another required feature is the possibility to consider different degrees along the two directions, as it happens for instance for Raviart-Thomas spaces. The constructor of Raviart-Thomas polynomials takes in input two different polynomial degrees (one for normal direction and another one for the tangetial direction). Is there some general functionality to do something similar for other polynomials, which can be in principle different along the two directions, and then pass it to a finite element space?
There is no easy approach that is already pre-packaged, mostly because that's
not a common case. Is your finite element scalar or vector-valued? In the
former case, I don't think that there is any example you can base things on.
You might just have to derive from FiniteElement and implement things by hand,
perhaps by looking at how classes such as FE_RaviartThomas do things as an
example.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email:
bang...@colostate.edu
www:
http://www.math.colostate.edu/~bangerth/