PPL Logo

GenericElement Class Reference

Class to encapsulate all element-type specific methods. More...

#include <GenericElement.h>

Collaboration diagram for GenericElement:

Collaboration graph
[legend]

Public Member Functions

 GenericElement (unsigned int s=4)
unsigned int size () const
unsigned int nedges () const
unsigned int nfaces () const
void shape_func (const CVector &natc, double[]) const
void dshape_func (const CVector &natc, double[][3]) const
void jacobian (const CPoint p[], const CVector &natc, CVector J[]) const
void interpolate_natural (int nValuesPerNode, const ConcreteElementNodeData &src, const CVector &nc, double *dest) const
 Interpolate nValuesPerNode doubles from src element at nc to dest.
bool interpolate (int nValuesPerNode, const ConcreteElementNodeData &src, const CPoint &p, double *dest) const
 Interpolate nValuesPerNode doubles from src element at point p to dest.
bool element_contains_point (const CPoint &p, const ConcreteElement &e, CVector &natc) const
 Return true if this element contains this point, and return the point's natural coordinates.
void shapef_jacobian_at (const CPoint &p, CVector &natc, const ConcreteElement &e, CVector &fvec, CVector fjac[]) const
 Evaluate the element's jacobian at this natural coordinate.

Protected Types

enum  { maxSize = 20 }

Protected Attributes

unsigned int _size
 Number of nodes in element.

Detailed Description

Class to encapsulate all element-type specific methods.

For example, there would be one GenericElementType for tets, another for hexes, another for 10-node tets, etc.

Terminology: Natural Coordinates are a subset of the unit cube that can be mappped onto the element. The Shape Function at a given location lists the weights for each node used to interpolate values. The Jacobian lists the partials of real coordinates with respect to natural coordinates.

Definition at line 47 of file GenericElement.h.


Member Enumeration Documentation

anonymous enum [protected]

Enumerator:
maxSize 

Definition at line 49 of file GenericElement.h.


Constructor & Destructor Documentation

GenericElement::GenericElement ( unsigned int  s = 4  )  [inline]

Definition at line 52 of file GenericElement.h.


Member Function Documentation

unsigned int GenericElement::size ( void   )  const [inline]

Definition at line 55 of file GenericElement.h.

References _size.

unsigned int GenericElement::nedges (  )  const [inline]

Definition at line 59 of file GenericElement.h.

References _size.

unsigned int GenericElement::nfaces (  )  const [inline]

Definition at line 73 of file GenericElement.h.

References _size.

void GenericElement::shape_func ( const CVector natc,
double  SF[] 
) const

void GenericElement::dshape_func ( const CVector natc,
double  dSF[][3] 
) const

void GenericElement::jacobian ( const CPoint  p[],
const CVector natc,
CVector  J[] 
) const

void GenericElement::interpolate_natural ( int  nValuesPerNode,
const ConcreteElementNodeData src,
const CVector nc,
double dest 
) const

Interpolate nValuesPerNode doubles from src element at nc to dest.

Interpolate nValuesPerNode doubles from src to dest.

Definition at line 177 of file GenericElement.C.

References _size, alpha, ConcreteElementNodeData::getNodeData(), maxSize, n, CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.

Referenced by interpolate(), parallelTransfer_c::transferNodeValues(), and parallelSurfaceTransfer_c::transferNodeValues().

bool GenericElement::interpolate ( int  nValuesPerNode,
const ConcreteElementNodeData src,
const CPoint p,
double dest 
) const [inline]

Interpolate nValuesPerNode doubles from src element at point p to dest.

Definition at line 102 of file GenericElement.h.

References element_contains_point(), and interpolate_natural().

Referenced by main().

bool GenericElement::element_contains_point ( const CPoint p,
const ConcreteElement e,
CVector natc 
) const

Return true if this element contains this point, and return the point's natural coordinates.

Definition at line 285 of file GenericElement.C.

References _size, LTOL, NewtonRaphson(), and p.

Referenced by interpolate(), main(), parallelTransfer_c::transferNodeValues(), and parallelSurfaceTransfer_c::transferNodeValues().

void GenericElement::shapef_jacobian_at ( const CPoint p,
CVector natc,
const ConcreteElement e,
CVector fvec,
CVector  fjac[] 
) const

Evaluate the element's jacobian at this natural coordinate.

Definition at line 247 of file GenericElement.C.

References _size, ConcreteElement::getNodeLocation(), jacobian(), maxSize, shape_func(), and Transpose().


Field Documentation

unsigned int GenericElement::_size [protected]


The documentation for this class was generated from the following files:

Generated on Fri May 25 08:03:28 2012 for Charm++ by  doxygen 1.5.5