FEI  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Static Public Member Functions | List of all members
fei::MatrixTraits< FillableMat > Struct Template Reference

#include <fei_MatrixTraits_FillableMat.hpp>

Static Public Member Functions

static const char * typeName ()
 
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)
 

Detailed Description

template<>
struct fei::MatrixTraits< FillableMat >

Specialization for FillableMat.

Definition at line 23 of file fei_MatrixTraits_FillableMat.hpp.

Member Function Documentation

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.

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.

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.

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.

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.

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.

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.

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.


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