AFEPack
公有类型 | 公有成员 | 私有属性
Element< value_type, DIM, DOW, TDIM >模板类参考

#include <FEMSpace.h>

所有成员的列表。

公有类型

enum  { dim = DIM, dow = DOW, tdim = TDIM }
typedef value_type value_t
typedef FEMSpace< value_t, DIM,
DOW, TDIM
fe_space_t
typedef Element< value_t, DIM,
DOW, TDIM
element_t
typedef TemplateElement
< value_t, DOW, TDIM
template_t

公有成员

 Element (fe_space_t &=*((fe_space_t *) NULL))
 Element (const element_t &)
 ~Element ()
void reinit (fe_space_t &, int, int)
void reinit (int, int)
void reinit (fe_space_t &, int, int, const std::vector< int > &)
element_toperator= (const element_t &)
const fe_space_tfemSpace () const
fe_space_tfemSpace ()
Mesh< DIM, DOW > & mesh () const
int index () const
int & index ()
GeometryBMgeometry () const
void geometry (const GeometryBM &)
void geometry (int)
int templateElementIndex () const
template_ttemplateElement () const
void templateElement (int)
TemplateGeometry< TDIM > & templateGeometry () const
const std::vector< int > & dof () const
std::vector< int > & dof ()
unsigned int n_dof () const
const std::vector< std::vector
< int > > & 
geometryImage () const
std::vector< std::vector< int > > & geometryImage ()
void buildGeometryImage ()
void lazyBuildGeometryImage ()
void buildVertexArray (std::vector< afepack::Point< DOW > > &) const
const double ** buildVertexArray () const
const BasisFunction< value_t,
DIM, TDIM >::Identity & 
basis_function_identity (int i) const
value_t basis_function_value (int i, const afepack::Point< DOW > &) const
std::vector< value_tbasis_function_value (const afepack::Point< DOW > &) const
std::vector< value_tbasis_function_value (int i, const std::vector< afepack::Point< DOW > > &) const
std::vector< std::vector
< value_t > > 
basis_function_value (const std::vector< afepack::Point< DOW > > &) const
std::vector< value_tbasis_function_gradient (int i, const afepack::Point< DOW > &) const
std::vector< std::vector
< value_t > > 
basis_function_gradient (const afepack::Point< DOW > &) const
std::vector< std::vector
< value_t > > 
basis_function_gradient (int i, const std::vector< afepack::Point< DOW > > &) const
std::vector< std::vector
< std::vector< value_t > > > 
basis_function_gradient (const std::vector< afepack::Point< DOW > > &) const
afepack::Point< DOWlocal_to_global (const afepack::Point< TDIM > &) const
afepack::Point< TDIMglobal_to_local (const afepack::Point< DOW > &) const
double local_to_global_jacobian (const afepack::Point< TDIM > &) const
double global_to_local_jacobian (const afepack::Point< DOW > &) const
std::vector< afepack::Point
< DOW > > 
local_to_global (const std::vector< afepack::Point< TDIM > > &) const
std::vector< afepack::Point
< TDIM > > 
global_to_local (const std::vector< afepack::Point< DOW > > &) const
std::vector< double > local_to_global_jacobian (const std::vector< afepack::Point< TDIM > > &) const
std::vector< double > global_to_local_jacobian (const std::vector< afepack::Point< DOW > > &) const
std::vector< double > unitOutNormal (const afepack::Point< DOW > &, int) const
std::vector< std::vector
< double > > 
unitOutNormal (const std::vector< afepack::Point< DOW > > &, int) const
const QuadratureInfo< TDIM > & findQuadratureInfo (int) const
 DeclException1 (ExcMeshData, std::string,<< "Mesh data uncompatible: "<< arg1)
template<class T >
T * new_property (const property_id_t< T > &pid) const
template<class T >
T * get_property (const property_id_t< T > &pid) const
template<class T >
void free_property (const property_id_t< T > &pid) const

私有属性

fe_space_tsp
int geometry_index
int template_element_index
std::vector< int > dof_index
std::vector< std::vector< int > > geo_img

详细描述

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
class Element< value_type, DIM, DOW, TDIM >

Element in finite element space. An element is contructed by mapping a template element to a real element geometry, then all those information about degree of freedom and basis function get its image on the real element. Then many operations needed in finite element calculation can be implemented on class Element.


成员类型定义文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef Element<value_t,DIM,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::element_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef FEMSpace<value_t,DIM,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::fe_space_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef TemplateElement<value_t,DOW,TDIM> Element< value_type, DIM, DOW, TDIM >::template_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef value_type Element< value_type, DIM, DOW, TDIM >::value_t

成员枚举类型文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
anonymous enum
枚举值:
dim 
dow 
tdim 

构造及析构函数文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
Element< value_type, DIM, DOW, TDIM >::Element ( fe_space_t = *((fe_space_t *) NULL)) [explicit]

Default contructor.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
Element< value_type, DIM, DOW, TDIM >::Element ( const element_t )

Copy constructor.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
Element< value_type, DIM, DOW, TDIM >::~Element ( )

Destructor.


成员函数文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_gradient ( int  i,
const afepack::Point< DOW > &   
) const

Gradient of certain basis function at a point.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient ( const afepack::Point< DOW > &  ) const

Gradient of all basis functions at a point.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient ( int  i,
const std::vector< afepack::Point< DOW > > &   
) const

Gradient of certain basis function at points.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<std::vector<value_t> > > Element< value_type, DIM, DOW, TDIM >::basis_function_gradient ( const std::vector< afepack::Point< DOW > > &  ) const

Gradient of all basis functions at points.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const BasisFunction<value_t,DIM,TDIM>::Identity& Element< value_type, DIM, DOW, TDIM >::basis_function_identity ( int  i) const

Basis function identity of certain basis function.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
value_t Element< value_type, DIM, DOW, TDIM >::basis_function_value ( int  i,
const afepack::Point< DOW > &   
) const

Value of certain basis function at a point.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_value ( const afepack::Point< DOW > &  ) const

Value of all basis functions at a point.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<value_t> Element< value_type, DIM, DOW, TDIM >::basis_function_value ( int  i,
const std::vector< afepack::Point< DOW > > &   
) const

Value of certain basis function at points.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<value_t> > Element< value_type, DIM, DOW, TDIM >::basis_function_value ( const std::vector< afepack::Point< DOW > > &  ) const

Value of all basis functions at points.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::buildGeometryImage ( )

Build geometry image.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::buildVertexArray ( std::vector< afepack::Point< DOW > > &  ) const

Build vertex array.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const double** Element< value_type, DIM, DOW, TDIM >::buildVertexArray ( ) const

Build vertex array.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
Element< value_type, DIM, DOW, TDIM >::DeclException1 ( ExcMeshData  ,
std::string  ,
<< "Mesh data uncompatible: "<<  arg1 
)
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<int>& Element< value_type, DIM, DOW, TDIM >::dof ( ) const

Degree of freedom.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<int>& Element< value_type, DIM, DOW, TDIM >::dof ( )

Degree of freedom.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const fe_space_t& Element< value_type, DIM, DOW, TDIM >::femSpace ( ) const

Finite element space.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
fe_space_t& Element< value_type, DIM, DOW, TDIM >::femSpace ( )

Finite element space.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const QuadratureInfo<TDIM>& Element< value_type, DIM, DOW, TDIM >::findQuadratureInfo ( int  ) const

Quadrature information with certain algebraic accuracy.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
void Element< value_type, DIM, DOW, TDIM >::free_property ( const property_id_t< T > &  pid) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
GeometryBM& Element< value_type, DIM, DOW, TDIM >::geometry ( ) const
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::geometry ( const GeometryBM )

Set geometry.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::geometry ( int  )

Set geometry according geometry index.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<std::vector<int> >& Element< value_type, DIM, DOW, TDIM >::geometryImage ( ) const

Geometry image.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<int> >& Element< value_type, DIM, DOW, TDIM >::geometryImage ( )

Geometry image.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
T* Element< value_type, DIM, DOW, TDIM >::get_property ( const property_id_t< T > &  pid) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
afepack::Point<TDIM> Element< value_type, DIM, DOW, TDIM >::global_to_local ( const afepack::Point< DOW > &  ) const

Map a point from this element to template element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<afepack::Point<TDIM> > Element< value_type, DIM, DOW, TDIM >::global_to_local ( const std::vector< afepack::Point< DOW > > &  ) const

Map points from this element to template element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
double Element< value_type, DIM, DOW, TDIM >::global_to_local_jacobian ( const afepack::Point< DOW > &  ) const

Jacobian deterninant at a point on this element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<double> Element< value_type, DIM, DOW, TDIM >::global_to_local_jacobian ( const std::vector< afepack::Point< DOW > > &  ) const

Jacobian determinant at points on template element. Jacobian determinant at points on real element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int Element< value_type, DIM, DOW, TDIM >::index ( ) const

Geometry index.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int& Element< value_type, DIM, DOW, TDIM >::index ( )

Geometry index.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::lazyBuildGeometryImage ( )

Build geometry image.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
afepack::Point<DOW> Element< value_type, DIM, DOW, TDIM >::local_to_global ( const afepack::Point< TDIM > &  ) const

Map a point from template element to this element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<afepack::Point<DOW> > Element< value_type, DIM, DOW, TDIM >::local_to_global ( const std::vector< afepack::Point< TDIM > > &  ) const

Map points from template element to this element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
double Element< value_type, DIM, DOW, TDIM >::local_to_global_jacobian ( const afepack::Point< TDIM > &  ) const

Jacobian determinant at a point on template element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<double> Element< value_type, DIM, DOW, TDIM >::local_to_global_jacobian ( const std::vector< afepack::Point< TDIM > > &  ) const
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
Mesh<DIM,DOW>& Element< value_type, DIM, DOW, TDIM >::mesh ( ) const

Mesh the finite element space on.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
unsigned int Element< value_type, DIM, DOW, TDIM >::n_dof ( ) const

Number of degree of freedom.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
T* Element< value_type, DIM, DOW, TDIM >::new_property ( const property_id_t< T > &  pid) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
element_t& Element< value_type, DIM, DOW, TDIM >::operator= ( const element_t )

Copy operator.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::reinit ( fe_space_t ,
int  ,
int   
)

Reinitialization.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::reinit ( int  ,
int   
)

Reinitialization.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::reinit ( fe_space_t ,
int  ,
int  ,
const std::vector< int > &   
)

Reinitialization.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template_t& Element< value_type, DIM, DOW, TDIM >::templateElement ( ) const

Template element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void Element< value_type, DIM, DOW, TDIM >::templateElement ( int  )

Set template element according index.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int Element< value_type, DIM, DOW, TDIM >::templateElementIndex ( ) const

Get template element index.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
TemplateGeometry<TDIM>& Element< value_type, DIM, DOW, TDIM >::templateGeometry ( ) const

Template element geometry.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<double> Element< value_type, DIM, DOW, TDIM >::unitOutNormal ( const afepack::Point< DOW > &  ,
int   
) const
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<double> > Element< value_type, DIM, DOW, TDIM >::unitOutNormal ( const std::vector< afepack::Point< DOW > > &  ,
int   
) const

成员数据文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<int> Element< value_type, DIM, DOW, TDIM >::dof_index [private]

Information of degree of freedom on this element.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<std::vector<int> > Element< value_type, DIM, DOW, TDIM >::geo_img [private]

Geometry image built according template geometry.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int Element< value_type, DIM, DOW, TDIM >::geometry_index [private]

Index of real geometry in the mesh the finite element space on.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
fe_space_t* Element< value_type, DIM, DOW, TDIM >::sp [private]

Pointer to finite element space it belongs to.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int Element< value_type, DIM, DOW, TDIM >::template_element_index [private]

Index of template element.


该类的文档由以下文件生成: