QuadratureFormulaP2Tetrahedron Class Reference

#include <QuadratureFormula.hpp>

Inheritance diagram for QuadratureFormulaP2Tetrahedron:

Inheritance graph
[legend]
Collaboration diagram for QuadratureFormulaP2Tetrahedron:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { numberOfQuadraturePoints = 15 }

Public Member Functions

const TinyVector< 3 > & operator[] (const size_t &i) const
const TinyVector
< numberOfQuadraturePoints,
TinyVector< 3 > > & 
vertices () const
size_t numberOfVertices () const
real_t weight (const size_t &i) const
 QuadratureFormulaP2Tetrahedron ()

Static Public Member Functions

static
QuadratureFormulaP2Tetrahedron
instance ()
static void create ()
static void destroy ()

Static Protected Attributes

static
QuadratureFormulaP2Tetrahedron
__pInstance

Private Member Functions

void __setQuadratureVertices ()

Private Attributes

TinyVector
< numberOfQuadraturePoints,
TinyVector< 3 > > 
__integrationVertices
TinyVector
< numberOfQuadraturePoints,
real_t > 
__weight


Detailed Description

Definition at line 618 of file QuadratureFormula.hpp.


Member Enumeration Documentation

anonymous enum

Enumerator:
numberOfQuadraturePoints 

Definition at line 622 of file QuadratureFormula.hpp.

00622        {
00623     numberOfQuadraturePoints = 15
00624   };


Constructor & Destructor Documentation

QuadratureFormulaP2Tetrahedron::QuadratureFormulaP2Tetrahedron (  )  [inline]

Definition at line 652 of file QuadratureFormula.hpp.

References __setQuadratureVertices().

00653   {
00654     this->__setQuadratureVertices();
00655   }

Here is the call graph for this function:


Member Function Documentation

const TinyVector<3>& QuadratureFormulaP2Tetrahedron::operator[] ( const size_t &  i  )  const [inline]

Definition at line 632 of file QuadratureFormula.hpp.

References __integrationVertices.

00633   {
00634     return __integrationVertices[i];
00635   }

const TinyVector<numberOfQuadraturePoints,TinyVector<3> >& QuadratureFormulaP2Tetrahedron::vertices (  )  const [inline]

Definition at line 637 of file QuadratureFormula.hpp.

References __integrationVertices.

Referenced by P2TetrahedronFiniteElement::integrationVertices().

00638   {
00639     return __integrationVertices;
00640   }

size_t QuadratureFormulaP2Tetrahedron::numberOfVertices (  )  const [inline]

Definition at line 642 of file QuadratureFormula.hpp.

References numberOfQuadraturePoints.

00643   {
00644     return numberOfQuadraturePoints;
00645   }

real_t QuadratureFormulaP2Tetrahedron::weight ( const size_t &  i  )  const [inline]

Definition at line 647 of file QuadratureFormula.hpp.

References __weight.

00648   {
00649     return __weight[i];
00650   }

void QuadratureFormulaP2Tetrahedron::__setQuadratureVertices (  )  [inline, private]

Definition at line 657 of file QuadratureFormula.hpp.

References __integrationVertices, and __weight.

Referenced by QuadratureFormulaP2Tetrahedron().

00658   {
00659     const real_t a = (7.+std::sqrt(15))/34.;
00660     const real_t b = (7.-std::sqrt(15))/34.;
00661     const real_t c = (13.-3*std::sqrt(15))/34.;
00662     const real_t d = (13.+3*std::sqrt(15))/34.;
00663     const real_t e = (5.-std::sqrt(15))/20.;
00664     const real_t f = (5.+std::sqrt(15))/20.;
00665     const real_t h = (2665-14*std::sqrt(15))/226800.;
00666     const real_t i = (2665+14*std::sqrt(15))/226800.;
00667 
00668     __integrationVertices[0] = TinyVector<3, real_t>(1./4., 1./4., 1./4.);
00669     __weight[ 0] = 8./405.;
00670     __integrationVertices[ 1] = TinyVector<3, real_t>(a,a,a);
00671     __weight[ 1] = h;
00672     __integrationVertices[ 2] = TinyVector<3, real_t>(a,a,c);
00673     __weight[ 2] = h;
00674     __integrationVertices[ 3] = TinyVector<3, real_t>(a,c,a);
00675     __weight[ 3] = h;
00676     __integrationVertices[ 4] = TinyVector<3, real_t>(c,a,a);
00677     __weight[ 4] = h;
00678     __integrationVertices[ 5] = TinyVector<3, real_t>(b,b,b);
00679     __weight[ 5] = i;
00680     __integrationVertices[ 6] = TinyVector<3, real_t>(b,b,d);
00681     __weight[ 6] = i;
00682     __integrationVertices[ 7] = TinyVector<3, real_t>(b,d,b);
00683     __weight[ 7] = i;
00684     __integrationVertices[ 8] = TinyVector<3, real_t>(d,b,b);
00685     __weight[ 8] = i;
00686     __integrationVertices[ 9] = TinyVector<3, real_t>(e,e,f);
00687     __weight[ 9] = 5./567.;
00688     __integrationVertices[10] = TinyVector<3, real_t>(e,f,e);
00689     __weight[10] = 5./567.;
00690     __integrationVertices[11] = TinyVector<3, real_t>(f,e,e);
00691     __weight[11] = 5./567.;
00692     __integrationVertices[12] = TinyVector<3, real_t>(e,f,f);
00693     __weight[12] = 5./567.;
00694     __integrationVertices[13] = TinyVector<3, real_t>(f,e,f);
00695     __weight[13] = 5./567.;
00696     __integrationVertices[14] = TinyVector<3, real_t>(f,f,e);
00697     __weight[14] = 5./567.;
00698   }

static QuadratureFormulaP2Tetrahedron & StaticBase< QuadratureFormulaP2Tetrahedron >::instance (  )  [inline, static, inherited]

Access to auto instanciated static;

Returns:
*__pInstance

Definition at line 46 of file StaticBase.hpp.

Referenced by P2TetrahedronFiniteElement::integrationVertices().

00047   {
00048     return *__pInstance;
00049   }

static void StaticBase< QuadratureFormulaP2Tetrahedron >::create (  )  [inline, static, inherited]

Creates __pInstance in Embedding class.

Definition at line 55 of file StaticBase.hpp.

Referenced by ThreadStaticCenter::ThreadStaticCenter().

00056   {
00057     __pInstance = new EmbeddingClass();
00058   }

static void StaticBase< QuadratureFormulaP2Tetrahedron >::destroy (  )  [inline, static, inherited]

Destroyes __autoInstanciated in Embedding class.

Definition at line 64 of file StaticBase.hpp.

Referenced by ThreadStaticCenter::~ThreadStaticCenter().

00065   {
00066     delete __pInstance;
00067   }


Member Data Documentation

Definition at line 627 of file QuadratureFormula.hpp.

Referenced by __setQuadratureVertices(), operator[](), and vertices().

TinyVector<numberOfQuadraturePoints, real_t> QuadratureFormulaP2Tetrahedron::__weight [private]

Definition at line 629 of file QuadratureFormula.hpp.

Referenced by __setQuadratureVertices(), and weight().

The static variable

Definition at line 37 of file StaticBase.hpp.


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

Generated on Wed Nov 19 00:12:09 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6