Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
bitpit::SystemSparseMatrixAssembler Class Reference

The SystemSparseMatrixAssembler class defines an assembler for building the system matrix form a sparse matrix. More...

Inheritance diagram for bitpit::SystemSparseMatrixAssembler:
Inheritance graph
[legend]
Collaboration diagram for bitpit::SystemSparseMatrixAssembler:
Collaboration graph
[legend]

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 SparseMatrixm_matrix
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SystemSparseMatrixAssembler()

bitpit::SystemSparseMatrixAssembler::SystemSparseMatrixAssembler ( const SparseMatrix * matrix)

Constructor.

Parameters
matrixis the matrix

Definition at line 119 of file system_solvers_large.cpp.

Member Function Documentation

◆ getBlockSize()

int bitpit::SystemSparseMatrixAssembler::getBlockSize ( ) const
overridevirtual

Get the block size.

Returns
The block size.

Implements bitpit::SystemMatrixAssembler.

Definition at line 208 of file system_solvers_large.cpp.

◆ getColCount()

long bitpit::SystemSparseMatrixAssembler::getColCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getColElementCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getColGlobalCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getColGlobalElementCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getColGlobalElementOffset ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getColGlobalOffset ( ) const
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()

const MPI_Comm & bitpit::SystemSparseMatrixAssembler::getCommunicator ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getMaxRowNZCount ( ) const
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()

SystemMatrixAssembler::AssemblyOptions bitpit::SystemSparseMatrixAssembler::getOptions ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowCount ( ) const
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()

void bitpit::SystemSparseMatrixAssembler::getRowData ( long rowIndex,
ConstProxyVector< long > * pattern,
ConstProxyVector< double > * values ) const
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
rowIndexis the index of the row in the assembler
patternon output will contain the pattern of the specified (block) row
valueson 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()

long bitpit::SystemSparseMatrixAssembler::getRowElementCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowGlobalCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowGlobalElementCount ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowGlobalElementOffset ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowGlobalOffset ( ) const
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()

long bitpit::SystemSparseMatrixAssembler::getRowNZCount ( long rowIndex) const
overridevirtual

Get the number of non-zero elements in the specified row.

Parameters
rowIndexis 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()

void bitpit::SystemSparseMatrixAssembler::getRowPattern ( long rowIndex,
ConstProxyVector< long > * pattern ) const
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
rowIndexis the index of the row in the assembler
patternon output will contain the pattern of the specified (block) row

Implements bitpit::SystemMatrixAssembler.

Definition at line 412 of file system_solvers_large.cpp.

◆ getRowValues()

void bitpit::SystemSparseMatrixAssembler::getRowValues ( long rowIndex,
ConstProxyVector< double > * values ) const
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
rowIndexis the index of the row in the assembler
valueson 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()

bool bitpit::SystemSparseMatrixAssembler::isPartitioned ( ) const
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

const SparseMatrix* bitpit::SystemSparseMatrixAssembler::m_matrix
protected

Definition at line 228 of file system_solvers_large.hpp.


The documentation for this class was generated from the following files:
--- layout: doxygen_footer ---