QuOc

 

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

qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType > Class Template Reference

#include <simplexConfigurators.h>

Inheritance diagram for qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >:
qc::simplex::ConfiguratorTraitBase< _RealType, _InitType >

List of all members.

Public Types

typedef ConfiguratorTraitBase
< _RealType, _InitType > 
Base
typedef _QuadType QuadType
typedef Base::RealType RealType
typedef Base::InitType InitType
typedef Base::VectorType VectorType
typedef Base::ElementType ElementType
typedef Base::ElementIteratorType ElementIteratorType
typedef Base::FullMatrixType FullMatrixType
typedef qc::BitArray< QC_3D > MaskType
typedef aol::Vec3< RealTypeVecType
typedef aol::BarCoord< QC_3D,
RealType
DomVecType
typedef aol::Matrix33< RealTypeMatType
typedef MultilinFEBandMatrix
< RealType, QC_3D > 
MatrixType
typedef qc::ScalarArray
< RealType, qc::QC_3D > 
ArrayType
typedef BaseFunctionSetTFE
< RealType, QC_3D, QuadType
BaseFuncSetType
typedef ConfiguratorTraitTFE
< RealType, QC_3D, QuadType,
InitType
FullGridConfiguratorType
typedef FastILexMapper
< _InitType::IndexMode,
typename
InitType::CubicGridType, QC_3D > 
IndexMapperType
typedef BaseFunctionCollection
< RealType, QuadType, QC_3D > 
BFSCollection

Public Member Functions

 ConfiguratorTraitTFE (const InitType &Grid, const VectorType &LevelValues, RealType BandRadius)
 usual constructor
 ConfiguratorTraitTFE (const ConfiguratorTraitTFE< RealType, Dim, QuadType, InitType > &other)
int maxNumQuadPoints () const
int getNumGlobalDofs () const
void splitGlobalIndex (int globalIndex, int &x, int &y, int &z) const
const BaseFuncSetTypegetBaseFunctionSet (const ElementType &El) const
int localToGlobal (const ElementType &El, int LocalIndex) const
void localToGlobal (const ElementType &El, int localIndex0, int localIndex1, aol::Vec2< int > &glob) const
RealType vol (const ElementType &El) const
MatrixTypecreateNewMatrix () const
void writeNodeExistMaskTo (MaskType &existMask) const
const MaskTypegetNodeExistMask () const

Static Public Member Functions

static int getNumLocalDofs (const ElementType &)

Static Public Attributes

static const int maxNumLocalDofs = 4
static const Dimension Dim = QC_3D
static const Dimension DimOfWorld = QC_3D
static const Dimension DomDim = QC_3D
static const
aol::GridGlobalIndexMode 
IndexMode = InitType::IndexMode

Protected Attributes

IndexMapperType _indexMapper
BFSCollection _bfsCollection
auto_ptr< MaskType_nodeExistMask

Detailed Description

template<typename _RealType, typename _QuadType, typename _InitType>
class qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >

configurator for cut-off linear basis functions on tetrahedra

Author:
von Deylen (july 2008)

Definition at line 561 of file simplexConfigurators.h.


Member Typedef Documentation

template<typename _RealType , typename _QuadType , typename _InitType >
typedef qc::ScalarArray<RealType, qc::QC_3D> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::ArrayType

Definition at line 577 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef ConfiguratorTraitBase<_RealType, _InitType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::Base

Definition at line 564 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef BaseFunctionSetTFE<RealType, QC_3D, QuadType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::BaseFuncSetType

Definition at line 578 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef BaseFunctionCollection<RealType, QuadType, QC_3D> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::BFSCollection

Definition at line 583 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef aol::BarCoord<QC_3D, RealType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::DomVecType

Definition at line 574 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::ElementIteratorType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::ElementIteratorType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::ElementType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::ElementType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef ConfiguratorTraitTFE<RealType, QC_3D, QuadType, InitType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::FullGridConfiguratorType

Definition at line 580 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::FullMatrixType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::FullMatrixType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef FastILexMapper<_InitType::IndexMode, typename InitType::CubicGridType, QC_3D> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::IndexMapperType

Definition at line 582 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::InitType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::InitType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef qc::BitArray<QC_3D> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::MaskType

Definition at line 572 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef MultilinFEBandMatrix<RealType, QC_3D> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::MatrixType

Definition at line 576 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef aol::Matrix33<RealType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::MatType

Definition at line 575 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef _QuadType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::QuadType

Definition at line 565 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::RealType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::RealType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef Base::VectorType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::VectorType
template<typename _RealType , typename _QuadType , typename _InitType >
typedef aol::Vec3<RealType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::VecType

Definition at line 573 of file simplexConfigurators.h.


Constructor & Destructor Documentation

template<typename _RealType , typename _QuadType , typename _InitType >
qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::ConfiguratorTraitTFE ( const InitType Grid,
const VectorType LevelValues,
RealType  BandRadius 
) [inline]

usual constructor

Definition at line 592 of file simplexConfigurators.h.

      : ConfiguratorTraitBase<_RealType, _InitType> ( Grid )
      , _indexMapper ( GridSize<QC_3D> ( Grid ) ) 
      , _bfsCollection ( Grid, LevelValues, BandRadius, _indexMapper )
  {}

template<typename _RealType , typename _QuadType , typename _InitType >
qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::ConfiguratorTraitTFE ( const ConfiguratorTraitTFE< RealType, Dim, QuadType, InitType > &  other  )  [inline, explicit]

copy constructor

copies everything like the implicit copy constructor, only the Mask pointer is not copied and will be newly created when accessed on the copy for the first time.

Note:
Be aware that copying this costructor is quite expensive, due to its base function set collection.

Definition at line 606 of file simplexConfigurators.h.

      : ConfiguratorTraitBase<_RealType, _InitType> ( other )
      , _indexMapper ( other._indexMapper )
      , _bfsCollection ( other._bfsCollection )
  {}


Member Function Documentation

template<typename _RealType , typename _QuadType , typename _InitType >
MatrixType* qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::createNewMatrix (  )  const [inline]

Definition at line 650 of file simplexConfigurators.h.

                                       {
    MatrixType *mat =
      new MatrixType ( this->getInitializer().getCubicGrid() );
    return mat;
  }

template<typename _RealType , typename _QuadType , typename _InitType >
const BaseFuncSetType& qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::getBaseFunctionSet ( const ElementType El  )  const [inline]

Definition at line 630 of file simplexConfigurators.h.

                                                      {
    return _bfsCollection.getBaseFunctionSet
            ( this->getInitializer().getElementIndex ( El ) );
  }

template<typename _RealType , typename _QuadType , typename _InitType >
const MaskType& qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::getNodeExistMask (  )  const [inline]

Definition at line 664 of file simplexConfigurators.h.

                                             {
    _nodeExistMask.reset ( new MaskType ( this->getInitializer().getCubicGrid() ) );
    writeNodeExistMaskTo ( *_nodeExistMask );
    return *_nodeExistMask;
  }

template<typename _RealType , typename _QuadType , typename _InitType >
int qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::getNumGlobalDofs (  )  const [inline]

Definition at line 620 of file simplexConfigurators.h.

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

template<typename _RealType , typename _QuadType , typename _InitType >
static int qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::getNumLocalDofs ( const ElementType  )  [inline, static]

Definition at line 616 of file simplexConfigurators.h.

                                                            {
    return maxNumLocalDofs;
  }

template<typename _RealType , typename _QuadType , typename _InitType >
void qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::localToGlobal ( const ElementType El,
int  localIndex0,
int  localIndex1,
aol::Vec2< int > &  glob 
) const [inline]

Definition at line 639 of file simplexConfigurators.h.

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

template<typename _RealType , typename _QuadType , typename _InitType >
int qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::localToGlobal ( const ElementType El,
int  LocalIndex 
) const [inline]

Definition at line 635 of file simplexConfigurators.h.

                                                                     {
    return _indexMapper.localToGlobal ( El, LocalIndex );
  }

template<typename _RealType , typename _QuadType , typename _InitType >
int qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::maxNumQuadPoints (  )  const [inline]

Definition at line 612 of file simplexConfigurators.h.

                                {
    return 3;
  }

template<typename _RealType , typename _QuadType , typename _InitType >
void qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::splitGlobalIndex ( int  globalIndex,
int x,
int y,
int z 
) const [inline]

Definition at line 624 of file simplexConfigurators.h.

                                                                             {
    _indexMapper.splitGlobalIndex ( globalIndex, x, y, z );
  }

template<typename _RealType , typename _QuadType , typename _InitType >
RealType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::vol ( const ElementType El  )  const [inline]

Definition at line 646 of file simplexConfigurators.h.

                                                {
    return getBaseFunctionSet( El ).getVolume();
  }

template<typename _RealType , typename _QuadType , typename _InitType >
void qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::writeNodeExistMaskTo ( MaskType existMask  )  const [inline]

Definition at line 656 of file simplexConfigurators.h.

                                                           {
    existMask.setAll ( false );
    for ( ElementIteratorType iter = this->begin(); iter != this->end(); ++iter ) {
      for ( int i = 0; i < getNumLocalDofs ( *iter ); ++i )
        existMask.set ( localToGlobal ( *iter, i ), true );
    }
  }


Member Data Documentation

template<typename _RealType , typename _QuadType , typename _InitType >
BFSCollection qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::_bfsCollection [protected]

Definition at line 672 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
IndexMapperType qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::_indexMapper [protected]

Definition at line 671 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
auto_ptr<MaskType> qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::_nodeExistMask [mutable, protected]

Definition at line 673 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
const Dimension qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::Dim = QC_3D [static]

Definition at line 586 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
const Dimension qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::DimOfWorld = QC_3D [static]

Definition at line 587 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
const Dimension qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::DomDim = QC_3D [static]

Definition at line 588 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
const aol::GridGlobalIndexMode qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::IndexMode = InitType::IndexMode [static]

Definition at line 589 of file simplexConfigurators.h.

template<typename _RealType , typename _QuadType , typename _InitType >
const int qc::simplex::ConfiguratorTraitTFE< _RealType, QC_3D, _QuadType, _InitType >::maxNumLocalDofs = 4 [static]

Definition at line 585 of file simplexConfigurators.h.


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

Generated on Fri Sep 9 2011 21:10:02 for QuocMesh by doxygen 1.7.1