|
FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
Go to the documentation of this file. 1 #ifndef _fei_Matrix_core_hpp_
2 #define _fei_Matrix_core_hpp_
33 int numCols,
const int* cols,
34 const double*
const* values,
63 const double*
const* values,
64 std::vector<double>& work_1D,
65 std::vector<const double*>& work_2D);
89 std::map<int,FillableMat*>::const_iterator it =
remotelyOwned_.find(proc);
91 remote_mat = it->second;
105 std::map<int,FillableMat*>::iterator it =
remotelyOwned_.find(proc);
111 remote_mat = it->second;
114 return( remote_mat );
127 int numCols,
const int* cols,
128 const double*
const* values,
133 int numCols,
const int* cols,
134 const double*
const* values,
143 const double*
const* values,
146 void setName(
const char* name);
164 const double*
const* ptValues,
166 const int* blkColDims,
virtual int giveToMatrix(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sumInto, int format)=0
int convertPtToBlk(int numRows, const int *rows, int numCols, const int *cols, int *blkRows, int *blkRowOffsets, int *blkCols, int *blkColOffsets)
int gatherFromOverlap(bool accumulate)
void putScalar_remotelyOwned(double scalar)
fei::SharedPtr< fei::EqnComm > eqnComm_
virtual int giveToUnderlyingMatrix(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sumInto, int format)=0
FillableMat * getRemotelyOwnedMatrix(int proc)
void setBlockMatrix(bool flag)
std::vector< int > work_indices_
virtual int giveToBlockMatrix(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sumInto)=0
void setEqnComm(fei::SharedPtr< fei::EqnComm > eqnComm)
bool sendRecvProcsNeedUpdated_
fei::SharedPtr< fei::VectorSpace > vecSpace()
std::vector< const double * > work_data2D_
void setSlaveInfo(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
std::map< int, FillableMat * > & getRemotelyOwnedMatrices()
std::vector< int > work_ints_
FillableMat * remotelyOwned_last_requested_
bool haveFEMatrix() const
static void copyTransposeToWorkArrays(int numRows, int numCols, const double *const *values, std::vector< double > &work_1D, std::vector< const double * > &work_2D)
std::vector< double > work_data1D_
int getOwnerProc(int globalEqn) const
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
void setMatrixGraph(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
Matrix_core(fei::SharedPtr< fei::MatrixGraph > matrixGraph, int numLocalEqns)
const fei::SharedPtr< fei::VectorSpace > vecSpace() const
std::vector< std::vector< char > > recv_chars_
std::map< int, FillableMat * > remotelyOwned_
MPI_Comm getCommunicator() const
bool haveBlockMatrix() const
void setName(const char *name)
int copyPointRowsToBlockRow(int numPtRows, int numPtCols, const double *const *ptValues, int numBlkCols, const int *blkColDims, double **blkValues)
fei::SharedPtr< fei::MatrixGraph > getMatrixGraph() const
std::vector< int > work_indices2_
std::vector< std::vector< char > > send_chars_
void setRHS(fei::SharedPtr< fei::Vector > rhsvector)
const std::vector< int > & globalOffsets() const
void setFEMatrix(bool flag)
int firstLocalOffset() const
fei::SharedPtr< fei::Vector > rhsVector_
int lastLocalOffset() const
std::vector< int > globalOffsets_
std::vector< int > sendProcs_
virtual int giveToUnderlyingBlockMatrix(int row, int rowDim, int numCols, const int *cols, const int *LDAs, const int *colDims, const double *const *values, bool sumInto)=0
fei::SharedPtr< fei::VectorSpace > vecSpace_
const FillableMat * getRemotelyOwnedMatrix(int proc) const
void parameters(const fei::ParameterSet ¶mset)
std::vector< int > & globalOffsets()
std::vector< int > recvProcs_