Patate Lib  0.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Vitelotte::LinearElement< _Scalar > Class Template Reference

Inherited by Vitelotte::FVElement< _Scalar > [protected], Vitelotte::MorleyElement< _Scalar > [protected], and Vitelotte::QuadraticElement< _Scalar > [protected].

Detailed Description

template<typename _Scalar>
class Vitelotte::LinearElement< _Scalar >

Provides method to evaluate linear elements and their derivatives.

Public Types

typedef _Scalar Scalar
 
typedef Eigen::Matrix< Scalar, 2, 1 > Vector
 
typedef Eigen::Matrix< Scalar, 3, 1 > Values
 
typedef Eigen::Matrix< Scalar, 3, 2 > Jacobian
 
typedef Eigen::Matrix< Scalar, 2, 2 > Hessian
 
typedef Eigen::Matrix< Scalar, 3, 1 > BarycentricCoord
 

Public Member Functions

template<typename It >
 LinearElement (It pointIt)
 
template<typename Derived0 , typename Derived1 , typename Derived2 >
 LinearElement (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)
 
Vector projPoint (unsigned pi, unsigned offset=0) const
 
Scalar edgeLength (unsigned ei, unsigned offset=0) const
 
Scalar doubleArea () const
 
BarycentricCoord bcProj (const Vector &p) const
 
Values eval (const BarycentricCoord &bc) const
 
Scalar eval (unsigned bi, const BarycentricCoord &bc) const
 
const Eigen::Block< const
Matrix3, 3, 2 > 
jacobian (const BarycentricCoord &=BarycentricCoord()) const
 
const Vector gradient (unsigned bi, const BarycentricCoord &=BarycentricCoord()) const
 

Protected Types

typedef Eigen::Matrix< Scalar, 3, 1 > Vector3
 
typedef Eigen::Matrix< Scalar, 2, 2 > Matrix2
 
typedef Eigen::Matrix< Scalar, 3, 3 > Matrix3
 
typedef Eigen::Matrix< Scalar, 3, 2 > Matrix3x2
 
typedef Eigen::Matrix< Scalar, 2, 3 > Matrix2x3
 

Protected Member Functions

template<typename Derived0 , typename Derived1 , typename Derived2 >
void computeFromPoints (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)
 

Protected Attributes

Vector m_p2
 
Vector3 m_eLen
 
Scalar m_2delta
 
Matrix3 m_lbf