Experimental lowest order edge elements for triangles. More...
#include <dune/localfunctions/whitney/edges02d/edges02dlocalbasis.hh>
Public Types | |
typedef LocalBasisTraits< D, 2, Dune::FieldVector< D, 2 > , R, 2, Dune::FieldVector< R, 2 > , Dune::FieldMatrix< R, 2, 2 > > | Traits |
export type traits for function signature | |
Public Member Functions | |
EdgeS02DLocalBasis () | |
contruct a local basis instance with default orientations | |
EdgeS02DLocalBasis (unsigned int orientations) | |
unsigned int | size () const |
number of shape functions | |
template<typename Geometry > | |
void | evaluateFunctionGlobal (const typename Traits::DomainType &in, std::vector< typename Traits::RangeType > &out, const Geometry &geometry) const |
Get global values of shape functions. | |
template<typename Geometry > | |
void | evaluateJacobianGlobal (const typename Traits::DomainType &in, std::vector< typename Traits::JacobianType > &out, const Geometry &geometry) const |
Evaluate global Jacobian of all shape functions. | |
unsigned int | order () const |
Polynomial order of the shape functions. |
Experimental lowest order edge elements for triangles.
(S for simplex)
D | Type to represent the field in the domain. | |
R | Type to represent the field in the range. |
typedef LocalBasisTraits< D,2,Dune::FieldVector<D,2>, R,2,Dune::FieldVector<R,2>, Dune::FieldMatrix<R,2,2> > Dune::EdgeS02DLocalBasis< D, R >::Traits |
export type traits for function signature
Dune::EdgeS02DLocalBasis< D, R >::EdgeS02DLocalBasis | ( | ) | [inline] |
contruct a local basis instance with default orientations
Dune::EdgeS02DLocalBasis< D, R >::EdgeS02DLocalBasis | ( | unsigned int | orientations | ) | [inline] |
contruct a local basis instance with the given orientations
orientations | Bit-map of orientations for each shape function; bit 0 = 0 means default orientation for the first shape function, bit 0 = 1 means inverted orientation for the first shape function. |
void Dune::EdgeS02DLocalBasis< D, R >::evaluateFunctionGlobal | ( | const typename Traits::DomainType & | in, | |
std::vector< typename Traits::RangeType > & | out, | |||
const Geometry & | geometry | |||
) | const [inline] |
Get global values of shape functions.
Experimental interface for getting global values of shape functions.
Vector valued shape functions often require a complicated transformation to get the global values from the local values:
where is transformation for coordinates,
the tranformation for values and the hat
denotes local quantities. Worse, if we require for edge elements that
and
then we need a different for each shape function. This property is very desirable be eases debugging and the construction of constraints for grids with hanging nodes.
Geometry | Type of geometry |
[in] | in | Where to evaluate. NOTE: these are local coordinates |
[out] | out | The global values of the shape functions. |
[in] | geometry | The geometry used for the local to global mapping. |
void Dune::EdgeS02DLocalBasis< D, R >::evaluateJacobianGlobal | ( | const typename Traits::DomainType & | in, | |
std::vector< typename Traits::JacobianType > & | out, | |||
const Geometry & | geometry | |||
) | const [inline] |
Evaluate global Jacobian of all shape functions.
Experimental interface for getting global values of the Jacobian of the shapefunctions.
This calculates the global Jacobian
Note that this are the derivatives of the global values by the global coordinates, evaluated at local coordinates.
Geometry | Type of geometry |
[in] | in | Where to evaluate. NOTE: these are local coordinates |
[out] | out | The values of the global Jacobian. |
[in] | geometry | The geometry used for the local to global mapping. |
unsigned int Dune::EdgeS02DLocalBasis< D, R >::order | ( | ) | const [inline] |
Polynomial order of the shape functions.
unsigned int Dune::EdgeS02DLocalBasis< D, R >::size | ( | ) | const [inline] |
number of shape functions