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

#include <HGeometry.h>

所有成员的列表。

公有类型

enum  { dim = DIM, dow = DOW }
typedef IrregularMesh< DIM, DOWir_mesh_t
typedef Indicator< DIM, DOWindicator_t

公有成员

 MeshAdaptor ()
 MeshAdaptor (ir_mesh_t &f)
 MeshAdaptor (ir_mesh_t &f, ir_mesh_t &t)
 ~MeshAdaptor ()
void reinit (ir_mesh_t &f)
void reinit (ir_mesh_t &f, ir_mesh_t &t)
const ir_mesh_tfromMesh () const
void setFromMesh (ir_mesh_t &f)
const ir_mesh_ttoMesh () const
void setToMesh (ir_mesh_t &t)
const indicator_tindicator () const
const double & indicator (const int &i) const
double & indicator (const int &i)
void setIndicator (indicator_t &i)
const double & tolerence () const
double & tolerence ()
const double & convergenceOrder () const
double & convergenceOrder ()
const int & refineStep () const
int & refineStep ()
const double & refineThreshold () const
double & refineThreshold ()
const double & coarseThreshold () const
double & coarseThreshold ()
bool is_refine_only () const
bool & is_refine_only ()
bool is_indicator_underflow (double ind) const
bool is_indicator_overflow (double ind) const
bool is_indicator_overflow (double ind, double convergence_coefficient) const
void globalRefine (unsigned int i=1)
void randomRefine (double percent=50.0)
void adapt ()

私有成员

void collectIndicator (HElement< DIM, DOW > &, double)
void collectIndicator ()
void prepareToMesh ()
void implementAdaption ()
void adaptElement (HElement< DIM, DOW > &, double, int)

私有属性

ir_mesh_tfrom_mesh
ir_mesh_tto_mesh
indicator_tind
double tol
double convergence_order
int refine_step
double refine_threshold
double coarse_threshold
bool _is_refine_only

详细描述

template<int DIM, int DOW = DIM>
class MeshAdaptor< DIM, DOW >

MeshAdaptor is the class used to implement mesh adaptation. It is designed to applied on two mesh - to adapt one({from mesh}) according the indicator and store the result into another mesh({to mesh}). If the {from mesh} is the same as the {to mesh}, the class then will adapt the mesh itself. The adaptation operation is divided into three steps: (1) prepare the {to mesh}, in fact copy the {from mesh} to the {to mesh} if they are different; (2) collect the indicator, it colloect the indicator from the leaf nodes of the mesh to those non-leaf nodes according the {convergence order}; (3) adapt the mesh adaptation, by getting a irregular mesh at first and then adopt the semiregularization to the irregular mesh to obtain a semiregular mesh. This class also provide a facility to global refine a mesh.


成员类型定义文档

template<int DIM, int DOW = DIM>
typedef Indicator<DIM,DOW> MeshAdaptor< DIM, DOW >::indicator_t
template<int DIM, int DOW = DIM>
typedef IrregularMesh<DIM,DOW> MeshAdaptor< DIM, DOW >::ir_mesh_t

成员枚举类型文档

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

构造及析构函数文档

template<int DIM, int DOW = DIM>
MeshAdaptor< DIM, DOW >::MeshAdaptor ( )
template<int DIM, int DOW = DIM>
MeshAdaptor< DIM, DOW >::MeshAdaptor ( ir_mesh_t f) [explicit]
template<int DIM, int DOW = DIM>
MeshAdaptor< DIM, DOW >::MeshAdaptor ( ir_mesh_t f,
ir_mesh_t t 
)
template<int DIM, int DOW = DIM>
MeshAdaptor< DIM, DOW >::~MeshAdaptor ( )

成员函数文档

template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::adapt ( )
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::adaptElement ( HElement< DIM, DOW > &  ,
double  ,
int   
) [private]
template<int DIM, int DOW = DIM>
const double& MeshAdaptor< DIM, DOW >::coarseThreshold ( ) const [inline]
template<int DIM, int DOW = DIM>
double& MeshAdaptor< DIM, DOW >::coarseThreshold ( ) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::collectIndicator ( HElement< DIM, DOW > &  ,
double   
) [private]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::collectIndicator ( ) [private]
template<int DIM, int DOW = DIM>
const double& MeshAdaptor< DIM, DOW >::convergenceOrder ( ) const [inline]
template<int DIM, int DOW = DIM>
double& MeshAdaptor< DIM, DOW >::convergenceOrder ( ) [inline]
template<int DIM, int DOW = DIM>
const ir_mesh_t& MeshAdaptor< DIM, DOW >::fromMesh ( ) const [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::globalRefine ( unsigned int  i = 1)
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::implementAdaption ( ) [private]
template<int DIM, int DOW = DIM>
const indicator_t& MeshAdaptor< DIM, DOW >::indicator ( ) const [inline]
template<int DIM, int DOW = DIM>
const double& MeshAdaptor< DIM, DOW >::indicator ( const int &  i) const [inline]
template<int DIM, int DOW = DIM>
double& MeshAdaptor< DIM, DOW >::indicator ( const int &  i) [inline]
template<int DIM, int DOW = DIM>
bool MeshAdaptor< DIM, DOW >::is_indicator_overflow ( double  ind) const [inline]
template<int DIM, int DOW = DIM>
bool MeshAdaptor< DIM, DOW >::is_indicator_overflow ( double  ind,
double  convergence_coefficient 
) const [inline]
template<int DIM, int DOW = DIM>
bool MeshAdaptor< DIM, DOW >::is_indicator_underflow ( double  ind) const [inline]
template<int DIM, int DOW = DIM>
bool MeshAdaptor< DIM, DOW >::is_refine_only ( ) const [inline]
template<int DIM, int DOW = DIM>
bool& MeshAdaptor< DIM, DOW >::is_refine_only ( ) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::prepareToMesh ( ) [private]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::randomRefine ( double  percent = 50.0)
template<int DIM, int DOW = DIM>
const int& MeshAdaptor< DIM, DOW >::refineStep ( ) const [inline]
template<int DIM, int DOW = DIM>
int& MeshAdaptor< DIM, DOW >::refineStep ( ) [inline]
template<int DIM, int DOW = DIM>
const double& MeshAdaptor< DIM, DOW >::refineThreshold ( ) const [inline]
template<int DIM, int DOW = DIM>
double& MeshAdaptor< DIM, DOW >::refineThreshold ( ) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::reinit ( ir_mesh_t f) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::reinit ( ir_mesh_t f,
ir_mesh_t t 
) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::setFromMesh ( ir_mesh_t f) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::setIndicator ( indicator_t i) [inline]
template<int DIM, int DOW = DIM>
void MeshAdaptor< DIM, DOW >::setToMesh ( ir_mesh_t t) [inline]
template<int DIM, int DOW = DIM>
const double& MeshAdaptor< DIM, DOW >::tolerence ( ) const [inline]
template<int DIM, int DOW = DIM>
double& MeshAdaptor< DIM, DOW >::tolerence ( ) [inline]
template<int DIM, int DOW = DIM>
const ir_mesh_t& MeshAdaptor< DIM, DOW >::toMesh ( ) const [inline]

成员数据文档

template<int DIM, int DOW = DIM>
bool MeshAdaptor< DIM, DOW >::_is_refine_only [private]
template<int DIM, int DOW = DIM>
double MeshAdaptor< DIM, DOW >::coarse_threshold [private]
template<int DIM, int DOW = DIM>
double MeshAdaptor< DIM, DOW >::convergence_order [private]
template<int DIM, int DOW = DIM>
ir_mesh_t* MeshAdaptor< DIM, DOW >::from_mesh [private]
template<int DIM, int DOW = DIM>
indicator_t* MeshAdaptor< DIM, DOW >::ind [private]
template<int DIM, int DOW = DIM>
int MeshAdaptor< DIM, DOW >::refine_step [private]
template<int DIM, int DOW = DIM>
double MeshAdaptor< DIM, DOW >::refine_threshold [private]
template<int DIM, int DOW = DIM>
ir_mesh_t* MeshAdaptor< DIM, DOW >::to_mesh [private]
template<int DIM, int DOW = DIM>
double MeshAdaptor< DIM, DOW >::tol [private]

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