AFEPack
组合类型 | 公有类型 | 公有成员 | 私有成员 | 私有属性 | 静态私有属性
MovingMesh3D类参考

#include <MovingMesh3D.h>

类MovingMesh3D继承关系图:
Mesh< 3, 3 >

所有成员的列表。

组合类型

struct  Domain
struct  Edge
class  Solver
struct  Surface
struct  Vertex

公有类型

typedef GeometryBM::bmark_t bound_t

公有成员

 MovingMesh3D ()
virtual ~MovingMesh3D ()
const std::vector< float > & monitor () const
std::vector< float > & monitor ()
const float & monitor (const u_int &i) const
float & monitor (const u_int &i)
const std::vector
< afepack::Point< 3 > > & 
moveDirection () const
std::vector< afepack::Point< 3 > > & moveDirection ()
const afepack::Point< 3 > & moveDirection (const u_int &i) const
afepack::Point< 3 > & moveDirection (const u_int &i)
std::vector< double > moveDirection (const afepack::Point< 3 > &point, const int &element) const
std::vector< std::vector
< double > > 
moveDirection (const std::vector< afepack::Point< 3 > > &point, const int &element) const
double moveDirectionDivergence (const u_int &element) const
double moveStepLength () const
double & moveStepLength ()
u_int moveStep () const
u_int & moveStep ()
u_int solveStep () const
u_int & solveStep ()
double tolerence () const
double & tolerence ()
void moveMesh ()
void outputPhysicalMesh (const std::string &file)
void outputLogicalMesh (const std::string &file)
virtual void getMonitor ()
virtual void smoothMonitor (u_int step=1)
virtual void updateMesh ()
virtual void updateSolution ()=0
virtual void outputSolution ()=0
virtual void getMoveStepLength ()
void readDomain (const std::string &file)

私有成员

void getLogicalMesh ()
void getMoveDirection ()
void readDummy (std::ifstream &is)
void parseBoundary ()

私有属性

Domain domain
std::vector< afepack::Point< 3 > > logical_node
double move_step_length
u_int n_move_step
std::vector< afepack::Point< 3 > > move_direction
std::vector< afepack::Point< 3 > > logical_move_direction
std::vector< float > mon
u_int n_interior_node
u_int n_boundary_node
std::vector< int > index
std::vector< u_int > interior_node_index
std::vector< u_int > boundary_node_index
u_int n_boundary_constraint
std::vector< int > boundary_mark
SparsityPattern spM
SparseMatrix< double > M
Solver solver
u_int solve_step
 
double tol

静态私有属性

static int primes []
 

详细描述

definition of class MovingMesh3D. This class support only the mesh data generated by gmesh. It can serve as a 3D tetrahedron mesh and the mesh nodes are moving according a given monitor function. To implement a problem solver based on moving mesh, the FEM space can be built on this mesh and if the virtual method Monitor is given, the mesh will move according this monitor. Another virtual method updateSolution should also be implemented in the derived class that the solution can be correctly updated on the moving mesh. __MovingMesh3D_h__


成员类型定义文档


构造及析构函数文档


成员函数文档

void MovingMesh3D::getLogicalMesh ( ) [private]
void MovingMesh3D::getMonitor ( ) [virtual]
void MovingMesh3D::getMoveDirection ( ) [private]

һģTodo: Ѿ

Լĸ

<

ڱ

ڶ

void MovingMesh3D::getMoveStepLength ( ) [virtual]

< ʱֻһʵ

< ʵ

const std::vector<float>& MovingMesh3D::monitor ( ) const [inline]
std::vector<float>& MovingMesh3D::monitor ( ) [inline]
const float& MovingMesh3D::monitor ( const u_int &  i) const [inline]
float& MovingMesh3D::monitor ( const u_int &  i) [inline]
const std::vector<afepack::Point<3> >& MovingMesh3D::moveDirection ( ) const [inline]
std::vector<afepack::Point<3> >& MovingMesh3D::moveDirection ( ) [inline]
const afepack::Point<3>& MovingMesh3D::moveDirection ( const u_int &  i) const [inline]
afepack::Point<3>& MovingMesh3D::moveDirection ( const u_int &  i) [inline]
std::vector<double> MovingMesh3D::moveDirection ( const afepack::Point< 3 > &  point,
const int &  element 
) const
std::vector<std::vector<double> > MovingMesh3D::moveDirection ( const std::vector< afepack::Point< 3 > > &  point,
const int &  element 
) const
double MovingMesh3D::moveDirectionDivergence ( const u_int &  element) const
u_int MovingMesh3D::moveStep ( ) const [inline]
u_int& MovingMesh3D::moveStep ( ) [inline]
double MovingMesh3D::moveStepLength ( ) const [inline]
double& MovingMesh3D::moveStepLength ( ) [inline]
void MovingMesh3D::outputLogicalMesh ( const std::string &  file)
void MovingMesh3D::outputPhysicalMesh ( const std::string &  file)
virtual void MovingMesh3D::outputSolution ( ) [pure virtual]
void MovingMesh3D::parseBoundary ( ) [private]

j ϵIJϱʶΪ j

ÿλ

еѭ

Ѱλڱ߽ϵ棬ڲ

߽IJϱʶΪ i

ͳÿϵĽڵĸΪÿڵȷIJϱʶ

еıѭ

ڲȥ

˵Ӧûûпǹ

ڲϱʶϳԱߵıʶ

void MovingMesh3D::readDomain ( const std::string &  file)

ȱʡֵΪ 1

ȱʡֵΪ 1

< ı淨

< Ա淨λ

< ߼ı淨

< Ա淨λ

< ÿѭ

void MovingMesh3D::readDummy ( std::ifstream &  is) [private]
void MovingMesh3D::smoothMonitor ( u_int  step = 1) [virtual]
u_int MovingMesh3D::solveStep ( ) const [inline]
u_int& MovingMesh3D::solveStep ( ) [inline]
double MovingMesh3D::tolerence ( ) const [inline]
double& MovingMesh3D::tolerence ( ) [inline]
void MovingMesh3D::updateMesh ( ) [virtual]
virtual void MovingMesh3D::updateSolution ( ) [pure virtual]

成员数据文档

std::vector<int> MovingMesh3D::boundary_mark [private]
std::vector<u_int> MovingMesh3D::boundary_node_index [private]
std::vector<int> MovingMesh3D::index [private]
std::vector<u_int> MovingMesh3D::interior_node_index [private]
std::vector<afepack::Point<3> > MovingMesh3D::logical_node [private]
SparseMatrix<double> MovingMesh3D::M [private]
std::vector<float> MovingMesh3D::mon [private]
std::vector<afepack::Point<3> > MovingMesh3D::move_direction [private]
u_int MovingMesh3D::n_move_step [private]
int MovingMesh3D::primes [static, private]
初始化序列:
 {
  02, 03, 05, 07, 11, 
  13, 17, 19, 23, 29, 
  31, 37, 41, 43, 47,
  53, 59, 61, 67, 71,
  73, 79, 83, 89, 91
}

u_int MovingMesh3D::solve_step [private]

SparsityPattern MovingMesh3D::spM [private]
double MovingMesh3D::tol [private]

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