Public Member Functions
TSFExtended::IncrementallyConfigurableMatrixFactory Class Reference

Class IncrementallyConfigurableMatrixFactory provides an abstract interface for row-at-a-time configuration of matrix factories. More...

Inheritance diagram for TSFExtended::IncrementallyConfigurableMatrixFactory:
TSFExtended::EpetraMatrixFactory TSFExtended::PartitionedMatrixFactory

List of all members.

Public Member Functions

virtual ~IncrementallyConfigurableMatrixFactory ()
 Virtual dtor.
virtual void initializeNonzerosInRow (int globalRowIndex, int nElemsToInsert, const int *globalColumnIndices)=0
 Initialize a set of nonzero elements in the matrix's graph.
virtual void initializeNonzeroBatch (int numRows, int rowBlockSize, const int *globalRowIndices, int numColumnsPerRow, const int *globalColumnIndices, const int *skipRow)
 Initialize nonzeros in a batch of rows.
virtual void finalize ()=0
 Finalize values of the matrix.

Detailed Description

Class IncrementallyConfigurableMatrixFactory provides an abstract interface for row-at-a-time configuration of matrix factories.

Definition at line 40 of file TSFIncrementallyConfigurableMatrixFactory.hpp.


Constructor & Destructor Documentation

virtual TSFExtended::IncrementallyConfigurableMatrixFactory::~IncrementallyConfigurableMatrixFactory ( ) [inline, virtual]

Virtual dtor.

Definition at line 44 of file TSFIncrementallyConfigurableMatrixFactory.hpp.


Member Function Documentation

virtual void TSFExtended::IncrementallyConfigurableMatrixFactory::finalize ( ) [pure virtual]

Finalize values of the matrix.

This is a hook for any implementation-dependent steps that must be done after loading of elements.

Implemented in TSFExtended::EpetraMatrixFactory, and TSFExtended::PartitionedMatrixFactory.

Referenced by Sundance::Assembler::configureMatrixBlock(), TSFExtended::HeatOperator1D::HeatOperator1D(), TSFExtended::MatrixLaplacian1D::init(), and TSFExtended::PoissonBoltzmannJacobian::setEvalPoint().

void TSFExtended::IncrementallyConfigurableMatrixFactory::initializeNonzeroBatch ( int  numRows,
int  rowBlockSize,
const int *  globalRowIndices,
int  numColumnsPerRow,
const int *  globalColumnIndices,
const int *  skipRow 
) [inline, virtual]

Initialize nonzeros in a batch of rows.

Reimplemented in TSFExtended::EpetraMatrixFactory.

Definition at line 80 of file TSFIncrementallyConfigurableMatrixFactory.hpp.

virtual void TSFExtended::IncrementallyConfigurableMatrixFactory::initializeNonzerosInRow ( int  globalRowIndex,
int  nElemsToInsert,
const int *  globalColumnIndices 
) [pure virtual]

Initialize a set of nonzero elements in the matrix's graph.

Parameters:
globalRowIndexthe global index of the row to which these elements belong.
nElemsToInsertthe number of elements being inserted in this step
globalColumnIndicesarray of column indices. Must be nElemsToInsert in length.

Implemented in TSFExtended::EpetraMatrixFactory, and TSFExtended::PartitionedMatrixFactory.

Referenced by TSFExtended::HeatOperator1D::HeatOperator1D(), Sundance::Assembler::incrementalGetGraph(), TSFExtended::MatrixLaplacian1D::init(), and TSFExtended::PoissonBoltzmannJacobian::setEvalPoint().

Site Contact