Tetrahedron Class Reference

#include <Tetrahedron.h>

Inheritance diagram for Tetrahedron:
AbstractGeom< TET_SPD > ElementGeometry

List of all members.

Public Member Functions

 Tetrahedron (const std::vector< double > &globalCoordVec, const std::vector< GlobalNodalIndex > &connectivity)
 Tetrahedron (const Tetrahedron &that)
virtual Tetrahedronclone () const
const size_t getNumVertices () const
 Returns the number of vertices.
const std::string getPolytopeName () const
 Returns the name of the geometry. It clarifies the meaning of the connectivity array.
const size_t getParametricDimension () const
 Returns the number of dimensions in the parametric configuartion.
const size_t getEmbeddingDimension () const
 Returns the number of dimensions in the real configuration.
size_t getNumFaces () const
 Number of faces the polytope has.
void map (const double *X, double *Y) const
 map from parametric to real configuration.
void dMap (const double *X, double *DY, double &Jac) const
 Derivative of the map from the parametric to the real configuration.
Triangle< 3 > * getFaceGeometry (size_t e) const
 Creates a new ElementGeometry object corresponding to face 'e' in the polytope.
const double getInRadius (void) const
 get the inradius
const double getOutRadius (void) const
 get the outradius -- radius of the circumscribed sphere
virtual void computeNormal (size_t e, std::vector< double > &vNormal) const
 Compute external normal for a face.

Static Protected Member Functions

static double mag (const double *a)
 a vector array
static double dot (const double *a, const double *b)
static void cross (const double *a, const double *b, double *rv)
static double determinant (double **a, size_t n)

Static Private Attributes

static const double ParamCoord []
static const size_t FaceNodes []

Constructor & Destructor Documentation

Tetrahedron::Tetrahedron ( const std::vector< double > &  globalCoordVec,
const std::vector< GlobalNodalIndex > &  connectivity 
) [inline]
Tetrahedron::Tetrahedron ( const Tetrahedron that  )  [inline]

Member Function Documentation

virtual Tetrahedron* Tetrahedron::clone (  )  const [inline, virtual]

Implements ElementGeometry.

virtual void Tetrahedron::computeNormal ( size_t  e,
std::vector< double > &  vNormal 
) const [inline, virtual]

Compute external normal for a face.

Parameters:
e,: face number for which the normal is desired
vNormal,: output of the three Cartesian components of the normal vector

Implements ElementGeometry.

static void Tetrahedron::cross ( const double *  a,
const double *  b,
double *  rv 
) [inline, static, protected]
Parameters:
a first input vector size 3
b second input vector size 3
rv output vector containing cross product of a and b (size 3)
static double Tetrahedron::determinant ( double **  a,
size_t  n 
) [inline, static, protected]
Parameters:
a square matrix
n number of rows and cols in matrix
Returns:
determinant of the matrix
void Tetrahedron::dMap ( const double *  X,
double *  DY,
double &  Jac 
) const [inline, virtual]

Derivative of the map from the parametric to the real configuration.

Parameters:
X parametric cooridnates
Jac returns Jacobian of the map.
DY returnd derivative of the map. Here DY[a*getEmbeddingDimension()+i] contains the derivative of the a-th direction of the i-th coordinate.

Implements ElementGeometry.

static double Tetrahedron::dot ( const double *  a,
const double *  b 
) [inline, static, protected]
Parameters:
a vector size 3
b vector size 3
Returns:
dot product of vectors a and b
const size_t Tetrahedron::getEmbeddingDimension (  )  const [inline, virtual]

Returns the number of dimensions in the real configuration.

Implements ElementGeometry.

Triangle<3>* Tetrahedron::getFaceGeometry ( size_t  e  )  const [inline, virtual]

Creates a new ElementGeometry object corresponding to face 'e' in the polytope.

The object ghas to be deleted by the recepient.

Parameters:
e facenumber , starting from 0. Prompts an error if an invalid face is requested.

Implements ElementGeometry.

const double Tetrahedron::getInRadius ( void   )  const [inline, virtual]

get the inradius

Implements ElementGeometry.

size_t Tetrahedron::getNumFaces (  )  const [inline, virtual]

Number of faces the polytope has.

Implements ElementGeometry.

const size_t Tetrahedron::getNumVertices (  )  const [inline, virtual]

Returns the number of vertices.

Implements ElementGeometry.

const double Tetrahedron::getOutRadius ( void   )  const [inline, virtual]

get the outradius -- radius of the circumscribed sphere

Implements ElementGeometry.

const size_t Tetrahedron::getParametricDimension (  )  const [inline, virtual]

Returns the number of dimensions in the parametric configuartion.

Implements ElementGeometry.

const std::string Tetrahedron::getPolytopeName (  )  const [inline, virtual]

Returns the name of the geometry. It clarifies the meaning of the connectivity array.

Implements ElementGeometry.

static double Tetrahedron::mag ( const double *  a  )  [inline, static, protected]

a vector array

Returns:
magnitued of the vector
void Tetrahedron::map ( const double *  X,
double *  Y 
) const [inline, virtual]

map from parametric to real configuration.

Parameters:
X parametric coordinates.
Y returned real coordinates.

Implements ElementGeometry.


Member Data Documentation

const size_t Tetrahedron::FaceNodes [static, private]
Initial value:
 
        {2,1,0,   
                     2,0,3,   
                     2,3,1,   
                     0,1,3}
const double Tetrahedron::ParamCoord [static, private]
Initial value:
 
      {1,0,0, 
                         0,1,0,
                         0,0,0,
                         0,0,1}

The documentation for this class was generated from the following files:
Generated on Tue Aug 2 11:51:29 2011 for Galois by  doxygen 1.6.3