FreeFOAM The Cross-Platform CFD Toolkit
tetrahedron< Point, PointRef > Class Template Reference

A tetrahedron primitive. More...

#include <OpenFOAM/tetrahedron.H>


Detailed Description

template<class Point, class PointRef>
class Foam::tetrahedron< Point, PointRef >

A tetrahedron primitive.

Ordering of edges needs to be the same for a tetrahedron class, a tetrahedron cell shape model and a tetCell.

Source files

Definition at line 78 of file tetrahedron.H.

List of all members.

Public Types

enum  { nVertices = 4, nEdges = 6 }

Public Member Functions

 tetrahedron (const Point &a, const Point &b, const Point &c, const Point &d)
 Construct from points.
 tetrahedron (Istream &)
 Construct from Istream.
const Point & a () const
 Return vertices.
const Point & b () const
const Point & c () const
const Point & d () const
vector Sa () const
 Return face normal.
vector Sb () const
vector Sc () const
vector Sd () const
Point centre () const
 Return centre (centroid)
scalar mag () const
 Return volume.
Point circumCentre () const
 Return circum-centre.
scalar circumRadius () const
 Return circum-radius.
pointHit containmentSphere (const scalar tol) const
 Return (min)containment sphere, i.e. the smallest sphere with.
void gradNiSquared (scalarField &buffer) const
 Fill buffer with shape function products.
void gradNiDotGradNj (scalarField &buffer) const
void gradNiGradNi (tensorField &buffer) const
void gradNiGradNj (tensorField &buffer) const

Friends

Istreamoperator>> (Istream &, tetrahedron &)
Ostreamoperator (Ostream &, const tetrahedron &)

Member Enumeration Documentation

anonymous enum
Enumerator:
nVertices 
nEdges 

Definition at line 89 of file tetrahedron.H.


Constructor & Destructor Documentation

tetrahedron ( const Point &  a,
const Point &  b,
const Point &  c,
const Point &  d 
)
inline

Construct from points.

Definition at line 38 of file tetrahedronI.H.

tetrahedron ( Istream is)
inline

Construct from Istream.

Definition at line 53 of file tetrahedronI.H.

References IOstream::check(), Istream::readBegin(), and Istream::readEnd().


Member Function Documentation

const Point & a ( ) const
inline

Return vertices.

Definition at line 71 of file tetrahedronI.H.

const Point & b ( ) const
inline

Definition at line 78 of file tetrahedronI.H.

const Point & c ( ) const
inline

Definition at line 85 of file tetrahedronI.H.

const Point & d ( ) const
inline

Definition at line 92 of file tetrahedronI.H.

vector Sa ( ) const
inline

Return face normal.

Definition at line 99 of file tetrahedronI.H.

vector Sb ( ) const
inline

Definition at line 106 of file tetrahedronI.H.

vector Sc ( ) const
inline

Definition at line 113 of file tetrahedronI.H.

vector Sd ( ) const
inline

Definition at line 120 of file tetrahedronI.H.

Point centre ( ) const
inline

Return centre (centroid)

Definition at line 127 of file tetrahedronI.H.

scalar mag ( ) const
inline

Return volume.

Definition at line 134 of file tetrahedronI.H.

Point circumCentre ( ) const
inline

Return circum-centre.

Definition at line 141 of file tetrahedronI.H.

References b, Foam::magSqr(), and mu.

scalar circumRadius ( ) const
inline

Return circum-radius.

Definition at line 158 of file tetrahedronI.H.

References Foam::mag().

Foam::pointHit containmentSphere ( const scalar  tol) const

Return (min)containment sphere, i.e. the smallest sphere with.

all points inside. Returns pointHit with:

  • hit : if sphere is equal to circumsphere (biggest sphere)
  • point : centre of sphere
  • distance : radius of sphere
  • eligiblemiss: false Tol (small compared to 1, e.g. 1E-9) is used to determine whether point is inside: mag(pt - ctr) < (1+tol)*radius.

Definition at line 44 of file tetrahedron.C.

References magSqr(), Foam::magSqr(), PointHit< Point >::rawPoint(), PointHit< Point >::setDistance(), PointHit< Point >::setHit(), PointHit< Point >::setMiss(), PointHit< Point >::setPoint(), and Foam::sqrt().

void gradNiSquared ( scalarField buffer) const

Fill buffer with shape function products.

Definition at line 249 of file tetrahedron.C.

References Foam::mag(), and magSqr().

void gradNiDotGradNj ( scalarField buffer) const

Definition at line 270 of file tetrahedron.C.

References Foam::mag().

void gradNiGradNi ( tensorField buffer) const

Definition at line 300 of file tetrahedron.C.

References Foam::mag(), and sqr().

void gradNiGradNj ( tensorField buffer) const

Definition at line 318 of file tetrahedron.C.

References Foam::mag().


Friends And Related Function Documentation

Istream& operator>> ( Istream ,
tetrahedron< Point, PointRef > &   
)
friend
Ostream& operator ( Ostream ,
const tetrahedron< Point, PointRef > &   
)
friend

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