AFEPack
|
#include <HGeometry.h>
公有类型 | |
enum | { dim = DIM, dow = DOW } |
typedef IrregularMesh< DIM, DOW > | ir_mesh_t |
typedef RegularMesh< DIM, DOW > | mesh_t |
公有成员 | |
ir_mesh_t & | irregularMesh () const |
void | renumerateElement () |
std::vector< std::vector < HGeometryBase * > > & | h_geometry () |
const std::vector< std::vector < HGeometryBase * > > & | h_geometry () const |
HGeometryBase * | h_geometry (int dim, u_int idx) const |
template<int GDIM> | |
HGeometry< GDIM, DOW > * | h_geometry (u_int idx) const |
template<class T , int GDIM> | |
T * | new_property (u_int idx, const property_id_t< T > &pid) const |
template<class T , int GDIM> | |
T * | get_property (int idx, const property_id_t< T > &pid) const |
template<class T , int GDIM> | |
void | free_property (int idx, const property_id_t< T > &pid) const |
template<class T , int GDIM> | |
T * | new_property (const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class T , int GDIM> | |
T * | get_property (const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class T , int GDIM> | |
void | free_property (const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class T > | |
T * | new_property (int dim, const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class T > | |
T * | get_property (int dim, int idx, const property_id_t< T > &pid) const |
template<class T > | |
void | free_property (int dim, int idx, const property_id_t< T > &pid) const |
template<class T > | |
T * | new_property (int dim, int idx, const property_id_t< T > &pid) const |
template<class T > | |
T * | get_property (int dim, const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class T > | |
void | free_property (int dim, const GeometryBM &geo, const property_id_t< T > &pid) const |
template<class LABEL > | |
void | refineLabelled (LABEL &flag) |
template<class LABEL > | |
void | coarsenLabelled (LABEL &flag) |
void | renumerateElementHSFC (void(*f)(double, double, double, double &, double &, double &)=NULL) |
virtual void | writeEasyMesh (const std::string &) const |
virtual void | writeTecplotData (const std::string &) const |
virtual void | writeOpenDXData (const std::string &) const |
virtual void | writeSimplestSimplexMesh (const std::string &) const |
virtual void | writeSimplexMesh (const std::string &) const |
template<> | |
void | writeEasyMesh (const std::string &filename) const |
template<> | |
void | writeTecplotData (const std::string &filename) const |
template<> | |
void | writeTecplotData (const std::string &filename) const |
template<> | |
void | writeOpenDXData (const std::string &filename) const |
template<> | |
void | writeOpenDXData (const std::string &filename) const |
template<> | |
void | writeOpenDXData (const std::string &filename) const |
template<> | |
void | writeSimplestSimplexMesh (const std::string &filename) const |
template<> | |
void | writeSimplestSimplexMesh (const std::string &filename) const |
template<> | |
void | writeSimplestSimplexMesh (const std::string &filename) const |
template<> | |
void | writeSimplexMesh (const std::string &filename) const |
template<> | |
void | writeSimplexMesh (const std::string &filename) const |
template<> | |
void | writeSimplexMesh (const std::string &filename) const |
私有成员 | |
RegularMesh () | |
几何体对HGeometry的反向索引表 | |
RegularMesh (const mesh_t &m) | |
mesh_t & | operator= (const mesh_t &m) |
RegularMesh (ir_mesh_t *m) | |
私有属性 | |
ir_mesh_t * | irregular_mesh |
std::vector< std::vector < HGeometryBase * > > | h_geometry_ptr |
友元 | |
class | IrregularMesh< DIM, DOW > |
This is a derativate class of the {class Mesh} in the finite element library. It's used to build the relationship of a mesh used by the finite element mesh and the depended semi-regular mesh.
typedef IrregularMesh<DIM,DOW> RegularMesh< DIM, DOW >::ir_mesh_t |
typedef RegularMesh<DIM,DOW> RegularMesh< DIM, DOW >::mesh_t |
RegularMesh< DIM, DOW >::RegularMesh | ( | ) | [inline, private] |
几何体对HGeometry的反向索引表
对构造函数和赋值运算符私有化保护,不允许用户构造本类对象
RegularMesh< DIM, DOW >::RegularMesh | ( | const mesh_t & | m | ) | [inline, private] |
RegularMesh< DIM, DOW >::RegularMesh | ( | ir_mesh_t * | m | ) | [inline, explicit, private] |
void RegularMesh< DIM, DOW >::coarsenLabelled | ( | LABEL & | flag | ) | [inline] |
void RegularMesh< DIM, DOW >::free_property | ( | int | idx, |
const property_id_t< T > & | pid | ||
) | const [inline] |
void RegularMesh< DIM, DOW >::free_property | ( | const GeometryBM & | geo, |
const property_id_t< T > & | pid | ||
) | const [inline] |
void RegularMesh< DIM, DOW >::free_property | ( | int | dim, |
int | idx, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
void RegularMesh< DIM, DOW >::free_property | ( | int | dim, |
const GeometryBM & | geo, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
T* RegularMesh< DIM, DOW >::get_property | ( | int | idx, |
const property_id_t< T > & | pid | ||
) | const [inline] |
取第 dim 维的第 idx 个几何体的性质表。
dim | 维数 |
idx | 几何体序号 |
pid | 性质表 ID |
T* RegularMesh< DIM, DOW >::get_property | ( | const GeometryBM & | geo, |
const property_id_t< T > & | pid | ||
) | const [inline] |
取第 dim 维的几何体 geo 的性质表。
T* RegularMesh< DIM, DOW >::get_property | ( | int | dim, |
int | idx, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
取第 dim 维的第 idx 个几何体的性质表。
dim | 维数 |
idx | 几何体序号 |
pid | 性质表 ID |
T* RegularMesh< DIM, DOW >::get_property | ( | int | dim, |
const GeometryBM & | geo, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
为第 dim 维的几何体 geo 新分配性质表。
std::vector<std::vector<HGeometryBase*> >& RegularMesh< DIM, DOW >::h_geometry | ( | ) | [inline] |
const std::vector<std::vector<HGeometryBase*> >& RegularMesh< DIM, DOW >::h_geometry | ( | ) | const [inline] |
HGeometryBase* RegularMesh< DIM, DOW >::h_geometry | ( | int | dim, |
u_int | idx | ||
) | const [inline] |
HGeometry<GDIM,DOW>* RegularMesh< DIM, DOW >::h_geometry | ( | u_int | idx | ) | const [inline] |
取第 GDIM 维的第 idx 个几何体的 HGeometry 的指针。
ir_mesh_t& RegularMesh< DIM, DOW >::irregularMesh | ( | ) | const [inline] |
T* RegularMesh< DIM, DOW >::new_property | ( | u_int | idx, |
const property_id_t< T > & | pid | ||
) | const [inline] |
为第 dim 维的第 idx 个几何体新分配性质表。
dim | 维数 |
idx | 几何体序号 |
pid | 性质表 ID |
T* RegularMesh< DIM, DOW >::new_property | ( | const GeometryBM & | geo, |
const property_id_t< T > & | pid | ||
) | const [inline] |
为第 dim 维的几何体 geo 新分配性质表。
T* RegularMesh< DIM, DOW >::new_property | ( | int | dim, |
const GeometryBM & | geo, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
为第 dim 维的几何体 geo 新分配性质表。
T* RegularMesh< DIM, DOW >::new_property | ( | int | dim, |
int | idx, | ||
const property_id_t< T > & | pid | ||
) | const [inline] |
为第 dim 维的第 idx 个几何体新分配性质表。
dim | 维数 |
idx | 几何体序号 |
pid | 性质表 ID |
mesh_t& RegularMesh< DIM, DOW >::operator= | ( | const mesh_t & | ) | [inline, private] |
Copy operator.
void RegularMesh< DIM, DOW >::refineLabelled | ( | LABEL & | flag | ) | [inline] |
void RegularMesh< DIM, DOW >::renumerateElement | ( | ) | [inline] |
Renumerate the element of the mesh. This is a very simple but efficient algorithm to decrease the band-width of the sparse system obtained.
void RegularMesh< DIM, DOW >::renumerateElementHSFC | ( | void(*)(double, double, double, double &, double &, double &) | f = NULL | ) |
virtual void RegularMesh< DIM, DOW >::writeEasyMesh | ( | const std::string & | ) | const [virtual] |
Write the mesh data into {easymesh} format data files. For 2-d only.
void RegularMesh< 2, DOW >::writeEasyMesh | ( | const std::string & | filename | ) | const [virtual] |
virtual void RegularMesh< DIM, DOW >::writeOpenDXData | ( | const std::string & | ) | const [virtual] |
Write the mesh data into {IBM OpenDX} native data format.
void RegularMesh< 1, DOW >::writeOpenDXData | ( | const std::string & | filename | ) | const |
void RegularMesh< 2, DOW >::writeOpenDXData | ( | const std::string & | filename | ) | const |
void RegularMesh< 3, DOW >::writeOpenDXData | ( | const std::string & | filename | ) | const |
virtual void RegularMesh< DIM, DOW >::writeSimplestSimplexMesh | ( | const std::string & | ) | const [virtual] |
写入为 SimplestMesh 可以读入的形式。对于二维情况,我们使得网格中 只有三角形,对于三维情况,我们使得网格中只有四面体,这样输出的数 据使用 SimplestSimplexMesh 读入以后就可以产生出完整的网格数据。在 这个过程中,我们将会丢失关于材料标识的信息。
void RegularMesh< 1, DOW >::writeSimplestSimplexMesh | ( | const std::string & | filename | ) | const |
void RegularMesh< 2, DOW >::writeSimplestSimplexMesh | ( | const std::string & | filename | ) | const |
void RegularMesh< 3, DOW >::writeSimplestSimplexMesh | ( | const std::string & | filename | ) | const |
virtual void RegularMesh< DIM, DOW >::writeSimplexMesh | ( | const std::string & | ) | const [virtual] |
写入为内部的 mesh 格式,但是网格中只有单纯形单元。
void RegularMesh< 1, DOW >::writeSimplexMesh | ( | const std::string & | filename | ) | const |
void RegularMesh< 2, DOW >::writeSimplexMesh | ( | const std::string & | filename | ) | const |
void RegularMesh< 3, DOW >::writeSimplexMesh | ( | const std::string & | filename | ) | const |
Todo: ...
virtual void RegularMesh< DIM, DOW >::writeTecplotData | ( | const std::string & | ) | const [virtual] |
Write the mesh data into {Techplot} Finite-Element data format.
void RegularMesh< 2, DOW >::writeTecplotData | ( | const std::string & | filename | ) | const [virtual] |
void RegularMesh< 3, DOW >::writeTecplotData | ( | const std::string & | filename | ) | const [virtual] |
friend class IrregularMesh< DIM, DOW > [friend] |
std::vector<std::vector<HGeometryBase*> > RegularMesh< DIM, DOW >::h_geometry_ptr [private] |
ir_mesh_t* RegularMesh< DIM, DOW >::irregular_mesh [private] |