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 |
Detailed Description
The SystemSparseMatrixAssembler class defines an assembler for building the system matrix form a sparse matrix.
Definition at line 182 of file system_solvers_large.hpp.
Constructor & Destructor Documentation
◆ SystemSparseMatrixAssembler()
bitpit::SystemSparseMatrixAssembler::SystemSparseMatrixAssembler | ( | const SparseMatrix * | matrix | ) |
Constructor.
- Parameters
-
matrix is the matrix
Definition at line 119 of file system_solvers_large.cpp.
Member Function Documentation
◆ getBlockSize()
|
overridevirtual |
Get the block size.
- Returns
- The block size.
Implements bitpit::SystemMatrixAssembler.
Definition at line 208 of file system_solvers_large.cpp.
◆ getColCount()
|
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.
- Returns
- The number of (block) columns handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 236 of file system_solvers_large.cpp.
◆ getColElementCount()
|
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.
- Returns
- The number of columns handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 264 of file system_solvers_large.cpp.
◆ getColGlobalCount()
|
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.
- Returns
- The number of global (block) columns handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 295 of file system_solvers_large.cpp.
◆ getColGlobalElementCount()
|
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.
- Returns
- The global number of columns handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 323 of file system_solvers_large.cpp.
◆ getColGlobalElementOffset()
|
overridevirtual |
Get global offset for the elements of the column.
This function will return the offset expressed in effective columns of the system matrix.
- Returns
- The global offset for the elements of the column.
Implements bitpit::SystemMatrixAssembler.
Definition at line 373 of file system_solvers_large.cpp.
◆ getColGlobalOffset()
|
overridevirtual |
Get global (block) column offset.
- Returns
- The global (block) column offset.
Implements bitpit::SystemMatrixAssembler.
Definition at line 345 of file system_solvers_large.cpp.
◆ getCommunicator()
|
overridevirtual |
Gets the MPI communicator associated to the matrix.
- Returns
- The MPI communicator associated to the matrix.
Implements bitpit::SystemMatrixAssembler.
Definition at line 140 of file system_solvers_large.cpp.
◆ getMaxRowNZCount()
|
overridevirtual |
Get the maximum number of non-zero elements per row.
- Returns
- The maximum number of non-zero elements per row.
Implements bitpit::SystemMatrixAssembler.
Definition at line 397 of file system_solvers_large.cpp.
◆ getOptions()
|
overridevirtual |
Get the assembly options.
- Returns
- The assembly options that will be used.
Implements bitpit::SystemMatrixAssembler.
Definition at line 151 of file system_solvers_large.cpp.
◆ getRowCount()
|
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.
- Returns
- The number of (block) rows handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 222 of file system_solvers_large.cpp.
◆ getRowData()
|
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.
- Parameters
-
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.
◆ getRowElementCount()
|
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.
- Returns
- The number of rows handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 249 of file system_solvers_large.cpp.
◆ getRowGlobalCount()
|
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.
- Returns
- The number of global rows handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 281 of file system_solvers_large.cpp.
◆ getRowGlobalElementCount()
|
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.
- Returns
- The number of global elements in the rows handled by the assembler.
Implements bitpit::SystemMatrixAssembler.
Definition at line 308 of file system_solvers_large.cpp.
◆ getRowGlobalElementOffset()
|
overridevirtual |
Get global offset for the elements of the row.
This function will return the offset expressed in effective rows of the system matrix.
- Returns
- The global offset for the elements of the row.
Implements bitpit::SystemMatrixAssembler.
Definition at line 358 of file system_solvers_large.cpp.
◆ getRowGlobalOffset()
|
overridevirtual |
Get global (block) row offset.
- Returns
- The global (block) row offset.
Implements bitpit::SystemMatrixAssembler.
Definition at line 335 of file system_solvers_large.cpp.
◆ getRowNZCount()
|
overridevirtual |
Get the number of non-zero elements in the specified row.
- Parameters
-
rowIndex is the index of the row in the assembler
- Returns
- The number of non-zero elements in the specified row.
Implements bitpit::SystemMatrixAssembler.
Definition at line 387 of file system_solvers_large.cpp.
◆ getRowPattern()
|
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.
- Parameters
-
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.
◆ getRowValues()
|
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.
- Parameters
-
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.
◆ isPartitioned()
|
overridevirtual |
Checks if the matrix is partitioned.
- Returns
- Returns true if the patch is partitioned, false otherwise.
Implements bitpit::SystemMatrixAssembler.
Definition at line 130 of file system_solvers_large.cpp.
Member Data Documentation
◆ m_matrix
|
protected |
Definition at line 224 of file system_solvers_large.hpp.
The documentation for this class was generated from the following files:
- src/LA/system_solvers_large.hpp
- src/LA/system_solvers_large.cpp
