Programming tasks to Scientific Computing I
Public Types | Public Member Functions | Public Attributes | List of all members
shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType > Class Template Reference

Helper class to evaluate a discrete nodal function on a given mesh. More...

#include <discreteFunctionShellFE.h>

Public Types

typedef ConfiguratorType::RealType RealType
 
typedef ConfiguratorType::DomVecType DomVecType
 
typedef ConfiguratorType::TangentVecType TangentVecType
 
typedef ConfiguratorType::Matrix22 Matrix22
 
typedef ConfiguratorType::ElementType ElementType
 
typedef ConfiguratorType::BaseFuncSetType BaseFuncSetType
 

Public Member Functions

 DiscreteFunctionDefaultShellFE (const ConfiguratorType &config, const VectorType &Dofs)
 
RealType evaluate (const ElementType &El, const DomVecType &RefCoord) const
 
RealType evaluateAtQuadPoint (const ElementType &El, int QuadPoint) const
 
void evaluateGradient (const ElementType &El, const DomVecType &RefCoord, DomVecType &Grad) const
 
void evaluateGradientAtQuadPoint (const ElementType &El, int QuadPoint, DomVecType &Grad) const
 
const VectorTypegetDofs () const
 

Public Attributes

const ConfiguratorType_conf
 
const VectorType_dofs
 

Detailed Description

template<typename ConfiguratorType, typename VectorType = typename ConfiguratorType::VectorType>
class shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >

Helper class to evaluate a discrete nodal function on a given mesh.

Definition at line 22 of file discreteFunctionShellFE.h.

Member Typedef Documentation

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::BaseFuncSetType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::BaseFuncSetType

Definition at line 29 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::DomVecType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::DomVecType

Definition at line 25 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::ElementType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::ElementType

Definition at line 28 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::Matrix22 shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::Matrix22

Definition at line 27 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::RealType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::RealType

Definition at line 24 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
typedef ConfiguratorType::TangentVecType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::TangentVecType

Definition at line 26 of file discreteFunctionShellFE.h.

Constructor & Destructor Documentation

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::DiscreteFunctionDefaultShellFE ( const ConfiguratorType config,
const VectorType Dofs 
)
inline

Definition at line 34 of file discreteFunctionShellFE.h.

35  : _conf ( config ),
36  _dofs ( Dofs ) { }

Member Function Documentation

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
RealType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::evaluate ( const ElementType El,
const DomVecType RefCoord 
) const
inline

Definition at line 38 of file discreteFunctionShellFE.h.

38  {
39  const BaseFuncSetType &bfs = _conf.getBaseFunctionSet ( El );
40  RealType w = 0.;
41  RealType v, aux;
42  for ( int b = 0; b < static_cast<int> ( _conf.getNumLocalDofs ( El ) ); ++b ) {
43  v = bfs.evaluate ( b, RefCoord );
44  DiscreteFunctionLookup<ConfiguratorType, VectorType, RealType>().getLocalDof( _conf, _dofs, El, b, v, aux );
45  w += aux;
46  }
47  return w;
48  }
RealType evaluate(int BaseFuncNum, const DomVecType &RefCoord) const
Evaluates a base function at.
int getNumLocalDofs(const ElementType &) const
Get The number of local degrees of freedom on an element.
double RealType
Definition: ex2.cpp:21
ConfiguratorType::BaseFuncSetType BaseFuncSetType
const BaseFuncSetType & getBaseFunctionSet(const ElementType &) const
Returns the base funcitons set for an element.
template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
RealType shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::evaluateAtQuadPoint ( const ElementType El,
int  QuadPoint 
) const
inline

Definition at line 50 of file discreteFunctionShellFE.h.

50  {
51  const BaseFuncSetType &bfs = _conf.getBaseFunctionSet ( El );
52  RealType w = 0.;
53  RealType v, aux;
54  for ( int b = 0; b < static_cast<int> ( _conf.getNumLocalDofs ( El ) ); ++b ) {
55  v = bfs.evaluate ( b, QuadPoint );
56  DiscreteFunctionLookup<ConfiguratorType, VectorType, RealType>().getLocalDof ( _conf, _dofs, El, b, v, aux );
57  w += aux;
58  }
59  return w;
60  }
RealType evaluate(int BaseFuncNum, const DomVecType &RefCoord) const
Evaluates a base function at.
int getNumLocalDofs(const ElementType &) const
Get The number of local degrees of freedom on an element.
double RealType
Definition: ex2.cpp:21
ConfiguratorType::BaseFuncSetType BaseFuncSetType
const BaseFuncSetType & getBaseFunctionSet(const ElementType &) const
Returns the base funcitons set for an element.
template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
void shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::evaluateGradient ( const ElementType El,
const DomVecType RefCoord,
DomVecType Grad 
) const
inline

Definition at line 62 of file discreteFunctionShellFE.h.

62  {
63  const BaseFuncSetType &bfs = _conf.getBaseFunctionSet ( El );
64  DomVecType v, aux;
65  Grad.setZero();
66  for ( int b = 0; b < static_cast<int> ( _conf.getNumLocalDofs ( El ) ); ++b ) {
67  bfs.evaluateGradient ( b, RefCoord, v );
68  DiscreteFunctionLookup<ConfiguratorType, VectorType, DomVecType>().getLocalDof ( _conf, _dofs, El, b, v, aux );
69  Grad += aux;
70  }
71  }
int getNumLocalDofs(const ElementType &) const
Get The number of local degrees of freedom on an element.
ConfiguratorType::BaseFuncSetType BaseFuncSetType
const BaseFuncSetType & getBaseFunctionSet(const ElementType &) const
Returns the base funcitons set for an element.
template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
void shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::evaluateGradientAtQuadPoint ( const ElementType El,
int  QuadPoint,
DomVecType Grad 
) const
inline

Definition at line 73 of file discreteFunctionShellFE.h.

73  {
74  const BaseFuncSetType &bfs = _conf.getBaseFunctionSet ( El );
75  DomVecType v, aux;
76  Grad.setZero();
77  for ( int b = 0; b < static_cast<int> ( _conf.getNumLocalDofs ( El ) ); ++b ) {
78  v = bfs.evaluateGradient ( b, QuadPoint );
79  DiscreteFunctionLookup<ConfiguratorType, VectorType, DomVecType >().getLocalDof ( _conf, _dofs, El, b, v, aux );
80  Grad += aux;
81  }
82  }
int getNumLocalDofs(const ElementType &) const
Get The number of local degrees of freedom on an element.
ConfiguratorType::BaseFuncSetType BaseFuncSetType
const BaseFuncSetType & getBaseFunctionSet(const ElementType &) const
Returns the base funcitons set for an element.
template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
const VectorType& shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::getDofs ( ) const
inline

Definition at line 84 of file discreteFunctionShellFE.h.

Member Data Documentation

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
const ConfiguratorType& shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::_conf

Definition at line 31 of file discreteFunctionShellFE.h.

template<typename ConfiguratorType , typename VectorType = typename ConfiguratorType::VectorType>
const VectorType& shellFE::DiscreteFunctionDefaultShellFE< ConfiguratorType, VectorType >::_dofs

Definition at line 32 of file discreteFunctionShellFE.h.


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