LifeV
|
MatrixBlockStructure - class representing the structure of a vector. More...
#include <MatrixBlockStructure.hpp>
Private Attributes | |
VectorBlockStructure | M_rowsBlockStructure |
VectorBlockStructure | M_columnsBlockStructure |
Public Types | |
typedef Real | data_Type |
Type of data stored. More... | |
typedef MapEpetra | map_Type |
Type of the map to be used. More... | |
typedef MapVector< map_Type > | mapVector_Type |
Type of the MapVector to be used with this class. More... | |
typedef MapEpetraType | mapType_Type |
Type of the map (Unique/Repeated) More... | |
Constructor & Destructor | |
MatrixBlockStructure () | |
Default constructor. More... | |
MatrixBlockStructure (const map_Type &rowMap, const map_Type &columnMap) | |
Constructor with the monolithic maps. More... | |
MatrixBlockStructure (const map_Type &map) | |
Constructor with a unique monolithic map. More... | |
MatrixBlockStructure (const mapVector_Type &rowMapVector, const mapVector_Type &columnMapVector) | |
Construction with a map. More... | |
MatrixBlockStructure (const mapVector_Type &mapVector) | |
Construction with a map. More... | |
MatrixBlockStructure (const VectorBlockStructure &rowsBlockStructure, const VectorBlockStructure &columnsBlockStructure) | |
Construction with row and column structure. More... | |
MatrixBlockStructure (const VectorBlockStructure &vectorStructure) | |
Construction with vector structure. More... | |
MatrixBlockStructure (const MatrixBlockStructure &blockStructure) | |
Copy constructor. More... | |
~MatrixBlockStructure () | |
Destructor. More... | |
Set Methods | |
void | setBlockStructure (const std::vector< UInt > &blockNumRows, const std::vector< UInt > &blockNumColumns) |
void | setBlockStructure (const std::vector< UInt > &blocksSize) |
void | setBlockStructure (const MapVector< MapEpetra > &rowMapVector, const MapVector< MapEpetra > &columnMapVector) |
void | setBlockStructure (const MapVector< MapEpetra > &mapVector) |
void | setBlockStructure (const MatrixBlockStructure &blockStructure) |
Set the block structure from a matrix structure object. More... | |
void | setBlockStructure (const VectorBlockStructure &rowsBlockStructure, const VectorBlockStructure &columnsBlockStructure) |
Set the block structure from row and column structures. More... | |
void | setBlockStructure (const VectorBlockStructure &vectorBlockStructure) |
Set the block structure from row and column structures. More... | |
Get Methods | |
UInt | blockNumRows (const UInt &rowIndex) const |
Returns the number of rows of the block. More... | |
UInt | blockNumColumns (const UInt &columnIndex) const |
Returns the number of columns of the block. More... | |
UInt | rowBlockFirstIndex (const UInt &index) const |
UInt | columnBlockFirstIndex (const UInt &index) const |
UInt | numRowBlocks () const |
Number of row blocks. More... | |
UInt | numColumnBlocks () const |
Number of column blocks. More... | |
UInt | numRows () const |
Number of rows. More... | |
UInt | numColumns () const |
Number of rows. More... | |
const VectorBlockStructure & | rowsBlockStructure () const |
Get the rows block structure. More... | |
const VectorBlockStructure & | columnsBlockStructure () const |
Get the columns block structure. More... | |
MatrixBlockStructure - class representing the structure of a vector.
Definition at line 52 of file MatrixBlockStructure.hpp.
Type of data stored.
Definition at line 60 of file MatrixBlockStructure.hpp.
Type of the map to be used.
Definition at line 63 of file MatrixBlockStructure.hpp.
typedef MapVector<map_Type> mapVector_Type |
Type of the MapVector to be used with this class.
Definition at line 66 of file MatrixBlockStructure.hpp.
typedef MapEpetraType mapType_Type |
Type of the map (Unique/Repeated)
Definition at line 69 of file MatrixBlockStructure.hpp.
Default constructor.
Definition at line 44 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const map_Type & | rowMap, |
const map_Type & | columnMap | ||
) |
Constructor with the monolithic maps.
Definition at line 50 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const map_Type & | map | ) |
Constructor with a unique monolithic map.
Definition at line 57 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const mapVector_Type & | rowMapVector, |
const mapVector_Type & | columnMapVector | ||
) |
Construction with a map.
With this constructor, the block structure is automatically deduced from the maps in the vectors. The monolithic map and vectors are also built by concatenating the different maps in the vector.
Definition at line 63 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const mapVector_Type & | mapVector | ) |
Construction with a map.
With this constructor, the block structure is automatically deduced from the maps in the vector. The monolithic map and vectors are also built by concatenating the different maps in the vector.
Definition at line 70 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const VectorBlockStructure & | rowsBlockStructure, |
const VectorBlockStructure & | columnsBlockStructure | ||
) |
Construction with row and column structure.
Definition at line 76 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const VectorBlockStructure & | vectorStructure | ) |
Construction with vector structure.
Definition at line 83 of file MatrixBlockStructure.cpp.
MatrixBlockStructure | ( | const MatrixBlockStructure & | blockStructure | ) |
Copy constructor.
Definition at line 89 of file MatrixBlockStructure.cpp.
~MatrixBlockStructure | ( | ) |
Destructor.
Definition at line 96 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const std::vector< UInt > & | blockNumRows, |
const std::vector< UInt > & | blockNumColumns | ||
) |
Set the size of the blocks of the matrix
blockNumRows | Number of rows in the blocks |
blockNumColumns | Number of columns in the blocks |
Definition at line 106 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const std::vector< UInt > & | blocksSize | ) |
Set the size of the blocks of the matrix
blocksSize | Number of rows/columns in the blocks |
Definition at line 114 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const MapVector< MapEpetra > & | rowMapVector, |
const MapVector< MapEpetra > & | columnMapVector | ||
) |
Set the size of the blocks of the matrix using the maps stored in the vector of map. The resulting block structure in symmetric (same blocks in the rows and in the columns).
This method does not involve large computations. The global size and the map of the matrix cannot be changed with this method (and the block structure has to be compatible with the global size).
Definition at line 121 of file MatrixBlockStructure.cpp.
Set the size of the blocks of the matrix using the maps stored in the vector of map. The resulting block structure in symmetric (same blocks in the rows and in the columns).
This method does not involve large computations. The global size and the map of the matrix cannot be changed with this method (and the block structure has to be compatible with the global size).
Definition at line 129 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const MatrixBlockStructure & | blockStructure | ) |
Set the block structure from a matrix structure object.
Definition at line 136 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const VectorBlockStructure & | rowsBlockStructure, |
const VectorBlockStructure & | columnsBlockStructure | ||
) |
Set the block structure from row and column structures.
Definition at line 143 of file MatrixBlockStructure.cpp.
void setBlockStructure | ( | const VectorBlockStructure & | vectorBlockStructure | ) |
Set the block structure from row and column structures.
Definition at line 151 of file MatrixBlockStructure.cpp.
Returns the number of rows of the block.
rowIndex | Row index of the block |
Definition at line 162 of file MatrixBlockStructure.cpp.
Returns the number of columns of the block.
columnIndex | Column index of the block |
Definition at line 168 of file MatrixBlockStructure.cpp.
index | Index of the block |
Definition at line 174 of file MatrixBlockStructure.cpp.
index | Index of the block |
Definition at line 180 of file MatrixBlockStructure.cpp.
UInt numRowBlocks | ( | ) | const |
Number of row blocks.
Definition at line 186 of file MatrixBlockStructure.cpp.
UInt numColumnBlocks | ( | ) | const |
Number of column blocks.
Definition at line 192 of file MatrixBlockStructure.cpp.
UInt numRows | ( | ) | const |
Number of rows.
Definition at line 198 of file MatrixBlockStructure.cpp.
UInt numColumns | ( | ) | const |
Number of rows.
Definition at line 204 of file MatrixBlockStructure.cpp.
const VectorBlockStructure & rowsBlockStructure | ( | ) | const |
Get the rows block structure.
Definition at line 210 of file MatrixBlockStructure.cpp.
const VectorBlockStructure & columnsBlockStructure | ( | ) | const |
Get the columns block structure.
Definition at line 216 of file MatrixBlockStructure.cpp.
|
private |
Definition at line 218 of file MatrixBlockStructure.hpp.
|
private |
Definition at line 219 of file MatrixBlockStructure.hpp.