AFEPack
类型定义 | 函数 | 变量
Operator命名空间参考

类型定义

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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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<class value_type , int DIM>
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::MASS_ACCUMULATION = 1 [static]