FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei::MatrixTraits< FillableMat > Struct Reference

#include <fei_MatrixTraits_FillableMat.hpp>

Inheritance diagram for fei::MatrixTraits< FillableMat >:

Static Public Member Functions

static const char * typeName ()
 
static double * getBeginPointer (FillableMat *)
 
static int getOffset (FillableMat *, int, int)
 
static int setValues (FillableMat *mat, double scalar)
 
static int getNumLocalRows (FillableMat *mat, int &numRows)
 
static int getRowLength (FillableMat *mat, int row, int &length)
 
static int copyOutRow (FillableMat *mat, int row, int len, double *coefs, int *indices)
 
static int putValuesIn (FillableMat *mat, int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
 
static int globalAssemble (FillableMat *mat)
 
static int matvec (FillableMat *mat, fei::Vector *x, fei::Vector *y)
 
static const char * typeName ()
 
static double * getBeginPointer (FillableMat *)
 
static int getOffset (FillableMat *, int, int)
 
static int setValues (FillableMat *mat, double scalar)
 
static int getNumLocalRows (FillableMat *mat, int &numRows)
 
static int getRowLength (FillableMat *mat, int row, int &length)
 
static int copyOutRow (FillableMat *mat, int row, int len, double *coefs, int *indices)
 
static int putValuesIn (FillableMat *mat, int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
 
static int globalAssemble (FillableMat *A)
 
static int matvec (FillableMat *A, fei::Vector *x, fei::Vector *y)
 

Detailed Description

Specialization for FillableMat.

Definition at line 23 of file fei_MatrixTraits_FillableMat.hpp.

Member Function Documentation

◆ typeName() [1/2]

static const char * fei::MatrixTraits< FillableMat >::typeName ( )
inlinestatic

Return a string type-name for the underlying matrix

Definition at line 26 of file fei_MatrixTraits_FillableMat.hpp.

◆ getBeginPointer() [1/2]

static double * fei::MatrixTraits< FillableMat >::getBeginPointer ( FillableMat * )
inlinestatic

Definition at line 29 of file fei_MatrixTraits_FillableMat.hpp.

◆ getOffset() [1/2]

static int fei::MatrixTraits< FillableMat >::getOffset ( FillableMat * ,
int ,
int  )
inlinestatic

Definition at line 34 of file fei_MatrixTraits_FillableMat.hpp.

◆ setValues() [1/2]

static int fei::MatrixTraits< FillableMat >::setValues ( FillableMat * mat,
double scalar )
inlinestatic

Set a specified scalar value throughout the matrix.

Definition at line 41 of file fei_MatrixTraits_FillableMat.hpp.

References fei::FillableMat::setValues().

◆ getNumLocalRows() [1/2]

static int fei::MatrixTraits< FillableMat >::getNumLocalRows ( FillableMat * mat,
int & numRows )
inlinestatic

Query the number of rows. This is expected to be the number of rows on the local processor.

Definition at line 50 of file fei_MatrixTraits_FillableMat.hpp.

References fei::FillableMat::getNumRows().

◆ getRowLength() [1/2]

static int fei::MatrixTraits< FillableMat >::getRowLength ( FillableMat * mat,
int row,
int & length )
inlinestatic

Given a global (zero-based) row number, query the length of that row.

Definition at line 58 of file fei_MatrixTraits_FillableMat.hpp.

References fei::FillableMat::getRow(), and fei::CSVec::size().

◆ copyOutRow() [1/2]

static int fei::MatrixTraits< FillableMat >::copyOutRow ( FillableMat * mat,
int row,
int len,
double * coefs,
int * indices )
inlinestatic

Given a global (zero-based) row number, pass out a copy of the contents of that row.

Parameters
mat
row
lenLength of the user-allocated arrays coefs and indices.
coefsUser-allocated array which will hold matrix coefficients on output.
indicesUser-allocated array which will hold column-indices on output.
Returns
error-code 0 if successful. Non-zero return-value may indicate that the specified row is not locally owned.

Definition at line 82 of file fei_MatrixTraits_FillableMat.hpp.

References fei::CSVec::coefs(), fei::FillableMat::getRow(), and fei::CSVec::indices().

◆ putValuesIn() [1/2]

static int fei::MatrixTraits< FillableMat >::putValuesIn ( FillableMat * mat,
int numRows,
const int * rows,
int numCols,
const int * cols,
const double *const * values,
bool sum_into )
inlinestatic

Sum a C-style table of coefficient data into the underlying matrix.

Definition at line 106 of file fei_MatrixTraits_FillableMat.hpp.

References fei::FillableMat::putRow(), and fei::FillableMat::sumInRow().

◆ globalAssemble() [1/2]

static int fei::MatrixTraits< FillableMat >::globalAssemble ( FillableMat * mat)
inlinestatic

Perform any necessary internal communications/synchronizations or other operations appropriate at end of data input. For some implementations this will be a no-op, so this "default implementation" will return 0.

Definition at line 131 of file fei_MatrixTraits_FillableMat.hpp.

◆ matvec() [1/2]

static int fei::MatrixTraits< FillableMat >::matvec ( FillableMat * mat,
fei::Vector * x,
fei::Vector * y )
inlinestatic

Compute the matrix-vector product y = A*x

Definition at line 137 of file fei_MatrixTraits_FillableMat.hpp.

References fei::Vector_Impl< T >::getUnderlyingVector(), and fei::multiply_CSRMat_CSVec().

◆ typeName() [2/2]

static const char * fei::MatrixTraits< FillableMat >::typeName ( )
inlinestatic

Return a string type-name for the underlying matrix. May appear in debug-output logs, etc. Does not need to exactly correspond to the type, but should be descriptive.

Definition at line 51 of file fei_MatrixTraits.hpp.

◆ getBeginPointer() [2/2]

static double * fei::MatrixTraits< FillableMat >::getBeginPointer ( FillableMat * )
inlinestatic

Definition at line 54 of file fei_MatrixTraits.hpp.

◆ getOffset() [2/2]

static int fei::MatrixTraits< FillableMat >::getOffset ( FillableMat * ,
int ,
int  )
inlinestatic

Definition at line 59 of file fei_MatrixTraits.hpp.

◆ setValues() [2/2]

static int fei::MatrixTraits< FillableMat >::setValues ( FillableMat * mat,
double scalar )
inlinestatic

Set a specified scalar value throughout the matrix.

Definition at line 66 of file fei_MatrixTraits.hpp.

◆ getNumLocalRows() [2/2]

static int fei::MatrixTraits< FillableMat >::getNumLocalRows ( FillableMat * mat,
int & numRows )
inlinestatic

Query the number of local rows. This is expected to be the number of point-entry rows on the local processor.

Definition at line 72 of file fei_MatrixTraits.hpp.

◆ getRowLength() [2/2]

static int fei::MatrixTraits< FillableMat >::getRowLength ( FillableMat * mat,
int row,
int & length )
inlinestatic

Given a locally-owned global row number, query the length (number of nonzeros) of that row.

Definition at line 78 of file fei_MatrixTraits.hpp.

◆ copyOutRow() [2/2]

static int fei::MatrixTraits< FillableMat >::copyOutRow ( FillableMat * mat,
int row,
int len,
double * coefs,
int * indices )
inlinestatic

Given a locally-owned global row number, pass out a copy of the contents of that row.

Parameters
mat
rowGlobal row number
lenLength of the user-allocated arrays coefs and indices.
coefsUser-allocated array which will hold matrix coefficients on output.
indicesUser-allocated array which will hold column-indices on output.
Returns
error-code 0 if successful. Non-zero return-value may indicate that the specified row is not locally owned.

Definition at line 93 of file fei_MatrixTraits.hpp.

◆ putValuesIn() [2/2]

static int fei::MatrixTraits< FillableMat >::putValuesIn ( FillableMat * mat,
int numRows,
const int * rows,
int numCols,
const int * cols,
const double *const * values,
bool sum_into )
inlinestatic

Sum a C-style table of coefficient data into the underlying matrix. This is a rectangular array of coefficients for rows/columns defined by the 'rows' and 'cols' lists.

Definition at line 101 of file fei_MatrixTraits.hpp.

◆ globalAssemble() [2/2]

static int fei::MatrixTraits< FillableMat >::globalAssemble ( FillableMat * A)
inlinestatic

Perform any necessary internal communications/synchronizations or other operations appropriate at end of data input. For some implementations this will be a no-op, so this "default implementation" returns 0. (The Trilinos/Epetra traits specialization calls A->FillComplete() at this point.)

Definition at line 114 of file fei_MatrixTraits.hpp.

◆ matvec() [2/2]

static int fei::MatrixTraits< FillableMat >::matvec ( FillableMat * A,
fei::Vector * x,
fei::Vector * y )
inlinestatic

Compute the matrix-vector product y = A*x. It is expected that the underlying matrix object will form the local portion of the result 'y' on the local processor.

Definition at line 120 of file fei_MatrixTraits.hpp.


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