35 #include <lifev/core/array/MatrixBlockStructure.hpp> 107 const std::vector<UInt>& blockNumColumns )
109 M_rowsBlockStructure.setBlockStructure ( blockNumRows );
110 M_columnsBlockStructure.setBlockStructure ( blockNumColumns );
116 M_rowsBlockStructure.setBlockStructure ( blocksSize );
117 M_columnsBlockStructure.setBlockStructure ( blocksSize );
124 M_rowsBlockStructure.setBlockStructure ( rowMapVector );
125 M_columnsBlockStructure.setBlockStructure ( columnMapVector );
131 M_rowsBlockStructure.setBlockStructure ( mapVector );
132 M_columnsBlockStructure.setBlockStructure ( mapVector );
138 M_rowsBlockStructure.setBlockStructure ( blockStructure.M_rowsBlockStructure );
139 M_columnsBlockStructure.setBlockStructure ( blockStructure.M_columnsBlockStructure );
146 M_rowsBlockStructure.setBlockStructure ( rowsBlockStructure );
147 M_columnsBlockStructure.setBlockStructure ( columnsBlockStructure );
153 M_rowsBlockStructure.setBlockStructure ( vectorBlockStructure );
154 M_columnsBlockStructure.setBlockStructure ( vectorBlockStructure );
164 return M_rowsBlockStructure.blockSize ( rowIndex );
170 return M_columnsBlockStructure.blockSize ( columnIndex );
176 return M_rowsBlockStructure.blockFirstIndex ( index );
182 return M_columnsBlockStructure.blockFirstIndex ( index );
188 return M_rowsBlockStructure.numBlocks();
194 return M_columnsBlockStructure.numBlocks();
200 return M_rowsBlockStructure.totalSize();
206 return M_columnsBlockStructure.totalSize();
212 return M_rowsBlockStructure;
218 return M_columnsBlockStructure;
void setBlockStructure(const VectorBlockStructure &vectorBlockStructure)
Set the block structure from row and column structures.
void setBlockStructure(const VectorBlockStructure &rowsBlockStructure, const VectorBlockStructure &columnsBlockStructure)
Set the block structure from row and column structures.
MatrixBlockStructure(const VectorBlockStructure &rowsBlockStructure, const VectorBlockStructure &columnsBlockStructure)
Construction with row and column structure.
void setBlockStructure(const MapVector< MapEpetra > &rowMapVector, const MapVector< MapEpetra > &columnMapVector)
VectorBlockStructure - class representing the structure of a vector.
MatrixBlockStructure(const map_Type &rowMap, const map_Type &columnMap)
Constructor with the monolithic maps.
UInt numColumns() const
Number of rows.
MatrixBlockStructure()
Default constructor.
MatrixBlockStructure(const map_Type &map)
Constructor with a unique monolithic map.
void updateInverseJacobian(const UInt &iQuadPt)
const VectorBlockStructure & columnsBlockStructure() const
Get the columns block structure.
~MatrixBlockStructure()
Destructor.
UInt blockNumRows(const UInt &rowIndex) const
Returns the number of rows of the block.
void setBlockStructure(const std::vector< UInt > &blockNumRows, const std::vector< UInt > &blockNumColumns)
Epetra_Import const & importer()
Getter for the Epetra_Import.
MapEpetra map_Type
Type of the map to be used.
MatrixBlockStructure - class representing the structure of a vector.
UInt numRows() const
Number of rows.
UInt numRowBlocks() const
Number of row blocks.
MatrixBlockStructure(const mapVector_Type &mapVector)
Construction with a map.
const VectorBlockStructure & rowsBlockStructure() const
Get the rows block structure.
void setBlockStructure(const MapVector< MapEpetra > &mapVector)
MatrixBlockStructure(const MatrixBlockStructure &blockStructure)
Copy constructor.
MatrixBlockStructure(const mapVector_Type &rowMapVector, const mapVector_Type &columnMapVector)
Construction with a map.
UInt numColumnBlocks() const
Number of column blocks.
UInt columnBlockFirstIndex(const UInt &index) const
This class is used to store maps that will be used for block defined problems.
UInt blockNumColumns(const UInt &columnIndex) const
Returns the number of columns of the block.
MatrixBlockStructure(const VectorBlockStructure &vectorStructure)
Construction with vector structure.
void setBlockStructure(const std::vector< UInt > &blocksSize)
UInt rowBlockFirstIndex(const UInt &index) const
uint32_type UInt
generic unsigned integer (used mainly for addressing)
MapVector< map_Type > mapVector_Type
Type of the MapVector to be used with this class.
void setBlockStructure(const MatrixBlockStructure &blockStructure)
Set the block structure from a matrix structure object.