AFEPack
公有成员 | 私有成员 | 私有属性
MovingMesh2D::Solver类参考

#include <MovingMesh2D.h>

所有成员的列表。

公有成员

 Solver ()
 ~Solver ()
u_int smoothStep () const
u_int & smoothStep ()
u_int minimalOrder () const
u_int & minimalOrder ()
void reinit (SparseMatrix< double > &, const std::vector< int > &, const Domain &)
void clear ()
void solve (std::vector< Vector< double > > &x, const std::vector< Vector< double > > &r, u_int steps=5) const

私有成员

void Project (const SparseMatrix< double > &M, const std::vector< int > &bm, SparseMatrix< double > *&P, SparseMatrix< double > *&PMPT, SparseMatrix< double > *&Pt, std::vector< bound_t > *&pbm)
void Init (SparseMatrix< double > &, const std::vector< int > &, const Domain &)
void GaussSidel (const SparseMatrix< double > &M, std::vector< Vector< double > > &x, const std::vector< Vector< double > > &r, const std::vector< int > &bm, const u_int &s) const
SparseMatrix< double > * getPMPT (const SparseMatrix< double > &P, const SparseMatrix< double > &M, const SparseMatrix< double > &Pt) const
void lazyPMPT (const SparseMatrix< double > &P, const SparseMatrix< double > &M, const SparseMatrix< double > &Pt, SparseMatrix< double > &A) const

私有属性

bool is_initialized
int n_project
std::vector< SparseMatrix
< double > * > 
project_matrix
std::vector< SparseMatrix
< double > * > 
project_matrix_r
std::vector< SparseMatrix
< double > * > 
projected_matrix
std::vector< const std::vector
< int > * > 
boundary_mark
u_int smooth_step
u_int min_order
const Domaindomain

构造及析构函数文档


成员函数文档

void MovingMesh2D::Solver::GaussSidel ( const SparseMatrix< double > &  M,
std::vector< Vector< double > > &  x,
const std::vector< Vector< double > > &  r,
const std::vector< int > &  bm,
const u_int &  s 
) const [private]

< M Ԫ

< ԽԪ

< ڲĵͲͶӰ

< ȼ

< Ա߽ϵĵһͶӰ

<

ֻһԼʱŸ£Լ ζ㲻ƶ

sparse_matrix_t * MovingMesh2D::Solver::getPMPT ( const SparseMatrix< double > &  P,
const SparseMatrix< double > &  M,
const SparseMatrix< double > &  Pt 
) const [private]

< add the diagonal entry at first

void MovingMesh2D::Solver::Init ( SparseMatrix< double > &  ,
const std::vector< int > &  ,
const Domain  
) [private]
void MovingMesh2D::Solver::lazyPMPT ( const SparseMatrix< double > &  P,
const SparseMatrix< double > &  M,
const SparseMatrix< double > &  Pt,
SparseMatrix< double > &  A 
) const [private]
u_int MovingMesh2D::Solver::minimalOrder ( ) const [inline]
void MovingMesh2D::Solver::Project ( const SparseMatrix< double > &  M,
const std::vector< int > &  bm,
SparseMatrix< double > *&  P,
SparseMatrix< double > *&  PMPT,
SparseMatrix< double > *&  Pt,
std::vector< bound_t > *&  pbm 
) [private]

ѡĵ㣬ȽϱʶϸߵĵѡΪĵ㡣

< һѾ

< ΪͶӰɶȵı߽ŷռ

< 趨ͶӰɶȵı߽

void MovingMesh2D::Solver::reinit ( SparseMatrix< double > &  ,
const std::vector< int > &  ,
const Domain  
)

to solve a linear system with the same sparsity pattern as already initialized matrix

u_int MovingMesh2D::Solver::smoothStep ( ) const [inline]
u_int& MovingMesh2D::Solver::smoothStep ( ) [inline]
void MovingMesh2D::Solver::solve ( std::vector< Vector< double > > &  x,
const std::vector< Vector< double > > &  r,
u_int  steps = 5 
) const

< ߽

< ߽


成员数据文档

std::vector<const std::vector<int> *> MovingMesh2D::Solver::boundary_mark [private]

< ƵĴ񷽳

std::vector<SparseMatrix<double> *> MovingMesh2D::Solver::project_matrix [private]
std::vector<SparseMatrix<double> *> MovingMesh2D::Solver::project_matrix_r [private]
std::vector<SparseMatrix<double> *> MovingMesh2D::Solver::projected_matrix [private]

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