Patate Lib  0.5
Vitelotte::FVElement< _Scalar > Class Template Reference

Inherits Vitelotte::LinearElement< _Scalar >.

## Detailed Description

### template<typename _Scalar> class Vitelotte::FVElement< _Scalar >

Provides method to evaluate FV elements and their derivatives.

## Public Types

typedef _Scalar Scalar

typedef LinearElement< Scalar > Base

typedef Eigen::Matrix< Scalar, 2, 1 > Vector

typedef Eigen::Matrix< Scalar, 9, 1 > Values

typedef Eigen::Matrix< Scalar, 9, 2 > Jacobian

typedef Eigen::Matrix< Scalar, 2, 2 > Hessian

typedef Eigen::Matrix< Scalar, 3, 1 > BarycentricCoord

## Public Member Functions

template<typename It >
FVElement (It pointIt)

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

const Matrix3 & dldn () const

Scalar dldn (unsigned li, unsigned ni) const

Values eval (const BarycentricCoord &bc) const

Scalar eval (unsigned bi, const BarycentricCoord &bc) const

Jacobian jacobian (const BarycentricCoord &bc) const

Vector gradient (unsigned bi, const BarycentricCoord &bc) const

void hessian (const BarycentricCoord &bc, Hessian *h) const

Hessian hessian (unsigned bi, const BarycentricCoord &bc) const

Scalar _vertexGradientFactor (unsigned bi, unsigned ei) const

Scalar _bubble (const BarycentricCoord &bc) const

Vector _bubbleGradient (const BarycentricCoord &bc) const

Hessian _bubbleHessian (const BarycentricCoord &bc) const

Scalar _vertexSubExpr (unsigned i, const BarycentricCoord &bc) const

Vector _vertexSubExprGradient (unsigned i, const BarycentricCoord &bc) const

Hessian _vertexSubExprHessian (unsigned i, const BarycentricCoord &bc) const

Scalar _edgeSubExpr (unsigned i, const BarycentricCoord &bc) const

Vector _edgeSubExprGradient (unsigned i, const BarycentricCoord &bc) const

Hessian _edgeSubExprHessian (unsigned i, const BarycentricCoord &) const

Scalar _gradientSubExpr (unsigned i, const BarycentricCoord &bc) const

Hessian _gradientSubExprHessian (unsigned i, const BarycentricCoord &bc) const

## Protected Types

typedef Eigen::Matrix< Scalar, 3, 1 > Vector3

typedef Eigen::Matrix< Scalar, 3, 3 > Matrix3

typedef Eigen::Matrix< Scalar, 2, 3 > Matrix2x3

Protected Types inherited from Vitelotte::LinearElement< _Scalar >
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

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

## Protected Member Functions

void computeFromPoints ()

Protected Member Functions inherited from Vitelotte::LinearElement< _Scalar >
template<typename Derived0 , typename Derived1 , typename Derived2 >
void computeFromPoints (const Eigen::MatrixBase< Derived0 > &p0, const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)

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 Attributes

Matrix3 m_dldn

Protected Attributes inherited from Vitelotte::LinearElement< _Scalar >
Vector m_p2

Vector3 m_eLen

Scalar m_2delta

Matrix3 m_lbf