ConformTransformationQ1HexahedronJacobian Class Reference

#include <ConformTransformation.hpp>

Collaboration diagram for ConformTransformationQ1HexahedronJacobian:

Collaboration graph
[legend]

List of all members.

Public Member Functions

const TinyMatrix< 3, 3, real_t > & jacobian () const
 return the jacobian of the transformation.
const TinyMatrix< 3, 3, real_t > & invJacobian () const
const real_t & jacobianDet () const
 returns the jacobian of the transformation
const real_t & invJacobian (const size_t i, const size_t j) const
 Returns the value of the invert of the jacobian.
 ConformTransformationQ1HexahedronJacobian (const ConformTransformationQ1Hexahedron &T)

Private Attributes

const
ConformTransformationQ1Hexahedron
__T
TinyMatrix< 3, 3 > __jacobian
TinyMatrix< 3, 3 > __invJacobian
real_t __det


Detailed Description

Definition at line 513 of file ConformTransformation.hpp.


Constructor & Destructor Documentation

ConformTransformationQ1HexahedronJacobian::ConformTransformationQ1HexahedronJacobian ( const ConformTransformationQ1Hexahedron T  )  [inline]

We compute the transposed of the inverse.

Definition at line 551 of file ConformTransformation.hpp.

References __det, __invJacobian, __jacobian, __T, ConformTransformationQ1Hexahedron::dx(), ConformTransformationQ1Hexahedron::dy(), ConformTransformationQ1Hexahedron::dz(), StaticBase< QuadratureFormulaQ1Hexahedron >::instance(), QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints, and QuadratureFormulaQ1Hexahedron::vertices().

00552     : __T(T)
00553   {
00554     const TinyVector<QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints,
00555                      TinyVector<3, real_t> >& IntegrationVertices
00556       = QuadratureFormulaQ1Hexahedron::instance().vertices();
00557 
00558     __jacobian = 0;
00559 
00560     TinyVector<QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints, TinyVector<3, real_t> > dxPhi;
00561     TinyVector<QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints, TinyVector<3, real_t> > dyPhi;
00562     TinyVector<QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints, TinyVector<3, real_t> > dzPhi;
00563 
00564     for (size_t i=0; i<QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints; ++i) {
00565       __T.dx(IntegrationVertices[i][0],
00566              IntegrationVertices[i][1],
00567              IntegrationVertices[i][2],dxPhi[i]);
00568       __T.dy(IntegrationVertices[i][0],
00569              IntegrationVertices[i][1],
00570              IntegrationVertices[i][2],dyPhi[i]);
00571       __T.dz(IntegrationVertices[i][0],
00572              IntegrationVertices[i][1],
00573              IntegrationVertices[i][2],dzPhi[i]);
00574       for (size_t j=0; j<3; ++j) {
00575         __jacobian(0,j) += dxPhi[i][j];
00576         __jacobian(1,j) += dyPhi[i][j];
00577         __jacobian(2,j) += dzPhi[i][j];
00578       }
00579     }
00580 
00581     __jacobian *= 1./QuadratureFormulaQ1Hexahedron::numberOfQuadraturePoints;
00582 
00583     TinyVector<3, TinyVector<3, real_t> > I;
00584     for (size_t i=0; i<3; ++i) {
00585       for (size_t j=0; j<3; ++j)
00586         I[i][j] = (i==j)?1:0;
00587     }
00588 
00589     TinyVector<3,  TinyVector<3, real_t> > J;
00590     __det = ::gaussPivot(__jacobian,I,J);
00591 
00592     for (size_t i=0; i<3; ++i) {
00593       for (size_t j=0; j<3; ++j) {
00595         __invJacobian(j,i) = J[i][j];
00596       }
00597     }
00598   }

Here is the call graph for this function:


Member Function Documentation

const TinyMatrix<3,3,real_t>& ConformTransformationQ1HexahedronJacobian::jacobian (  )  const [inline]

return the jacobian of the transformation.

Definition at line 526 of file ConformTransformation.hpp.

References __jacobian.

00527   {
00528     return __jacobian;
00529   }

const TinyMatrix<3,3,real_t>& ConformTransformationQ1HexahedronJacobian::invJacobian (  )  const [inline]

return the invert of the transposed of the jacobian of the transformation.

Definition at line 534 of file ConformTransformation.hpp.

References __invJacobian.

00535   {
00536     return __invJacobian;
00537   }

const real_t& ConformTransformationQ1HexahedronJacobian::jacobianDet (  )  const [inline]

returns the jacobian of the transformation

Definition at line 540 of file ConformTransformation.hpp.

References __det.

Referenced by Hexahedron::Hexahedron().

00541   {
00542     return __det;
00543   }

const real_t& ConformTransformationQ1HexahedronJacobian::invJacobian ( const size_t  i,
const size_t  j 
) const [inline]

Returns the value of the invert of the jacobian.

Definition at line 546 of file ConformTransformation.hpp.

References __invJacobian.

00547   {
00548     return __invJacobian(i,j);
00549   }


Member Data Documentation


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

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