#include <mrtr_function.H>
Public Types | |
enum | FunctionType { func_none, func_Constant1D, func_Linear1D, func_DualLinear1D, func_LinearTri, func_DualLinearTri, func_ConstantTri, func_BiLinearQuad, func_DualBiLinearQuad } |
Type of function. More... | |
Public Member Functions | |
Function (int outlevel, MOERTEL::Function::FunctionType type) | |
Constructor. | |
Function (const MOERTEL::Function &old) | |
Copy-Constructor. | |
virtual | ~Function () |
Destructor. | |
virtual MOERTEL::Function * | Clone () const =0 |
Clone method. | |
int | OutLevel () |
Return the level of output written to stdout ( 0 - 10 ). | |
MOERTEL::Function::FunctionType | Type () const |
Return the function type. | |
virtual bool | EvaluateFunction (const MOERTEL::Segment &seg, const double *xi, double *val, const int valdim, double *deriv)=0 |
Evaluate the function and derivatives at a given local coordinate. | |
Protected Attributes | |
MOERTEL::Function::FunctionType | type_ |
int | outputlevel_ |
A virtual class to form a shape function of some type
Type of function.
func_none | : default value | |
func_Constant1D | : Constant function on a 1D Segment | |
func_Linear1D | : Linear function on a 1D Segment | |
func_DualLinear1D | : Dual linear function on a 1D Segment | |
func_LinearTri | : Linear function on a 3-noded triangle | |
func_DualLinearTri | : Dual linear function on a 3-noded triangle | |
func_ConstantTri | : Constant function on a 3-noded triangle |
MOERTEL::Function::Function | ( | int | outlevel, | |
MOERTEL::Function::FunctionType | type | |||
) | [inline] |
Constructor.
Constructs an instance of this base class.
outlevel | : Level of output information written to stdout ( 0 - 10 ) | |
type | : Function type |
MOERTEL::Function::Function | ( | const MOERTEL::Function & | old | ) | [inline] |
Copy-Constructor.
Makes a deep copy
old | : Instance to be copied |
virtual MOERTEL::Function* MOERTEL::Function::Clone | ( | ) | const [pure virtual] |
Clone method.
The derived class implementing this virtual method is supposed to make a deep copy of itself and return a pointer to the copy.
Implemented in MOERTEL::Function_Constant1D, MOERTEL::Function_Linear1D, MOERTEL::Function_DualLinear1D, MOERTEL::Function_LinearTri, MOERTEL::Function_DualLinearTri, and MOERTEL::Function_ConstantTri.
Referenced by MOERTEL::Segment::SetFunction().
virtual bool MOERTEL::Function::EvaluateFunction | ( | const MOERTEL::Segment & | seg, | |
const double * | xi, | |||
double * | val, | |||
const int | valdim, | |||
double * | deriv | |||
) | [pure virtual] |
Evaluate the function and derivatives at a given local coordinate.
xi | (in) : Local coordinate where to evaluate the function | |
val | (out) : Function values at xi | |
valdim | (in) : Dimension of val | |
deriv | (out) : Derivative of functions at xi |
Implemented in MOERTEL::Function_Constant1D, MOERTEL::Function_Linear1D, MOERTEL::Function_DualLinear1D, MOERTEL::Function_LinearTri, MOERTEL::Function_DualLinearTri, and MOERTEL::Function_ConstantTri.