Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::Common::BaseDoKDirectMatrixBuilder Class Reference

#include <core/alien/kernels/dok/BaseDoKDirectMatrixBuilder.h>

Collaboration diagram for Alien::Common::BaseDoKDirectMatrixBuilder:

Public Member Functions

 BaseDoKDirectMatrixBuilder (IMatrix &self)
std::optional< Real > contribute (Integer row, Integer col, Real value)
std::optional< Real > setNNZ (Integer row, Integer col, Real value)
bool assemble ()

Private Attributes

IMatrixm_matrix
 Convenience reference to multi-repr manager.
DoKMatrixm_impl
 Pointer to data storage. Managed by m_matrix.

Detailed Description

Use DoKMatrix to implement DirectMatrixBuilder.

This data structure is not compressed like CSR, allowing easy insertion of values.

Definition at line 40 of file BaseDoKDirectMatrixBuilder.h.

Constructor & Destructor Documentation

◆ BaseDoKDirectMatrixBuilder()

Alien::Common::BaseDoKDirectMatrixBuilder::BaseDoKDirectMatrixBuilder ( IMatrix & self)
explicit

Build a new representation of a matrix

Parameters
selfthe multi-representation handler. It is locked during the life of this object.

References BaseDoKDirectMatrixBuilder().

Referenced by BaseDoKDirectMatrixBuilder().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ assemble()

bool Alien::Common::BaseDoKDirectMatrixBuilder::assemble ( )

Sort and compact data.

Returns
if successful.

◆ contribute()

std::optional< Real > Alien::Common::BaseDoKDirectMatrixBuilder::contribute ( Integer row,
Integer col,
Real value )

Add a contribution to a non-zero. Will create the non-zero if needed. Non-zero does not have to be local.

Parameters
row
col
valueof the contribution
Returns
a value if insertion is ok

◆ setNNZ()

std::optional< Real > Alien::Common::BaseDoKDirectMatrixBuilder::setNNZ ( Integer row,
Integer col,
Real value )

Set a value to a non-zero. Will create the non-zero if needed. Non-zero does not have to be local, but behavior for gathering non-local non-zero is undefined. It is not possible to choose between 2 nnz from different processes.

Parameters
row
col
valueof the contribution
Returns
a value if insertion is ok

Member Data Documentation

◆ m_impl

DoKMatrix* Alien::Common::BaseDoKDirectMatrixBuilder::m_impl
private

Pointer to data storage. Managed by m_matrix.

Definition at line 85 of file BaseDoKDirectMatrixBuilder.h.

◆ m_matrix

IMatrix& Alien::Common::BaseDoKDirectMatrixBuilder::m_matrix
private

Convenience reference to multi-repr manager.

Definition at line 83 of file BaseDoKDirectMatrixBuilder.h.


The documentation for this class was generated from the following file: