QuadratureFormulaQ2Hexahedron Class Reference

#include <QuadratureFormula.hpp>

Inheritance diagram for QuadratureFormulaQ2Hexahedron:

Inheritance graph
[legend]
Collaboration diagram for QuadratureFormulaQ2Hexahedron:

Collaboration graph
[legend]

List of all members.

Public Types

enum  { numberOfQuadraturePoints = 27 }

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
 QuadratureFormulaQ2Hexahedron ()

Static Public Member Functions

static
QuadratureFormulaQ2Hexahedron
instance ()
static void create ()
static void destroy ()

Static Protected Attributes

static
QuadratureFormulaQ2Hexahedron
__pInstance

Private Member Functions

void __setQuadratureVertices ()

Private Attributes

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


Detailed Description

Definition at line 452 of file QuadratureFormula.hpp.


Member Enumeration Documentation

anonymous enum

Enumerator:
numberOfQuadraturePoints 

Definition at line 456 of file QuadratureFormula.hpp.

00456        {
00457     numberOfQuadraturePoints = 27
00458   };


Constructor & Destructor Documentation

QuadratureFormulaQ2Hexahedron::QuadratureFormulaQ2Hexahedron (  )  [inline]

Definition at line 485 of file QuadratureFormula.hpp.

References __setQuadratureVertices().

00486   {
00487     this->__setQuadratureVertices();
00488   }

Here is the call graph for this function:


Member Function Documentation

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

Definition at line 465 of file QuadratureFormula.hpp.

References __integrationVertices.

00466   {
00467     return __integrationVertices[i];
00468   }

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

Definition at line 470 of file QuadratureFormula.hpp.

References __integrationVertices.

Referenced by Q2HexahedronFiniteElement::integrationVertices().

00471   {
00472     return __integrationVertices;
00473   }

size_t QuadratureFormulaQ2Hexahedron::numberOfVertices (  )  const [inline]

Definition at line 475 of file QuadratureFormula.hpp.

References numberOfQuadraturePoints.

00476   {
00477     return numberOfQuadraturePoints;
00478   }

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

Definition at line 480 of file QuadratureFormula.hpp.

References __weight.

00481   {
00482     return __weight[i];
00483   }

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

Definition at line 491 of file QuadratureFormula.hpp.

References __integrationVertices, __weight, and numberOfQuadraturePoints.

Referenced by QuadratureFormulaQ2Hexahedron().

00492   {
00493     TinyVector<3, real_t> weight1D(5./18.,8./18.,5./18.);
00494 
00495     TinyVector<3, real_t> X;
00496     
00497     X[0] = 0.5 - std::sqrt(15.)/10.;
00498     X[1] = 0.5;
00499     X[2] = 0.5 + std::sqrt(15.)/10.;
00500 
00501     for (size_t i=0; i<numberOfQuadraturePoints; ++i) {
00502       // tensorial weight
00503       __weight[i] = weight1D[i%3]*weight1D[(i/3)%3]*weight1D[(i/9)%3];
00504 
00505       __integrationVertices[i][0] = X[i%3];
00506       __integrationVertices[i][1] = X[(i/3)%3];
00507       __integrationVertices[i][2] = X[(i/9)%3];
00508     }
00509   }

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

Access to auto instanciated static;

Returns:
*__pInstance

Definition at line 46 of file StaticBase.hpp.

Referenced by Q2HexahedronFiniteElement::integrationVertices().

00047   {
00048     return *__pInstance;
00049   }

static void StaticBase< QuadratureFormulaQ2Hexahedron >::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< QuadratureFormulaQ2Hexahedron >::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 460 of file QuadratureFormula.hpp.

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

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

Definition at line 462 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:14 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6