AFEPack
|
#include <MovingMesh2D.h>
组合类型 | |
struct | Domain |
struct | Edge |
class | Solver |
struct | Vertex |
公有类型 | |
typedef GeometryBM::bmark_t | bound_t |
公有成员 | |
MovingMesh2D () | |
virtual | ~MovingMesh2D () |
const std::vector< double > & | monitor () const |
std::vector< double > & | monitor () |
const double & | monitor (const int &i) const |
double & | monitor (const int &i) |
const std::vector < afepack::Point< 2 > > & | moveDirection () const |
std::vector< afepack::Point< 2 > > & | moveDirection () |
const afepack::Point< 2 > & | moveDirection (const int &i) const |
afepack::Point< 2 > & | moveDirection (const int &i) |
std::vector< double > | moveDirection (const afepack::Point< 2 > &point, const int &element) const |
std::vector< std::vector < double > > | moveDirection (const std::vector< afepack::Point< 2 > > &point, const int &element) const |
double | moveDirectionDivergence (const int &element) const |
double | moveStepLength () const |
double & | moveStepLength () |
int | moveStep () const |
int & | moveStep () |
u_int | solveStep () const |
u_int & | solveStep () |
double | tolerence () const |
double & | tolerence () |
u_int | maxStep () const |
u_int & | maxStep () |
void | moveMesh () |
void | outputPhysicalMesh (const std::string &file) |
void | outputLogicalMesh (const std::string &file) |
virtual void | getMonitor () |
virtual void | smoothMonitor (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 () |
void | outputMoveDirection (const std::string &) |
私有属性 | |
Domain | domain |
std::vector< afepack::Point< 2 > > | logical_node |
double | move_step_length |
int | n_move_step |
std::vector< afepack::Point< 2 > > | move_direction |
std::vector< afepack::Point< 2 > > | logical_move_direction |
std::vector< double > | mon |
std::vector< std::vector< int > > | mb_node |
std::vector< int > | boundary_mark |
i ϵĽڵָ | |
SparsityPattern | spM |
ʹõIJϱʶ | |
SparseMatrix< double > | M |
Solver | solver |
u_int | solve_step |
| |
u_int | max_step |
ƶĵȱʡΪ 1000 Ϊ | |
double | tol |
ƶ̶ȣȱʡΪ 10%. | |
double | energy_reduction |
ӳպٵİٷֱ | |
静态私有属性 | |
static int | primes [] |
|
__MovingMesh2D_h__
MovingMesh2D::~MovingMesh2D | ( | ) | [virtual] |
void MovingMesh2D::getLogicalMesh | ( | ) | [private] |
IJΪ
1. ڱ߽ϸӳ䣬ϱֵĵӳգΪһ ʼֵ 2. Ըղŵijʼֵ߽⣬õʵĵӳգ
һ
ڲڵ
˵λ
ϣ˽ڵڱڵλõı
ϣӦڵ꣬ϵͳ
ڶ
Todo: ...
void MovingMesh2D::getMonitor | ( | ) | [virtual] |
void MovingMesh2D::getMoveDirection | ( | ) | [private] |
ȡƺеСֵԱ
½ȣжǷ˳
void MovingMesh2D::getMoveStepLength | ( | ) | [virtual] |
u_int MovingMesh2D::maxStep | ( | ) | const [inline] |
u_int& MovingMesh2D::maxStep | ( | ) | [inline] |
const std::vector<double>& MovingMesh2D::monitor | ( | ) | const [inline] |
std::vector<double>& MovingMesh2D::monitor | ( | ) | [inline] |
const double& MovingMesh2D::monitor | ( | const int & | i | ) | const [inline] |
double& MovingMesh2D::monitor | ( | const int & | i | ) | [inline] |
const std::vector<afepack::Point<2> >& MovingMesh2D::moveDirection | ( | ) | const [inline] |
std::vector<afepack::Point<2> >& MovingMesh2D::moveDirection | ( | ) | [inline] |
const afepack::Point<2>& MovingMesh2D::moveDirection | ( | const int & | i | ) | const [inline] |
afepack::Point<2>& MovingMesh2D::moveDirection | ( | const int & | i | ) | [inline] |
std::vector<double> MovingMesh2D::moveDirection | ( | const afepack::Point< 2 > & | point, |
const int & | element | ||
) | const |
std::vector<std::vector<double> > MovingMesh2D::moveDirection | ( | const std::vector< afepack::Point< 2 > > & | point, |
const int & | element | ||
) | const |
double MovingMesh2D::moveDirectionDivergence | ( | const int & | element | ) | const |
void MovingMesh2D::moveMesh | ( | ) |
Ԥ貽ֵֹͣ
int MovingMesh2D::moveStep | ( | ) | const [inline] |
int& MovingMesh2D::moveStep | ( | ) | [inline] |
double MovingMesh2D::moveStepLength | ( | ) | const [inline] |
double& MovingMesh2D::moveStepLength | ( | ) | [inline] |
void MovingMesh2D::outputLogicalMesh | ( | const std::string & | file | ) |
void MovingMesh2D::outputMoveDirection | ( | const std::string & | file | ) | [private] |
void MovingMesh2D::outputPhysicalMesh | ( | const std::string & | file | ) |
virtual void MovingMesh2D::outputSolution | ( | ) | [pure virtual] |
void MovingMesh2D::parseBoundary | ( | ) | [private] |
j ϵIJϱʶΪ j
ÿλıߵ
еıѭ
Ѱλڱ߽ϵıߣڲ
domain еϢиºͽһĴ
߽IJϱʶΪ i
ÿϵĵλ
ϵķ
ϵķ
IJϱʶΪڵߵIJϱʶij˻
ͳÿ߽ϵĽڵĸΪÿڵȷIJϱʶ
еıѭ
ڲȥ
˵
ôΪߵIJϱʶ
void MovingMesh2D::readDomain | ( | const std::string & | file | ) |
ȱʡֵΪ 1
ϡϡģ
< ÿѭ
void MovingMesh2D::readDummy | ( | std::ifstream & | is | ) | [private] |
void MovingMesh2D::smoothMonitor | ( | int | step = 1 | ) | [virtual] |
u_int MovingMesh2D::solveStep | ( | ) | const [inline] |
u_int& MovingMesh2D::solveStep | ( | ) | [inline] |
double MovingMesh2D::tolerence | ( | ) | const [inline] |
double& MovingMesh2D::tolerence | ( | ) | [inline] |
void MovingMesh2D::updateMesh | ( | ) | [virtual] |
virtual void MovingMesh2D::updateSolution | ( | ) | [pure virtual] |
std::vector<int> MovingMesh2D::boundary_mark [private] |
i ϵĽڵָ
Domain MovingMesh2D::domain [private] |
double MovingMesh2D::energy_reduction [private] |
ӳպٵİٷֱ
std::vector<afepack::Point<2> > MovingMesh2D::logical_move_direction [private] |
std::vector<afepack::Point<2> > MovingMesh2D::logical_node [private] |
SparseMatrix<double> MovingMesh2D::M [private] |
u_int MovingMesh2D::max_step [private] |
ƶĵȱʡΪ 1000 Ϊ
ʱʹõĵȱʡΪ 5
std::vector<std::vector<int> > MovingMesh2D::mb_node [private] |
std::vector<double> MovingMesh2D::mon [private] |
std::vector<afepack::Point<2> > MovingMesh2D::move_direction [private] |
double MovingMesh2D::move_step_length [private] |
int MovingMesh2D::n_move_step [private] |
int MovingMesh2D::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 MovingMesh2D::solve_step [private] |
Solver MovingMesh2D::solver [private] |
SparsityPattern MovingMesh2D::spM [private] |
ʹõIJϱʶ
double MovingMesh2D::tol [private] |
ƶ̶ȣȱʡΪ 10%.