#include <GenericElement.h>
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. |
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.
anonymous enum [protected] |
GenericElement::GenericElement | ( | unsigned int | s = 4 |
) | [inline] |
Definition at line 52 of file GenericElement.h.
unsigned int GenericElement::size | ( | void | ) | const [inline] |
unsigned int GenericElement::nedges | ( | ) | const [inline] |
unsigned int GenericElement::nfaces | ( | ) | const [inline] |
void GenericElement::shape_func | ( | const CVector & | natc, | |
double | SF[] | |||
) | const |
Definition at line 28 of file GenericElement.C.
References _size, alpha, CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.
Referenced by shapef_jacobian_at().
void GenericElement::dshape_func | ( | const CVector & | natc, | |
double | dSF[][3] | |||
) | const |
Definition at line 81 of file GenericElement.C.
References _size, alpha, CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.
Definition at line 132 of file GenericElement.C.
References _size, alpha, CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.
Referenced by shapef_jacobian_at().
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, HTOL, 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().
unsigned int GenericElement::_size [protected] |
Number of nodes in element.
Definition at line 50 of file GenericElement.h.
Referenced by dshape_func(), element_contains_point(), interpolate_natural(), jacobian(), nedges(), nfaces(), shape_func(), shapef_jacobian_at(), and size().