Moertel Development
Public Types | Protected Attributes
MOERTEL::Function Class Reference

A virtual class to form a shape function of some type. More...

#include <mrtr_function.H>

Inheritance diagram for MOERTEL::Function:
Inheritance graph
[legend]

List of all members.

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::FunctionClone () 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_

Detailed Description

A virtual class to form a shape function of some type.

A virtual class to form a shape function of some type

Date:
Last update do Doxygen: 20-March-06
Author:
Glen Hansen (Glen.Hansen@inl.gov)

Member Enumeration Documentation

Type of function.

Parameters:
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

Constructor & Destructor Documentation

MOERTEL::Function::Function ( int  outlevel,
MOERTEL::Function::FunctionType  type 
) [inline]

Constructor.

Constructs an instance of this base class.

Parameters:
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

Parameters:
old: Instance to be copied

Member Function Documentation

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, MOERTEL::Function_ConstantTri, MOERTEL::Function_BiLinearQuad, and MOERTEL::Function_DualBiLinearQuad.

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.

Parameters:
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, MOERTEL::Function_ConstantTri, MOERTEL::Function_BiLinearQuad, and MOERTEL::Function_DualBiLinearQuad.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Enumerations Friends