LifeV
LifeV::MatrixEpetraStructuredUtility Namespace Reference

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...
 

Function Documentation

◆ copyBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::copyBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the block specified in another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 58 of file MatrixEpetraStructuredUtility.hpp.

◆ copyBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::copyBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  srcBlock,
std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock 
)

Copy the block specified in another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 144 of file MatrixEpetraStructuredUtility.hpp.

◆ createZeroBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createZeroBlock ( MatrixEpetraStructuredView< DataType > &  )

Create a block full of zeros.

Parameters
destBlockBlock where the data will be stored

Definition at line 155 of file MatrixEpetraStructuredUtility.hpp.

◆ createZeroBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createZeroBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock)

Create a block full of zeros.

Parameters
destBlockBlock where the data will be stored

Definition at line 167 of file MatrixEpetraStructuredUtility.hpp.

◆ createScalarBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createScalarBlock ( const MatrixEpetraStructuredView< DataType > &  destBlock,
const DataType &  diagonalValue 
)

Create a block with an identical value on the diagonal.

Parameters
destBlockBlock where the data will be stored
diagonalValueValue to be inserted in the diagonal

Definition at line 178 of file MatrixEpetraStructuredUtility.hpp.

◆ createScalarBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createScalarBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock,
const DataType &  diagonalValue 
)

Create a block with an identical value on the diagonal.

Parameters
destBlockBlock where the data will be stored
diagonalValueValue to be inserted in the diagonal

Definition at line 218 of file MatrixEpetraStructuredUtility.hpp.

◆ createIdentityBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createIdentityBlock ( const MatrixEpetraStructuredView< DataType > &  destBlock)

Create a block with ones on the diagonal.

Parameters
destBlockBlock where the data will be stored

Definition at line 228 of file MatrixEpetraStructuredUtility.hpp.

◆ createIdentityBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createIdentityBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock)

Create a block with ones on the diagonal.

Parameters
destBlockBlock where the data will be stored

Definition at line 238 of file MatrixEpetraStructuredUtility.hpp.

◆ createDiagBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createDiagBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the diagonal of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 249 of file MatrixEpetraStructuredUtility.hpp.

◆ createDiagBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createDiagBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  srcBlock,
std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock 
)

Copy the diagonal of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 324 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvDiagBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createInvDiagBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the inverse of the diagonal of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 336 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvDiagBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 415 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvSquaredDiagBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 427 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvSquaredDiagBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 505 of file MatrixEpetraStructuredUtility.hpp.

◆ createUpperTriangularBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createUpperTriangularBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the upper part of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 517 of file MatrixEpetraStructuredUtility.hpp.

◆ createUpperTriangularBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createUpperTriangularBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  srcBlock,
std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock 
)

Copy the upper part of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 598 of file MatrixEpetraStructuredUtility.hpp.

◆ createLowerTriangularBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createLowerTriangularBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the lower part of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 610 of file MatrixEpetraStructuredUtility.hpp.

◆ createLowerTriangularBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createLowerTriangularBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  srcBlock,
std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock 
)

Copy the lower part of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 691 of file MatrixEpetraStructuredUtility.hpp.

◆ createLumpedBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createLumpedBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the lumped version of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 704 of file MatrixEpetraStructuredUtility.hpp.

◆ createLumpedBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::createLumpedBlock ( std::shared_ptr< MatrixEpetraStructuredView< DataType > >  srcBlock,
std::shared_ptr< MatrixEpetraStructuredView< DataType > >  destBlock 
)

Copy the lumped version of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 778 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvLumpedBlock() [1/2]

void LifeV::MatrixEpetraStructuredUtility::createInvLumpedBlock ( const MatrixEpetraStructuredView< DataType > &  srcBlock,
const MatrixEpetraStructuredView< DataType > &  destBlock 
)

Copy the inverse of the lumped version of the block specified to another block.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 790 of file MatrixEpetraStructuredUtility.hpp.

◆ createInvLumpedBlock() [2/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
destBlockDestination block where the data will be stored

Definition at line 869 of file MatrixEpetraStructuredUtility.hpp.

◆ createMatrixFromBlock() [1/4]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
dstMatrixPointer to be initialized with a new matrix
rowMapRow map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
closeMatrixIf closeMatrix is equal to true, globalAssemble will be called.
Warning
This method is only intended to be used with square blocks!

Definition at line 884 of file MatrixEpetraStructuredUtility.hpp.

◆ createMatrixFromBlock() [2/4]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
dstMatrixPointer to be initialized with a new matrix
rowMapRow map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
closeMatrixIf closeMatrix is equal to true, globalAssemble will be called.
Warning
This method is only intended to be used with square blocks!

Definition at line 915 of file MatrixEpetraStructuredUtility.hpp.

◆ createMatrixFromBlock() [3/4]

void LifeV::MatrixEpetraStructuredUtility::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)

Parameters
srcBlockSource block
dstMatrixPointer to be initialized with a new matrix
domainMapdomain map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
rangeMaprange map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
closeMatrixIf closeMatrix is equal to true, globalAssemble will be called.
Warning
This method is only intended to be used with square blocks!

Definition at line 933 of file MatrixEpetraStructuredUtility.hpp.

◆ createMatrixFromBlock() [4/4]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
srcBlockSource block
dstMatrixPointer to be initialized with a new matrix
domainMapdomain map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
rangeMaprange map. The column map will be defined in MatrixEpetraStructured<DataType>::GlobalAssemble(...,...)
closeMatrixIf closeMatrix is equal to true, globalAssemble will be called.
Warning
This method is only intended to be used with square blocks!

Definition at line 971 of file MatrixEpetraStructuredUtility.hpp.

◆ createBlockView()

std::shared_ptr< MatrixEpetraStructuredView<DataType> > LifeV::MatrixEpetraStructuredUtility::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.

Parameters
matrixPtrPointer on an unstructured matrix
blockStructureStructure to be used to extract block view
rowIndexRow position of the block in the matrix
columnIndexColumn position of the block in the matrix

Definition at line 989 of file MatrixEpetraStructuredUtility.hpp.

◆ fillBlockView() [1/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
matrixPtrPointer on an unstructured matrix
blockStructureStructure to be used to extract block view
rowIndexRow position of the block in the matrix
columnIndexColumn position of the block in the matrix
blockViewblock view to be filled with informations

Definition at line 1019 of file MatrixEpetraStructuredUtility.hpp.

◆ fillBlockView() [2/2]

void LifeV::MatrixEpetraStructuredUtility::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.

Parameters
matrixPtrPointer on an unstructured matrix
blockStructureStructure to be used to extract block view
rowIndexRow position of the block in the matrix
columnIndexColumn position of the block in the matrix
blockViewblock view to be filled with informations

Definition at line 1045 of file MatrixEpetraStructuredUtility.hpp.