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

#include <FEMSpace.h>

类FEMSpace< value_type, DIM, DOW, TDIM >继承关系图:
DGFEMSpace< value_type, DIM, DOW, TDIM, TDIM1 >

所有成员的列表。

公有类型

enum  { dim = DIM, dow = DOW, tdim = TDIM }
typedef value_type value_t
typedef Element< value_t, DIM,
DOW, TDIM
element_t
typedef FEMSpace< value_t, DIM,
DOW, TDIM
fe_space_t
typedef DOFInfo< value_t, DIM,
DOW, TDIM
dof_info_t
typedef element_t::template_t template_t
typedef Mesh< DIM, DOWmesh_t
typedef mesh_t::bmark_t bmark_t
typedef std::vector< element_t >
::iterator 
ElementIterator
typedef std::vector< element_t >
::const_iterator 
ConstElementIterator

公有成员

 FEMSpace (mesh_t &=*((mesh_t *) NULL), std::vector< template_t > &=*((std::vector< template_t > *) NULL))
 FEMSpace (const fe_space_t &)
virtual ~FEMSpace ()
fe_space_toperator= (const fe_space_t &)
void reinit (mesh_t &=*((mesh_t *) NULL), std::vector< template_t > &=*((std::vector< template_t > *) NULL))
const mesh_tmesh () const
mesh_tmesh ()
const std::vector< template_t > & templateElement () const
std::vector< template_t > & templateElement ()
const template_ttemplateElement (int i) const
template_ttemplateElement (int i)
int n_element ()
const std::vector< element_t > & element () const
std::vector< element_t > & element ()
const element_telement (int i) const
element_telement (int i)
const DegreeOfFreedomdof () const
DegreeOfFreedomdof ()
const std::vector< dof_info_t > & dofInfo () const
std::vector< dof_info_t > & dofInfo ()
const dof_info_tdofInfo (int i) const
dof_info_tdofInfo (int i)
unsigned int n_dof () const
const std::vector< int > & geometryDof (int i, int j) const
const std::vector< int > & geometryDof (int i, const Geometry &g) const
const std::vector< DOFIndex > & dofIndex () const
const DOFIndexdofIndex (int i) const
const bmark_tdofBoundaryMark (int i) const
bmark_tdofBoundaryMark (int i)
virtual void buildElement (bool lazy=false)
virtual void buildDofBoundaryMark ()
void buildDof ()
void updateDofInterpPoint ()
ElementIterator beginElement ()
ConstElementIterator beginElement () const
ElementIterator endElement ()
ConstElementIterator endElement () const
 DeclException1 (ExcDOFData, std::string,<< "DOF data uncompatible: "<< arg1)
const unsigned int & efficiencyFlag () const
unsigned int & efficiencyFlag ()
template<class T >
T * new_property (const element_t &e, const property_id_t< T > &pid) const
template<class T >
T * get_property (const element_t &e, const property_id_t< T > &pid) const
template<class T >
void free_property (const element_t &e, const property_id_t< T > &pid) const
void threadBuildElement (bool lazy, int n_thread=1, int rank=0)
void threadBuildDof0 (std::vector< std::vector< bool > > &, pthread_mutex_t &, int n_thread=1, int rank=0)
void threadBuildDof1 (std::vector< std::vector< bool > > &, pthread_mutex_t &, int n_thread=1, int rank=0)

私有属性

mesh_tmsh
std::vector< template_t > * tmp_ele
std::vector< element_tele
DegreeOfFreedom df
std::vector< dof_info_tdf_in
u_int effi_flag

友元

class Element< value_t, DIM, DOW, TDIM >

详细描述

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

Finite element space is the main class used to implement the global manipulation of degree of freedom. It contains a template element array, which is the templates for all the element, and an element array. Other data are used to construct the information of global degree of freedom. The class is designed open-minded for the user to implement different finite element classes freely by re-implement the member function buildElement.


成员类型定义文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef mesh_t::bmark_t FEMSpace< value_type, DIM, DOW, TDIM >::bmark_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef std::vector<element_t>::const_iterator FEMSpace< value_type, DIM, DOW, TDIM >::ConstElementIterator
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef DOFInfo<value_t, DIM, DOW,TDIM> FEMSpace< value_type, DIM, DOW, TDIM >::dof_info_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef Element<value_t,DIM,DOW,TDIM> FEMSpace< value_type, DIM, DOW, TDIM >::element_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef std::vector<element_t>::iterator FEMSpace< value_type, DIM, DOW, TDIM >::ElementIterator
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef FEMSpace<value_t,DIM,DOW,TDIM> FEMSpace< value_type, DIM, DOW, TDIM >::fe_space_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef Mesh<DIM,DOW> FEMSpace< value_type, DIM, DOW, TDIM >::mesh_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef element_t::template_t FEMSpace< value_type, DIM, DOW, TDIM >::template_t
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
typedef value_type FEMSpace< 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>
FEMSpace< value_type, DIM, DOW, TDIM >::FEMSpace ( mesh_t = *((mesh_t *) NULL),
std::vector< template_t > &  = *((std::vector< template_t > *) NULL) 
) [explicit]

Default constructor.

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

Copy constructor.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
virtual FEMSpace< value_type, DIM, DOW, TDIM >::~FEMSpace ( ) [virtual]

Destructor.


成员函数文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
ElementIterator FEMSpace< value_type, DIM, DOW, TDIM >::beginElement ( ) [inline]

Begin element iterator.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
ConstElementIterator FEMSpace< value_type, DIM, DOW, TDIM >::beginElement ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::buildDof ( )

Build degree of freedom for the finite element space.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
virtual void FEMSpace< value_type, DIM, DOW, TDIM >::buildDofBoundaryMark ( ) [virtual]

Build the boundary marker of degree of freedom according the boundary marker of the geometry the degree of freedom on.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
virtual void FEMSpace< value_type, DIM, DOW, TDIM >::buildElement ( bool  lazy = false) [virtual]

Build the element in the finite element space by appointing the template element index. Need to be re-implemented in derived class.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
FEMSpace< value_type, DIM, DOW, TDIM >::DeclException1 ( ExcDOFData  ,
std::string  ,
<< "DOF data uncompatible: "<<  arg1 
)
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const DegreeOfFreedom& FEMSpace< value_type, DIM, DOW, TDIM >::dof ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
DegreeOfFreedom& FEMSpace< value_type, DIM, DOW, TDIM >::dof ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const bmark_t& FEMSpace< value_type, DIM, DOW, TDIM >::dofBoundaryMark ( int  i) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
bmark_t& FEMSpace< value_type, DIM, DOW, TDIM >::dofBoundaryMark ( int  i) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<DOFIndex>& FEMSpace< value_type, DIM, DOW, TDIM >::dofIndex ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const DOFIndex& FEMSpace< value_type, DIM, DOW, TDIM >::dofIndex ( int  i) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<dof_info_t>& FEMSpace< value_type, DIM, DOW, TDIM >::dofInfo ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<dof_info_t>& FEMSpace< value_type, DIM, DOW, TDIM >::dofInfo ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const dof_info_t& FEMSpace< value_type, DIM, DOW, TDIM >::dofInfo ( int  i) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
dof_info_t& FEMSpace< value_type, DIM, DOW, TDIM >::dofInfo ( int  i) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const unsigned int& FEMSpace< value_type, DIM, DOW, TDIM >::efficiencyFlag ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
unsigned int& FEMSpace< value_type, DIM, DOW, TDIM >::efficiencyFlag ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<element_t>& FEMSpace< value_type, DIM, DOW, TDIM >::element ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<element_t>& FEMSpace< value_type, DIM, DOW, TDIM >::element ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const element_t& FEMSpace< value_type, DIM, DOW, TDIM >::element ( int  i) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
element_t& FEMSpace< value_type, DIM, DOW, TDIM >::element ( int  i) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
ElementIterator FEMSpace< value_type, DIM, DOW, TDIM >::endElement ( ) [inline]

End element iterator.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
ConstElementIterator FEMSpace< value_type, DIM, DOW, TDIM >::endElement ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
void FEMSpace< value_type, DIM, DOW, TDIM >::free_property ( const element_t e,
const property_id_t< T > &  pid 
) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<int>& FEMSpace< value_type, DIM, DOW, TDIM >::geometryDof ( int  i,
int  j 
) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<int>& FEMSpace< value_type, DIM, DOW, TDIM >::geometryDof ( int  i,
const Geometry g 
) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
T* FEMSpace< value_type, DIM, DOW, TDIM >::get_property ( const element_t e,
const property_id_t< T > &  pid 
) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const mesh_t& FEMSpace< value_type, DIM, DOW, TDIM >::mesh ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
mesh_t& FEMSpace< value_type, DIM, DOW, TDIM >::mesh ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
unsigned int FEMSpace< value_type, DIM, DOW, TDIM >::n_dof ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
int FEMSpace< value_type, DIM, DOW, TDIM >::n_element ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template<class T >
T* FEMSpace< value_type, DIM, DOW, TDIM >::new_property ( const element_t e,
const property_id_t< T > &  pid 
) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
fe_space_t& FEMSpace< value_type, DIM, DOW, TDIM >::operator= ( const fe_space_t )

Copy operator.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::reinit ( mesh_t = *((mesh_t *) NULL),
std::vector< template_t > &  = *((std::vector< template_t > *) NULL) 
)

Reinitialization.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const std::vector<template_t>& FEMSpace< value_type, DIM, DOW, TDIM >::templateElement ( ) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<template_t>& FEMSpace< value_type, DIM, DOW, TDIM >::templateElement ( ) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
const template_t& FEMSpace< value_type, DIM, DOW, TDIM >::templateElement ( int  i) const [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
template_t& FEMSpace< value_type, DIM, DOW, TDIM >::templateElement ( int  i) [inline]
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::threadBuildDof0 ( std::vector< std::vector< bool > > &  ,
pthread_mutex_t &  ,
int  n_thread = 1,
int  rank = 0 
)
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::threadBuildDof1 ( std::vector< std::vector< bool > > &  ,
pthread_mutex_t &  ,
int  n_thread = 1,
int  rank = 0 
)
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::threadBuildElement ( bool  lazy,
int  n_thread = 1,
int  rank = 0 
)
template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
void FEMSpace< value_type, DIM, DOW, TDIM >::updateDofInterpPoint ( )

Update interpolate point of DOFs when the structure of the mesh is reserved while the location of the mesh points are changed. Designed for moving mesh method.


友元及相关函数文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
friend class Element< value_t, DIM, DOW, TDIM > [friend]

成员数据文档

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
DegreeOfFreedom FEMSpace< value_type, DIM, DOW, TDIM >::df [private]

Degree of freedom.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<dof_info_t> FEMSpace< value_type, DIM, DOW, TDIM >::df_in [private]

Information of degree of freedoms.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
u_int FEMSpace< value_type, DIM, DOW, TDIM >::effi_flag [private]

the flag is used for efficiency

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<element_t> FEMSpace< value_type, DIM, DOW, TDIM >::ele [private]

Element array.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
mesh_t* FEMSpace< value_type, DIM, DOW, TDIM >::msh [private]

Mesh the finite element space on.

template<class value_type, int DIM, int DOW = DIM, int TDIM = DIM>
std::vector<template_t>* FEMSpace< value_type, DIM, DOW, TDIM >::tmp_ele [private]

Template element array.


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