QuOc

 

Public Types | Public Member Functions | Protected Member Functions

tpcfe::CFETPOSBandMatrix< GridType > Class Template Reference

#include <tpCFEMatrices.h>

Inheritance diagram for tpcfe::CFETPOSBandMatrix< GridType >:
aol::GenBandMatrix< GridType::RealType > aol::Matrix< GridType::RealType > aol::MatrixAbstractBase< GridType::RealType > aol::GenSparseOp< GridType::RealType > aol::Op< aol::Vector< GridType::RealType > >

List of all members.

Public Types

typedef GridType::RealType DataType

Public Member Functions

void printStatistics ()
void makeRowEntries (std::vector< typename aol::Row< DataType >::RowEntry > &vec, const int RowNum) const
 makeRowEntries, here only copying nonzero entries (this makes sense as we have lots of zero entries stored)

Protected Member Functions

 CFETPOSBandMatrix (const GridType &grid)
 CFETPOSBandMatrix (const int rows, const int cols)

Detailed Description

template<typename GridType>
class tpcfe::CFETPOSBandMatrix< GridType >

Common basis class for CFE_TPOS and CFE_TPOSELAST. Constructor is protected so it cannot be used on its own

Definition at line 1065 of file tpCFEMatrices.h.


Member Typedef Documentation

template<typename GridType>
typedef GridType::RealType tpcfe::CFETPOSBandMatrix< GridType >::DataType

Reimplemented from aol::GenBandMatrix< GridType::RealType >.

Definition at line 1067 of file tpCFEMatrices.h.


Constructor & Destructor Documentation

template<typename GridType>
tpcfe::CFETPOSBandMatrix< GridType >::CFETPOSBandMatrix ( const GridType &  grid  )  [inline, explicit, protected]

Definition at line 1070 of file tpCFEMatrices.h.

                                                      : aol::GenBandMatrix<DataType> ( grid.getNumberOfNodes(), grid.getNumberOfNodes() ) {
    if ( grid.getGridDepth() < 3 ) {
      throw aol::Exception ( "CFEBandMatrix<DataType, CFE_TPOS>: grid level too small. Will not work and would not be useful.", __FILE__, __LINE__ );
    }

    aol::Vector<int> offsetVector ( aol::Cub ( 7 ) );
    short i = 0;
    for ( qc::RectangularIterator<qc::QC_3D> lit ( qc::CoordType ( -3, -3, -3 ), qc::CoordType ( 4, 4, 4 ) ); lit.notAtEnd(); ++lit, ++i ) {
      offsetVector[i] = qc::ILexCombine3 ( ( *lit ) [0], ( *lit ) [1], ( *lit ) [2], grid.getNumX(), grid.getNumY() );
    }

    this->reallocate ( grid.getNumberOfNodes(), grid.getNumberOfNodes(), offsetVector );
  }

template<typename GridType>
tpcfe::CFETPOSBandMatrix< GridType >::CFETPOSBandMatrix ( const int  rows,
const int  cols 
) [inline, protected]

Definition at line 1085 of file tpCFEMatrices.h.

                                                       : aol::GenBandMatrix< DataType > ( rows, cols ) {
    throw aol::Exception ( "CFEBandMatrix( const int rows, const int cols ) constructor is not useful.", __FILE__, __LINE__ );
  }


Member Function Documentation

template<typename GridType>
void tpcfe::CFETPOSBandMatrix< GridType >::makeRowEntries ( std::vector< typename aol::Row< DataType >::RowEntry > &  vec,
const int  RowNum 
) const [inline]

makeRowEntries, here only copying nonzero entries (this makes sense as we have lots of zero entries stored)

Definition at line 1093 of file tpCFEMatrices.h.

                                                                                                     {
    vec.clear();
    vec.reserve ( this->_endApply[ RowNum ] - this->_startApply[ RowNum ] );
    for ( int j = this->_startApply[RowNum]; j < this->_endApply[RowNum]; ++j ) {
      const DataType value = this->_pData[ this->map_index ( j, RowNum ) ];
      if ( value != aol::NumberTrait<DataType>::zero ) {
        vec.push_back ( typename aol::Row<DataType>::RowEntry ( RowNum + this->_localToGlobal[j], value ) );
      }
    }
  }

template<typename GridType>
void tpcfe::CFETPOSBandMatrix< GridType >::printStatistics (  )  [inline]

Definition at line 1090 of file tpCFEMatrices.h.

{ }


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

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