LifeV
MatrixEpetraStructuredUtility.hpp File Reference

The file contains utility functions to manipulate MatrixEpetraStructuredView objects. More...

+ Include dependency graph for MatrixEpetraStructuredUtility.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 LifeV
 Default Physical Solver.
 
 LifeV::MatrixEpetraStructuredUtility
 

Functions

template<typename DataType >
void copyBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the block specified in another block. More...
 
template<typename DataType >
void copyBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the block specified in another block. More...
 
template<typename DataType >
void createZeroBlock (MatrixEpetraStructuredView< DataType > &)
 Create a block full of zeros. More...
 
template<typename DataType >
void createZeroBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Create a block full of zeros. More...
 
template<typename DataType >
void createScalarBlock (const MatrixEpetraStructuredView< DataType > &destBlock, const DataType &diagonalValue)
 Create a block with an identical value on the diagonal. More...
 
template<typename DataType >
void createScalarBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock, const DataType &diagonalValue)
 Create a block with an identical value on the diagonal. More...
 
template<typename DataType >
void createIdentityBlock (const MatrixEpetraStructuredView< DataType > &destBlock)
 Create a block with ones on the diagonal. More...
 
template<typename DataType >
void createIdentityBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Create a block with ones on the diagonal. More...
 
template<typename DataType >
void createDiagBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createDiagBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createInvDiagBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the inverse of the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createInvDiagBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the inverse of the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createInvSquaredDiagBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the inverse of the square root of the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createInvSquaredDiagBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the inverse of the square root of the diagonal of the block specified to another block. More...
 
template<typename DataType >
void createUpperTriangularBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the upper part of the block specified to another block. More...
 
template<typename DataType >
void createUpperTriangularBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the upper part of the block specified to another block. More...
 
template<typename DataType >
void createLowerTriangularBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the lower part of the block specified to another block. More...
 
template<typename DataType >
void createLowerTriangularBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the lower part of the block specified to another block. More...
 
template<typename DataType >
void createLumpedBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the lumped version of the block specified to another block. More...
 
template<typename DataType >
void createLumpedBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the lumped version of the block specified to another block. More...
 
template<typename DataType >
void createInvLumpedBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, const MatrixEpetraStructuredView< DataType > &destBlock)
 Copy the inverse of the lumped version of the block specified to another block. More...
 
template<typename DataType >
void createInvLumpedBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructuredView< DataType > > destBlock)
 Copy the inverse of the lumped version of the block specified to another block. More...
 
template<typename DataType >
void createMatrixFromBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, std::shared_ptr< MatrixEpetraStructured< DataType > > &destMatrix, const MapEpetra &rowMap, bool closeMatrix=true)
 Create a new matrix from the block specified. More...
 
template<typename DataType >
void createMatrixFromBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructured< DataType > > &destMatrix, const MapEpetra &rowMap, bool closeMatrix=true)
 Create a new matrix from the block specified. More...
 
template<typename DataType >
void createMatrixFromBlock (const MatrixEpetraStructuredView< DataType > &srcBlock, std::shared_ptr< MatrixEpetraStructured< DataType > > &destMatrix, std::shared_ptr< MapEpetra > domainMap, std::shared_ptr< MapEpetra > rangeMap, bool closeMatrix=true)
 Create a new matrix from the block specified (for rectangle matrix) More...
 
template<typename DataType >
void createMatrixFromBlock (std::shared_ptr< MatrixEpetraStructuredView< DataType > > srcBlock, std::shared_ptr< MatrixEpetraStructured< DataType > > &destMatrix, std::shared_ptr< MapEpetra > domainMap, std::shared_ptr< MapEpetra > rangeMap, bool closeMatrix=true)
 Create a new matrix from the block specified. More...
 
template<typename DataType >
std::shared_ptr< MatrixEpetraStructuredView< DataType > > createBlockView (std::shared_ptr< MatrixEpetra< DataType > > matrixPtr, const MatrixBlockStructure &blockStructure, const UInt &rowIndex, const UInt &columnIndex)
 Create a block view using an unstructured matrix and block structure informations. More...
 
template<typename DataType >
void fillBlockView (std::shared_ptr< MatrixEpetra< DataType > > matrixPtr, const MatrixBlockStructure &blockStructure, const UInt &rowIndex, const UInt &columnIndex, MatrixEpetraStructuredView< DataType > &blockView)
 Fill a block view using an unstructured matrix and block structure informations. More...
 
template<typename DataType >
void fillBlockView (std::shared_ptr< MatrixEpetra< DataType > > matrixPtr, const MatrixBlockStructure &blockStructure, const UInt &rowIndex, const UInt &columnIndex, std::shared_ptr< MatrixEpetraStructuredView< DataType > > &blockView)
 Fill a block view using an unstructured matrix and block structure informations. More...
 

Detailed Description

The file contains utility functions to manipulate MatrixEpetraStructuredView objects.

Author
Gwenol Grandperrin gweno.nosp@m.l.gr.nosp@m.andpe.nosp@m.rrin.nosp@m.@epfl.nosp@m..ch
Date
2010-11-08
Todo:
createDiagBlock() and createInvDiagBlock() can be reduced to a single function to avoid copy duplication with the aid of a bit of template meta programming. In fact, a lot of routines in this file bring back to a common block and a specialized work on the single line.

Definition in file MatrixEpetraStructuredUtility.hpp.