Programming tasks to Scientific Computing I
Public Types | Public Member Functions | Protected Types | Static Protected Member Functions | Protected Attributes | List of all members
shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType > Class Template Reference

Base function set for unit triangle. Unit triangle embedded in R^2 is given by the three positions (0,0), (1,0) and (0,1). More...

#include <basefunctionSetShellFE.h>

Public Types

enum  { numBaseFuncs = 3 }
 
typedef DataTypeContainer::RealType RealType
 
typedef DataTypeContainer::DomVecType DomVecType
 
- Public Types inherited from shellFE::UnitTriangleBaseFunctionSetInterface< DataTypeContainer, QuadType >
typedef DataTypeContainer::RealType RealType
 
typedef DataTypeContainer::DomVecType DomVecType
 

Public Member Functions

 UnitTriangMeshBaseFunctionSetP1 ()
 
void setTriangle (const TriangleType &)
 
void evaluateGradient (int BaseFuncNum, const DomVecType &, DomVecType &Gradient) const
 Evaluates the gradient of a base function at RefCoord. More...
 
DomVecType evaluateGradient (int BaseFuncNum, int) const
 Evaluates the gradient of a base function in a quadrature point. More...
 
RealType evaluate (int BaseFuncNum, const DomVecType &RefCoord) const
 Evaluates a base function at. More...
 
const RealType evaluate (int BaseFuncNum, int QuadPoint) const
 Evaluates a base function in a quadrature point. More...
 
- Public Member Functions inherited from shellFE::UnitTriangleBaseFunctionSetInterface< DataTypeContainer, QuadType >
 UnitTriangleBaseFunctionSetInterface ()
 
int numQuadPoints () const
 Returns the number of quadrature points. More...
 
RealType getWeight (int QuadPoint) const
 Returns the quadrature weight at QuadPointa quadrature point. More...
 
const DomVecTypegetRefCoord (int QuadPoint) const
 Returns the coordinates of a quadrature point. More...
 

Protected Types

typedef RealType(* BASIS_FUNC_TYPE) (const DomVecType &RefCoord)
 

Static Protected Member Functions

static RealType _b1 (const DomVecType &c)
 
static RealType _b2 (const DomVecType &c)
 
static RealType _b3 (const DomVecType &c)
 

Protected Attributes

BASIS_FUNC_TYPE _basis [3]
 
const DataTypeContainer::TangentVecType _d1b
 
const DataTypeContainer::TangentVecType _d2b
 
- Protected Attributes inherited from shellFE::UnitTriangleBaseFunctionSetInterface< DataTypeContainer, QuadType >
QuadType _quadRule
 

Detailed Description

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
class shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >

Base function set for unit triangle. Unit triangle embedded in R^2 is given by the three positions (0,0), (1,0) and (0,1).

Definition at line 41 of file basefunctionSetShellFE.h.

Member Typedef Documentation

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
typedef RealType( * shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::BASIS_FUNC_TYPE) (const DomVecType &RefCoord)
protected

Definition at line 51 of file basefunctionSetShellFE.h.

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
typedef DataTypeContainer::DomVecType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::DomVecType

Definition at line 44 of file basefunctionSetShellFE.h.

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
typedef DataTypeContainer::RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::RealType

Definition at line 43 of file basefunctionSetShellFE.h.

Member Enumeration Documentation

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
anonymous enum
Enumerator
numBaseFuncs 

Definition at line 64 of file basefunctionSetShellFE.h.

Constructor & Destructor Documentation

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::UnitTriangMeshBaseFunctionSetP1 ( )
inline

Definition at line 58 of file basefunctionSetShellFE.h.

58  : _d1b(-1.,1.,0.), _d2b(-1.,0.,1.) {
59  _basis[0] = _b1;
60  _basis[1] = _b2;
61  _basis[2] = _b3;
62  }
const DataTypeContainer::TangentVecType _d2b
const DataTypeContainer::TangentVecType _d1b
static RealType _b2(const DomVecType &c)
static RealType _b1(const DomVecType &c)
static RealType _b3(const DomVecType &c)

Member Function Documentation

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
static RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_b1 ( const DomVecType c)
inlinestaticprotected

Definition at line 47 of file basefunctionSetShellFE.h.

47 { return 1. - c[0] - c[1]; }
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
static RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_b2 ( const DomVecType c)
inlinestaticprotected

Definition at line 48 of file basefunctionSetShellFE.h.

48 { return c[0]; }
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
static RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_b3 ( const DomVecType c)
inlinestaticprotected

Definition at line 49 of file basefunctionSetShellFE.h.

49 { return c[1]; }
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::evaluate ( int  BaseFuncNum,
const DomVecType RefCoord 
) const
inline

Evaluates a base function at.

Parameters
[in]BaseFuncNumThe number of the base function
[in]RefCoordThe coordinate to evaluate the gradient in
Returns
The base function value at RefCoord

Definition at line 89 of file basefunctionSetShellFE.h.

89  {
90  return _basis[BaseFuncNum] ( RefCoord );
91  }
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
const RealType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::evaluate ( int  BaseFuncNum,
int  QuadPoint 
) const
inline

Evaluates a base function in a quadrature point.

Parameters
[in]BaseFuncNumThe number of the base function
[in]QuadPointNumber of the quadrature point to evaluate the gradient in
Returns
The base function value at the quadrature point

Definition at line 97 of file basefunctionSetShellFE.h.

97  {
98  return evaluate ( BaseFuncNum, this->_quadRule.getRefCoord ( QuadPoint ) );
99  }
const DomVecType & getRefCoord(int quadpoint) const
RealType evaluate(int BaseFuncNum, const DomVecType &RefCoord) const
Evaluates a base function at.
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
void shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::evaluateGradient ( int  BaseFuncNum,
const DomVecType ,
DomVecType Gradient 
) const
inline

Evaluates the gradient of a base function at RefCoord.

Parameters
[in]BaseFuncNumThe number of the base function
[in]RefCoordThe coordinate to evaluate the gradient in
[out]GradientThe gradient at RefCoord

Definition at line 72 of file basefunctionSetShellFE.h.

72  {
73  Gradient[0] = _d1b[BaseFuncNum];
74  Gradient[1] = _d2b[BaseFuncNum];
75  }
const DataTypeContainer::TangentVecType _d2b
const DataTypeContainer::TangentVecType _d1b
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
DomVecType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::evaluateGradient ( int  BaseFuncNum,
int   
) const
inline

Evaluates the gradient of a base function in a quadrature point.

Parameters
[in]BaseFuncNumThe number of the base function
[in]QuadPointNumber of the quadrature point to evaluate the gradient in
Returns
The Gradient at the quadrature point

Definition at line 81 of file basefunctionSetShellFE.h.

81  {
82  return DomVecType( _d1b[BaseFuncNum], _d2b[BaseFuncNum] );
83  }
const DataTypeContainer::TangentVecType _d2b
const DataTypeContainer::TangentVecType _d1b
template<typename DataTypeContainer, typename QuadType, typename TriangleType>
void shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::setTriangle ( const TriangleType )
inline

Definition at line 66 of file basefunctionSetShellFE.h.

66 {}

Member Data Documentation

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
BASIS_FUNC_TYPE shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_basis[3]
protected

Definition at line 52 of file basefunctionSetShellFE.h.

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
const DataTypeContainer::TangentVecType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_d1b
protected

Definition at line 54 of file basefunctionSetShellFE.h.

template<typename DataTypeContainer, typename QuadType, typename TriangleType>
const DataTypeContainer::TangentVecType shellFE::UnitTriangMeshBaseFunctionSetP1< DataTypeContainer, QuadType, TriangleType >::_d2b
protected

Definition at line 54 of file basefunctionSetShellFE.h.


The documentation for this class was generated from the following file: