BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::sparse::DistMatrix Class Referenceabstract

#include <cl_SolverDistMatrix.hpp>

Inheritance diagram for belfem::sparse::DistMatrix:
[legend]
Collaboration diagram for belfem::sparse::DistMatrix:
[legend]

Public Member Functions

 DistMatrix (const SolverParameters *aParams, SpMatrix *aMatrix=nullptr)
virtual ~DistMatrix ()
virtual void distribute_values (SpMatrix *aMatrix)=0
const int_tdist () const
const realrhs () const
reallhs ()
index_t size () const
Vector< real > & lhs_vector ()
Vector< real > & rhs_vector ()
void distribute_rhs (const Vector< real > &aRhs)
void distribute_lhs (const Vector< real > &aLhs)
void collect_lhs (Vector< real > &aLhs)

Protected Member Functions

void determine_sizes_and_offsets ()
virtual void distribute_sparsity_pattern ()=0

Protected Attributes

const proc_t mCommRank
const proc_t mCommSize
const bool mPermutationSwitch
const ReorderingMethod mReorderingMethod
SpMatrixmMatrix = nullptr
Cell< index_tmForwardPermutation
Cell< index_tmBackwardPermutation
Cell< index_tmIndexPermutation
Vector< int_tmSizes
Vector< int_tmDist
Vector< int_tmOffsets
Vector< realmRhs
Vector< realmMyRhs
Vector< realmLhs
Vector< realmMyLhs
index_t mNumRows
index_t mMyNumRows

Constructor & Destructor Documentation

◆ DistMatrix()

belfem::sparse::DistMatrix::DistMatrix ( const SolverParameters * aParams,
SpMatrix * aMatrix = nullptr )

◆ ~DistMatrix()

belfem::sparse::DistMatrix::~DistMatrix ( )
virtual

Member Function Documentation

◆ collect_lhs()

void belfem::sparse::DistMatrix::collect_lhs ( Vector< real > & aLhs)

◆ determine_sizes_and_offsets()

void belfem::sparse::DistMatrix::determine_sizes_and_offsets ( )
protected

◆ dist()

const int_t * belfem::sparse::DistMatrix::dist ( ) const
inline

◆ distribute_lhs()

void belfem::sparse::DistMatrix::distribute_lhs ( const Vector< real > & aLhs)

◆ distribute_rhs()

void belfem::sparse::DistMatrix::distribute_rhs ( const Vector< real > & aRhs)

◆ distribute_sparsity_pattern()

virtual void belfem::sparse::DistMatrix::distribute_sparsity_pattern ( )
protectedpure virtual

◆ distribute_values()

virtual void belfem::sparse::DistMatrix::distribute_values ( SpMatrix * aMatrix)
pure virtual

◆ lhs()

real * belfem::sparse::DistMatrix::lhs ( )
inline

◆ lhs_vector()

Vector< real > & belfem::sparse::DistMatrix::lhs_vector ( )
inline

◆ rhs()

const real * belfem::sparse::DistMatrix::rhs ( ) const
inline

◆ rhs_vector()

Vector< real > & belfem::sparse::DistMatrix::rhs_vector ( )
inline

◆ size()

index_t belfem::sparse::DistMatrix::size ( ) const
inline

Member Data Documentation

◆ mBackwardPermutation

Cell< index_t > belfem::sparse::DistMatrix::mBackwardPermutation
protected

◆ mCommRank

const proc_t belfem::sparse::DistMatrix::mCommRank
protected

◆ mCommSize

const proc_t belfem::sparse::DistMatrix::mCommSize
protected

◆ mDist

Vector< int_t > belfem::sparse::DistMatrix::mDist
protected

◆ mForwardPermutation

Cell< index_t > belfem::sparse::DistMatrix::mForwardPermutation
protected

◆ mIndexPermutation

Cell< index_t > belfem::sparse::DistMatrix::mIndexPermutation
protected

◆ mLhs

Vector< real > belfem::sparse::DistMatrix::mLhs
protected

◆ mMatrix

SpMatrix* belfem::sparse::DistMatrix::mMatrix = nullptr
protected

◆ mMyLhs

Vector< real > belfem::sparse::DistMatrix::mMyLhs
protected

◆ mMyNumRows

index_t belfem::sparse::DistMatrix::mMyNumRows
protected

◆ mMyRhs

Vector< real > belfem::sparse::DistMatrix::mMyRhs
protected

◆ mNumRows

index_t belfem::sparse::DistMatrix::mNumRows
protected

◆ mOffsets

Vector< int_t > belfem::sparse::DistMatrix::mOffsets
protected

◆ mPermutationSwitch

const bool belfem::sparse::DistMatrix::mPermutationSwitch
protected

◆ mReorderingMethod

const ReorderingMethod belfem::sparse::DistMatrix::mReorderingMethod
protected

root's deck value, broadcast: the parallel orderings are collective, so every rank must agree on the branch

◆ mRhs

Vector< real > belfem::sparse::DistMatrix::mRhs
protected

◆ mSizes

Vector< int_t > belfem::sparse::DistMatrix::mSizes
protected

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