AFEPack
|
类型定义 | |
typedef int | Method |
函数 | |
template<class value_type , int DIM> | |
void | L2Interpolate (const FEMFunction< value_type, DIM > &src, FEMFunction< value_type, DIM > &des) |
template<class value_type , int DIM> | |
void | L2Interpolate (value_type(*)(const double *), FEMFunction< value_type, DIM > &fun) |
template<class value_type , int DIM> | |
void | L2Interpolate (value_type(*)(const afepack::Point< DIM > &), FEMFunction< value_type, DIM > &fun) |
template<class value_type , int DIM> | |
void | L2Interpolate (const Function< value_type > &, FEMFunction< value_type, DIM > &fun) |
template<class value_type , int DIM> | |
void | L2Project (const FEMFunction< value_type, DIM > &src, FEMFunction< value_type, DIM > &des, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Project (value_type(*)(const double *), FEMFunction< value_type, DIM > &fun, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Project (value_type(*)(const afepack::Point< DIM > &), FEMFunction< value_type, DIM > &fun, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Project (const Function< value_type > &, FEMFunction< value_type, DIM > &fun, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Project (value_type(*f)(const value_type &), const FEMFunction< value_type, DIM > &src, FEMFunction< value_type, DIM > &des, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Project (value_type(*f)(const value_type &, const value_type &), const FEMFunction< value_type, DIM > &src0, const FEMFunction< value_type, DIM > &src1, FEMFunction< value_type, DIM > &des, Method method, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (const FEMFunction< value_type, DIM > &src, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (const FEMFunction< value_type, DIM > &src, const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (value_type(*)(const double *), const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (value_type(*)(const afepack::Point< DIM > &), const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (const Function< value_type > &, const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (value_type(*f)(const value_type &), const FEMFunction< value_type, DIM > &src, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (value_type(*f)(const value_type &), const FEMFunction< value_type, DIM > &src, const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
template<class value_type , int DIM> | |
void | L2Discretize (value_type(*f)(const value_type &, const value_type &), const FEMFunction< value_type, DIM > &src0, const FEMFunction< value_type, DIM > &src1, const FEMSpace< value_type, DIM > &space, Vector< double > &des, int algebric_accuracy) |
变量 | |
static const Method | MASS_ACCUMULATION = 1 |
static const Method | LEAST_SQUARE = 2 |
static const Method | LOCAL_LEAST_SQUARE = 3 |
This namespace packs a list of operator operating on the finite element functions and analytic functions. Such operations include $L^2$ interpolation, projection and discretization. Generally, an numerical intergration will be involved in the implentation of those operations. A parameter {Method} is sumetimes in the parameter list of sume operators to require certain operation style.
typedef int Operator::Method |
template void Operator::L2Discretize | ( | const FEMFunction< value_type, DIM > & | src, |
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of a finite element function in the finite element space it's in.
template void Operator::L2Discretize | ( | const FEMFunction< value_type, DIM > & | src, |
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of a finite element function in finite element space {space}.
template void Operator::L2Discretize | ( | value_type(*)(const double *) | , |
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function in finite element space {space}.
template void Operator::L2Discretize | ( | value_type(*)(const afepack::Point< DIM > &) | , |
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function in finite element space {space}.
template void Operator::L2Discretize | ( | const Function< value_type > & | , |
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function in finite element space {space}.
template void Operator::L2Discretize | ( | value_type(*)(const value_type &) | f, |
const FEMFunction< value_type, DIM > & | src, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function {f} of a finite element function
{src} in the finite element space
{src} in.
template void Operator::L2Discretize | ( | value_type(*)(const value_type &) | f, |
const FEMFunction< value_type, DIM > & | src, | ||
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function {f} of a finite element function
{src} in another finite element space
{space}.
template void Operator::L2Discretize | ( | value_type(*)(const value_type &, const value_type &) | f, |
const FEMFunction< value_type, DIM > & | src0, | ||
const FEMFunction< value_type, DIM > & | src1, | ||
const FEMSpace< value_type, DIM > & | space, | ||
Vector< double > & | des, | ||
int | algebric_accuracy | ||
) |
Discrete formation of an analytic function {f} of two finite element functions
{src0} and
{src1} to a finite element function
{des} in another finite element space, which means
{des = Discrtize( f(src0, src1) )}. Because we can now only cope with those operation with two different meshes, it's required that the three finite element functions
{src0},
{src1} and
{des} should be on only two different meshes.
template void Operator::L2Interpolate | ( | const FEMFunction< value_type, DIM > & | src, |
FEMFunction< value_type, DIM > & | des | ||
) |
Interpolate a finite element function {src} in one finite element space to a finite element funtion
{des} in another finite element space.
template void Operator::L2Interpolate | ( | value_type(*)(const double *) | , |
FEMFunction< value_type, DIM > & | fun | ||
) |
Interpolate an analytic function {src} to a finite element funtion
{des} in another finite element space.
template void Operator::L2Interpolate | ( | value_type(*)(const afepack::Point< DIM > &) | , |
FEMFunction< value_type, DIM > & | fun | ||
) |
Interpolate an analytic function {src} to a finite element funtion
{des} in another finite element space.
template void Operator::L2Interpolate | ( | const Function< value_type > & | , |
FEMFunction< value_type, DIM > & | fun | ||
) |
Interpolate an analytic function {src} to a finite element funtion
{des} in another finite element space.
template void Operator::L2Project | ( | const FEMFunction< value_type, DIM > & | src, |
FEMFunction< value_type, DIM > & | des, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project a finite element function {src} in one finite element space to a finite element function
{des} in another finite element space, with algebriac integrate accuracy order
{algebric_accuracy}
template void Operator::L2Project | ( | value_type(*)(const double *) | , |
FEMFunction< value_type, DIM > & | fun, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project an analytic {src} in one finite element space to a finite element function
{des} in another finite element space, with algebriac integrate accuracy order
{algebric_accuracy}
template void Operator::L2Project | ( | value_type(*)(const afepack::Point< DIM > &) | , |
FEMFunction< value_type, DIM > & | fun, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project an analytic {src} in one finite element space to a finite element function
{des} in another finite element space, with algebriac integrate accuracy order
{algebric_accuracy}
template void Operator::L2Project | ( | const Function< value_type > & | , |
FEMFunction< value_type, DIM > & | fun, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project an analytic {src} in one finite element space to a finite element function
{des} in another finite element space, with algebriac integrate accuracy order
{algebric_accuracy}
template void Operator::L2Project | ( | value_type(*)(const value_type &) | f, |
const FEMFunction< value_type, DIM > & | src, | ||
FEMFunction< value_type, DIM > & | des, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project an analytic function {f} of a finite element function
{src} to a finite element function
{des} in another finite element space, which means
{des = Project( f(src) )}.
template void Operator::L2Project | ( | value_type(*)(const value_type &, const value_type &) | f, |
const FEMFunction< value_type, DIM > & | src0, | ||
const FEMFunction< value_type, DIM > & | src1, | ||
FEMFunction< value_type, DIM > & | des, | ||
Method | method, | ||
int | algebric_accuracy | ||
) |
Project an analytic function {f} of two finite element functions
{src0} and
{src1} to a finite element function
{des} in another finite element space, which means
{des = Project( f(src0, src1) )}. Because we can now only cope with those operation with two different meshes, it's required that the three finite element functions
{src0},
{src1} and
{des} should be on only two different meshes.
const Method Operator::LEAST_SQUARE = 2 [static] |
const Method Operator::LOCAL_LEAST_SQUARE = 3 [static] |
const Method Operator::MASS_ACCUMULATION = 1 [static] |