The SystemSparseMatrixAssembler class defines an assembler for building the system matrix form a sparse matrix. More...
Public Member Functions | |
SystemSparseMatrixAssembler (const SparseMatrix *matrix) | |
int | getBlockSize () const override |
long | getColCount () const override |
long | getColElementCount () const override |
long | getColGlobalCount () const override |
long | getColGlobalElementCount () const override |
long | getColGlobalElementOffset () const override |
long | getColGlobalOffset () const override |
const MPI_Comm & | getCommunicator () const override |
long | getMaxRowNZCount () const override |
AssemblyOptions | getOptions () const override |
long | getRowCount () const override |
void | getRowData (long rowIndex, ConstProxyVector< long > *pattern, ConstProxyVector< double > *values) const override |
long | getRowElementCount () const override |
long | getRowGlobalCount () const override |
long | getRowGlobalElementCount () const override |
long | getRowGlobalElementOffset () const override |
long | getRowGlobalOffset () const override |
long | getRowNZCount (long rowIndex) const override |
void | getRowPattern (long rowIndex, ConstProxyVector< long > *pattern) const override |
void | getRowValues (long rowIndex, ConstProxyVector< double > *values) const override |
bool | isPartitioned () const override |
Protected Attributes | |
const SparseMatrix * | m_matrix |
The SystemSparseMatrixAssembler class defines an assembler for building the system matrix form a sparse matrix.
Definition at line 186 of file system_solvers_large.hpp.
bitpit::SystemSparseMatrixAssembler::SystemSparseMatrixAssembler | ( | const SparseMatrix * | matrix | ) |
Constructor.
matrix | is the matrix |
Definition at line 119 of file system_solvers_large.cpp.
|
overridevirtual |
Get the block size.
Implements bitpit::SystemMatrixAssembler.
Definition at line 208 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of (block) columns handled by the assembler.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the number of block columns, where a block column is defined as a group of block-size matrix columns.
Implements bitpit::SystemMatrixAssembler.
Definition at line 236 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of elements in the columns handled by the assembler.
This function will return the effective number of columns of the matrix that will be assembled.
Implements bitpit::SystemMatrixAssembler.
Definition at line 264 of file system_solvers_large.cpp.
|
overridevirtual |
Get number of global (block) columns handled by the assembler.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the global number of block columns, where a block column is defined as a group of block-size matrix columns.
Implements bitpit::SystemMatrixAssembler.
Definition at line 295 of file system_solvers_large.cpp.
|
overridevirtual |
Get the global number of columns handled by the assembler.
This function will return the effective global number of columns of the system matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 323 of file system_solvers_large.cpp.
|
overridevirtual |
Get global offset for the elements of the column.
This function will return the offset expressed in effective columns of the system matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 373 of file system_solvers_large.cpp.
|
overridevirtual |
Get global (block) column offset.
Implements bitpit::SystemMatrixAssembler.
Definition at line 345 of file system_solvers_large.cpp.
|
overridevirtual |
Gets the MPI communicator associated to the matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 140 of file system_solvers_large.cpp.
|
overridevirtual |
Get the maximum number of non-zero elements per row.
Implements bitpit::SystemMatrixAssembler.
Definition at line 397 of file system_solvers_large.cpp.
|
overridevirtual |
Get the assembly options.
Implements bitpit::SystemMatrixAssembler.
Definition at line 151 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of (block) rows handled by the assembler.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the number of block rows, where a block row is defined as a group of block-size matrix rows.
Implements bitpit::SystemMatrixAssembler.
Definition at line 222 of file system_solvers_large.cpp.
|
overridevirtual |
Get the data of the specified row.
If the matrix is a block matrix (i.e., the block size is greater than one), the pattern defines the global ids of the block columns of the row, where a block column is defined as a group of block-size matrix columns.
If the matrix is a block matrix (i.e., the block size is greater than one), the values contain of all the elements of a block row, where a block column is defined as a group of block-size matrix columns. The values are returned as a row-oriented logically two-dimensional array of values.
rowIndex | is the index of the row in the assembler |
pattern | on output will contain the pattern of the specified (block) row |
values | on output will contain the values of the specified (block) row. If the block size is greater than one, values will be stored in a logically two-dimensional array that uses a col-major order |
Implements bitpit::SystemMatrixAssembler.
Definition at line 454 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of elements in the rows handled by the assembler.
This function will return the effective number of rows of the matrix that will be assembled.
Implements bitpit::SystemMatrixAssembler.
Definition at line 249 of file system_solvers_large.cpp.
|
overridevirtual |
Get number of global (block) rows handled by the assembler.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the global number of block rows, where a block row is defined as a group of block-size matrix rows.
Implements bitpit::SystemMatrixAssembler.
Definition at line 281 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of global elements in the rows handled by the assembler.
This function will return the effective global number of rows of the system matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 308 of file system_solvers_large.cpp.
|
overridevirtual |
Get global offset for the elements of the row.
This function will return the offset expressed in effective rows of the system matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 358 of file system_solvers_large.cpp.
|
overridevirtual |
Get global (block) row offset.
Implements bitpit::SystemMatrixAssembler.
Definition at line 335 of file system_solvers_large.cpp.
|
overridevirtual |
Get the number of non-zero elements in the specified row.
rowIndex | is the index of the row in the assembler |
Implements bitpit::SystemMatrixAssembler.
Definition at line 387 of file system_solvers_large.cpp.
|
overridevirtual |
Get the pattern of the specified row.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the global ids of the block columns of the row, where a block column is defined as a group of block-size matrix columns.
rowIndex | is the index of the row in the assembler |
pattern | on output will contain the pattern of the specified (block) row |
Implements bitpit::SystemMatrixAssembler.
Definition at line 412 of file system_solvers_large.cpp.
|
overridevirtual |
Get the values of the specified row.
If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the values of all the elements of a block row, where a block column is defined as a group of block-size matrix columns. The values are returned as a row-oriented logically two-dimensional array of values.
rowIndex | is the index of the row in the assembler |
values | on output will contain the values of the specified (block) row. If the block size is greater than one, values will be stored in a logically two-dimensional array that uses a col-major order |
Implements bitpit::SystemMatrixAssembler.
Definition at line 431 of file system_solvers_large.cpp.
|
overridevirtual |
Checks if the matrix is partitioned.
Implements bitpit::SystemMatrixAssembler.
Definition at line 130 of file system_solvers_large.cpp.
|
protected |
Definition at line 228 of file system_solvers_large.hpp.