FiniteElementInterface Class Reference

#include <finiteelementinterface.h>

Inheritance diagram for FiniteElementInterface:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual unsigned n_fields ()=0
virtual Index n_local_dofs ()=0
virtual Index local_dof_field (unsigned local_dof)=0
virtual const ArrayOfVecDoubleget_support_points ()=0
virtual Index n_dofs_per_face ()=0
virtual const VecIndexface_to_cell_local_map (Index faceId)=0
virtual double shape_value (unsigned i, const VecDouble &p)=0
virtual void shape_grad (unsigned i, const VecDouble &pt, VecDouble &vGrad)=0

Detailed Description

The base class of all finite elements This class has all its methods as pure virtual.

The finite element is responsible to: 1) Evaluate the basis function in the reference element 2) Define any important information of the reference domain

Important to note the finite element interface does not know anything about the mapping of the cell in the reference domain to the real domain.

Programmers, pay attention not to mix the coordinates of the parametric element to the coordinates of the deformed element in a mesh. Read carefully the documentation of each method and return exactly what the documentation says. If you have any questions about what a method do, ask your manager (i.e ME), but first try to understand the documentation.

This class does not have any data. It just define the methods that all finite element classes should implement plus some methods that are common and usefull for all finite elements

Definition at line 35 of file finiteelementinterface.h.


Member Function Documentation

virtual const VecIndex& FiniteElementInterface::face_to_cell_local_map ( Index  faceId  )  [pure virtual]

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.

virtual const ArrayOfVecDouble& FiniteElementInterface::get_support_points (  )  [pure virtual]

Get the support points for each local dof on the reference element. So the support point of the nth local dof is return as a 3d point on the nth position of the ArrayOfVecDouble.

Definition of support points: In many finite elements, each degree of freedom, ak represents the value of the function a0*N0(xi) + a1*N1(xi) .... an*Nn(xi) at a specific point xi==xk. This xk is the support point of the dof ak.

In the vector returned from this function the position i of this vector has the support point of the local dof i in the reference domain.

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.

virtual Index FiniteElementInterface::local_dof_field ( unsigned  local_dof  )  [pure virtual]

Taking a local dof in the reference domain returns the number of the field where this dof belongs to.

Implemented in FEDealWrapper, FEOrthoMeshDealWrapper, and FEOrthoSystem.

virtual Index FiniteElementInterface::n_dofs_per_face (  )  [pure virtual]

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.

virtual unsigned FiniteElementInterface::n_fields (  )  [pure virtual]

This function returns the number of fields (components) of the finite element.

Returns:

Implemented in FEDealWrapper, FEOrthoMeshDealWrapper, and FEOrthoSystem.

virtual Index FiniteElementInterface::n_local_dofs (  )  [pure virtual]

Get number of local dofs This is the dimension of the basis functions in the element level. For hat functions in 1D for example, it should return 2

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.

virtual void FiniteElementInterface::shape_grad ( unsigned  i,
const VecDouble pt,
VecDouble vGrad 
) [pure virtual]

Return the derivative of the shape function i in the reference element at point xi

Pre: xi is in [0,1]

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.

virtual double FiniteElementInterface::shape_value ( unsigned  i,
const VecDouble p 
) [pure virtual]

Get the value of the ith shape function (also called basis function) at position xi in the reference domain. Parameters: i = The shape function number xi= The point in the reference domain Pre: xi is in [0,1]

Implemented in FEDealWrapper, and FEOrthoMeshDealWrapper.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Sun Apr 8 23:13:05 2012 for CO2INJECTION by  doxygen 1.6.3