|
EpetraExt Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
42 #ifndef EPETRAEXT_BLOCKDIAGMATRIX_H
43 #define EPETRAEXT_BLOCKDIAGMATRIX_H
120 virtual const char *
Label()
const{
return "EpetraExt::BlockDiagMatrix";}
156 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
165 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
177 virtual void Print(std::ostream & os)
const;
234 int * PermuteFromLIDs,
Teuchos::ParameterList List_
int CheckSizes(const Epetra_SrcDistObject &Source)
virtual ~EpetraExt_BlockDiagMatrix()
Destructor.
virtual const Epetra_BlockMap & DataMap() const
Returns the Epetra_BlockMap object with the distribution of underlying values.
long long NumGlobalUnknowns64() const
const Epetra_Comm & Comm() const
virtual int SetUseTranspose(bool)
SetUseTranspose - not implemented.
void PutScalar(double value)
PutScalar function.
int CopyAndPermute(const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero)
int NumMyUnknowns() const
Returns the number of local unknowns.
int NumGlobalBlocks() const
Returns the number of global blocks.
int BlockSize(int LID) const
Returns the size of the given block.
const Epetra_BlockMap & Map() const
long long NumGlobalBlocks64() const
virtual const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
int DoCopy(const EpetraExt_BlockDiagMatrix &Source)
virtual int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
bool ConstantBlockSize() const
Returns true if the element size is constant.
virtual int SetParameters(Teuchos::ParameterList &List)
SetParameters.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
int NumData() const
Returns the size of the total Data block.
double * Values() const
Returns a pointer to the array containing the blocks.
virtual const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this operator.
int NumGlobalUnknowns() const
Returns the number of global unknowns.
virtual void Print(std::ostream &os) const
Print method.
virtual const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this operator.
bool ConstantElementSize() const
double * Values_
Actual Data values.
virtual int Compute()
Computes the inverse / factorization if such is set on the list.
virtual const Epetra_BlockMap & BlockMap() const
Returns the Epetra_BlockMap object associated with the range of this operator.
EpetraExt_BlockDiagMatrix & operator=(const EpetraExt_BlockDiagMatrix &Source)
= Operator.
virtual int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
virtual const char * Label() const
Returns a character std::string describing the operator.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
EpetraExt_BlockDiagMatrix(const Epetra_BlockMap &Map, bool zero_out=true)
Constructor - This map is the map of the vector this can be applied to.
int GetApplyMode()
Gets apply mode info.
int NumMyBlocks() const
Returns the number of local blocks.
int ApplyMode_
Which Apply Mode to use.
int FirstPointInElement(int LID) const
bool HasComputed_
Has Computed? Needed for Inverse/Factorization modes.
int PackAndPrepare(const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor)
EpetraExt_BlockDiagMatrix: A class for storing distributed block matrices.
double * operator[](int index)
Block access function.
Epetra_BlockMap * DataMap_
Map for the data.
int UnpackAndCombine(const Epetra_SrcDistObject &Source, int NumImportIDs, int *ImportLIDs, int LenImports, char *Imports, int &SizeOfPacket, Epetra_Distributor &Distor, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor)
int DataSize(int LID) const
Returns the size of the data in the given block.
virtual double NormInf() const
NormInf - Not Implemented.
int * Pivots_
Pivots for factorization.