A virtual class to form a shape function of some type. More...
#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. More... | |
Function (const MOERTEL::Function &old) | |
Copy-Constructor. More... | |
virtual | ~Function () |
Destructor. | |
virtual MOERTEL::Function * | Clone () const =0 |
Clone method. More... | |
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. More... | |
Protected Attributes | |
MOERTEL::Function::FunctionType | type_ |
int | outputlevel_ |
A virtual class to form a shape function of some type.
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 |
|
inline |
Constructor.
Constructs an instance of this base class.
outlevel | : Level of output information written to stdout ( 0 - 10 ) |
type | : Function type |
|
inline |
Copy-Constructor.
Makes a deep copy
old | : Instance to be copied |
|
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_DualBiLinearQuad, MOERTEL::Function_BiLinearQuad, MOERTEL::Function_ConstantTri, MOERTEL::Function_DualLinearTri, MOERTEL::Function_LinearTri, MOERTEL::Function_DualLinear1D, MOERTEL::Function_Linear1D, and MOERTEL::Function_Constant1D.
Referenced by MOERTEL::Segment::SetFunction().
|
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_DualBiLinearQuad, MOERTEL::Function_BiLinearQuad, MOERTEL::Function_ConstantTri, MOERTEL::Function_DualLinearTri, MOERTEL::Function_LinearTri, MOERTEL::Function_DualLinear1D, MOERTEL::Function_Linear1D, and MOERTEL::Function_Constant1D.