QuOc

 

Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Attributes | Private Attributes

qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType > Class Template Reference

#include <configurators.h>

Inheritance diagram for qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >:
qc::QuocConfiguratorTraitBase< _RealType, qc::QC_3D >

List of all members.

Public Types

typedef
qc::QuocConfiguratorTraitMultiLin
< _RealType, qc::QC_3D,
_QuadType, _MatrixType > 
Self
typedef aol::Vector< _RealType > VectorType
typedef aol::Vec3< _RealType > VecType
typedef aol::Vec3< _RealType > DomVecType
typedef aol::Matrix33< _RealType > MatType
typedef _MatrixType MatrixType
typedef
aol::BaseFunctionSetMultiLin
< _RealType, qc::QC_3D,
_QuadType > 
BaseFuncSetType
typedef _QuadType QuadType
typedef _RealType RealType
typedef qc::ScalarArray
< _RealType, qc::QC_3D > 
ArrayType
typedef qc::BitArray< qc::QC_3D > MaskType
typedef aol::FullMatrix< RealTypeFullMatrixType
typedef Self FullGridConfiguratorType

Public Member Functions

 QuocConfiguratorTraitMultiLin (const qc::GridDefinition &Grid)
int getNumLocalDofs (const qc::Element &) const
int getNumGlobalDofs () const
int maxNumQuadPoints () const
const BaseFuncSetTypegetBaseFunctionSet (const qc::Element &) const
int localToGlobal (const qc::Element &El, const int localIndex) const
 returns global index of the dof with number localIndex
void localToGlobal (const qc::Element &El, const int localIndex0, const int localIndex1, aol::Vec2< int > &glob) const
 returns a vec2 of global indices i,j of the dofs with number localIndex_i,j
void getLocalCoords (const VecType &Coord, qc::Element &El, DomVecType &LocalCoord) const
void getGlobalCoords (const qc::Element &El, const DomVecType &LocalCoord, VecType &Coord) const
qc::Element getEmptyElement () const
MatrixTypecreateNewMatrix () const
 create a new, clean matrix
RealType vol (const qc::Element &) const
int getConsecutiveElementNumber (const qc::Element &El) const
 returns consecutive Element Number (ST)

Public Attributes

const RealType _volEl

Static Public Attributes

static const int maxNumLocalDofs = 8
static const qc::Dimension Dim = qc::QC_3D
static const qc::Dimension DomDim = qc::QC_3D
static const
aol::GridGlobalIndexMode 
IndexMode = aol::QUOC_GRID_INDEX_MODE

Protected Attributes

qc::FastILexMapper< qc::QC_3D > _mapper
 that's the index mapper

Private Attributes

aol::BaseFunctionSetMultiLin
< _RealType, qc::QC_3D,
_QuadType > 
_baseFuncSet

Detailed Description

template<typename _RealType, typename _QuadType, typename _MatrixType>
class qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >

Definition at line 301 of file configurators.h.


Member Typedef Documentation

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef qc::ScalarArray<_RealType, qc::QC_3D> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::ArrayType

Definition at line 317 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::BaseFunctionSetMultiLin<_RealType, qc::QC_3D, _QuadType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::BaseFuncSetType

Definition at line 314 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::Vec3<_RealType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::DomVecType

Definition at line 311 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef Self qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::FullGridConfiguratorType

Definition at line 320 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::FullMatrix<RealType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::FullMatrixType

Definition at line 319 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef qc::BitArray<qc::QC_3D> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::MaskType

Reimplemented from qc::QuocConfiguratorTraitBase< _RealType, qc::QC_3D >.

Definition at line 318 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef _MatrixType qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::MatrixType

Definition at line 313 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::Matrix33<_RealType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::MatType

Definition at line 312 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef _QuadType qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::QuadType

Definition at line 315 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef _RealType qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::RealType

Definition at line 316 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef qc::QuocConfiguratorTraitMultiLin<_RealType, qc::QC_3D, _QuadType, _MatrixType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::Self

Definition at line 307 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::Vector<_RealType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::VectorType

Definition at line 309 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
typedef aol::Vec3<_RealType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::VecType

Definition at line 310 of file configurators.h.


Constructor & Destructor Documentation

template<typename _RealType , typename _QuadType , typename _MatrixType >
qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::QuocConfiguratorTraitMultiLin ( const qc::GridDefinition Grid  )  [inline, explicit]

Definition at line 304 of file configurators.h.

    : QuocConfiguratorTraitBase<_RealType, qc::QC_3D> ( Grid ), _baseFuncSet( Grid.H() ), _volEl ( aol::Cub ( Grid.H() ) ), _mapper ( Grid )  {}


Member Function Documentation

template<typename _RealType , typename _QuadType , typename _MatrixType >
MatrixType* qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::createNewMatrix (  )  const [inline]

create a new, clean matrix

Definition at line 391 of file configurators.h.

                                       {
    MatrixType *mat = new MatrixType ( qc::GridSize<qc::QC_3D>::createFrom ( this->_grid ) );
    // mat->clearRows( );
    return mat;
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
const BaseFuncSetType& qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getBaseFunctionSet ( const qc::Element  )  const [inline]

Definition at line 342 of file configurators.h.

                                                                       {
    return _baseFuncSet;
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getConsecutiveElementNumber ( const qc::Element El  )  const [inline]

returns consecutive Element Number (ST)

Definition at line 402 of file configurators.h.

                                                               {
    int ElNum = localToGlobal(El, 0);
    return ElNum - ElNum / this->_grid.getNumX() - ElNum / ( this->_grid.getNumX() * this->_grid.getNumY() ) * ( this->_grid.getNumX() - 1 );
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
qc::Element qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getEmptyElement (  )  const [inline]

Definition at line 386 of file configurators.h.

                                    {
    return qc::Element();
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
void qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getGlobalCoords ( const qc::Element El,
const DomVecType LocalCoord,
VecType Coord 
) const [inline]

Definition at line 380 of file configurators.h.

                                                                                                          {
    for ( int c = 0; c < 3; c++ ) {
      Coord[c] = ( static_cast<RealType> ( El[c] ) + LocalCoord[c] ) * this->_grid.H();
    }
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
void qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getLocalCoords ( const VecType Coord,
qc::Element El,
DomVecType LocalCoord 
) const [inline]

Definition at line 357 of file configurators.h.

                                                                                                   {
    for ( int c = 0; c < 3; c++ ) {
      RealType sc = Coord[c] / this->_grid.H();
      El[c] = static_cast<short> ( sc );
      LocalCoord[c] = sc - El[c];

      // if we are on the right/lower border of the righmost/lowest
      // element, the calculation has given an element out of range.
      if ( El[c] >= this->_grid.getSize()[c] - 1 ) {
        if ( LocalCoord[c] < numeric_limits<RealType>::epsilon() * 50. ) {
          LocalCoord[c]++;
          El[c]--;
        }
        else {
          stringstream msg;
          msg << "ConfType::getLocalCoords (): given global coords " << Coord << " are "
                 "out of range and would give element " << El << ", local coords " << LocalCoord;
          throw aol::Exception ( msg.str(), __FILE__, __LINE__ );
        }
      }
    }
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getNumGlobalDofs (  )  const [inline]

Definition at line 334 of file configurators.h.

                                {
    return this->_grid.getNumberOfNodes();
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::getNumLocalDofs ( const qc::Element  )  const [inline]

Definition at line 330 of file configurators.h.

                                                         {
    return 8;
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::localToGlobal ( const qc::Element El,
const int  localIndex 
) const [inline]

returns global index of the dof with number localIndex

Definition at line 347 of file configurators.h.

                                                                               {
    return _mapper.localToGlobal ( El, localIndex );
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
void qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::localToGlobal ( const qc::Element El,
const int  localIndex0,
const int  localIndex1,
aol::Vec2< int > &  glob 
) const [inline]

returns a vec2 of global indices i,j of the dofs with number localIndex_i,j

Definition at line 352 of file configurators.h.

                                                                                                                            {
    glob[0] = localToGlobal( El, localIndex0 );
    glob[1] = localToGlobal( El, localIndex1 );
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::maxNumQuadPoints (  )  const [inline]

Definition at line 338 of file configurators.h.

                                {
    return _QuadType::numQuadPoints;
  }

template<typename _RealType , typename _QuadType , typename _MatrixType >
RealType qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::vol ( const qc::Element  )  const [inline]

Definition at line 397 of file configurators.h.

                                           {
    return _volEl;
  }


Member Data Documentation

template<typename _RealType , typename _QuadType , typename _MatrixType >
aol::BaseFunctionSetMultiLin<_RealType, qc::QC_3D, _QuadType> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::_baseFuncSet [private]

Definition at line 302 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
qc::FastILexMapper<qc::QC_3D> qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::_mapper [protected]

that's the index mapper

Definition at line 408 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
const RealType qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::_volEl

Definition at line 328 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
const qc::Dimension qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::Dim = qc::QC_3D [static]

Definition at line 324 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
const qc::Dimension qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::DomDim = qc::QC_3D [static]

Definition at line 325 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
const aol::GridGlobalIndexMode qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::IndexMode = aol::QUOC_GRID_INDEX_MODE [static]

Definition at line 326 of file configurators.h.

template<typename _RealType , typename _QuadType , typename _MatrixType >
const int qc::QuocConfiguratorTraitMultiLin< _RealType, qc::QC_3D, _QuadType, _MatrixType >::maxNumLocalDofs = 8 [static]

Definition at line 322 of file configurators.h.


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

Generated on Fri Sep 9 2011 21:09:40 for QuocMesh by doxygen 1.7.1