EpetraExt
Development
|
EpetraExt_PointToBlockDiagPermute: A class for managing point-to-block-diagonal permutations. More...
#include <EpetraExt_PointToBlockDiagPermute.h>
Inherits Epetra_Operator, and Epetra_DistObject.
EpetraExt_PointToBlockDiagPermute (const Epetra_CrsMatrix &MAT) | |
@ Name Constructors More... | |
Destructor | |
virtual | ~EpetraExt_PointToBlockDiagPermute () |
Destructor. More... | |
Attribute set methods | |
virtual int | SetParameters (Teuchos::ParameterList &List) |
Sets the parameter list. More... | |
virtual int | SetUseTranspose (bool useTranspose) |
Set whether to use the transpose. More... | |
virtual int | Compute () |
Extracts the block-diagonal, builds maps, etc. More... | |
Mathematical functions | |
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. More... | |
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. More... | |
virtual double | NormInf () const |
Returns the infinity norm of the global matrix - NOT IMPLEMENTED. More... | |
Attribute access functions | |
virtual const char * | Label () const |
Return a string describing the operator. More... | |
virtual bool | UseTranspose () const |
Return the current UseTranspose setting. More... | |
virtual bool | HasNormInf () const |
Return true if the this object can provide an approximate Inf-norm, false otherwise. More... | |
virtual const Epetra_Comm & | Comm () const |
Return a pointer to the Epetra_Comm communicator associated with this operator. More... | |
virtual const Epetra_Map & | OperatorDomainMap () const |
Return the Epetra_Map object associated with the domain of this operator. More... | |
virtual const Epetra_Map & | OperatorRangeMap () const |
Return the Epetra_Map object associated with the range of this operator. More... | |
virtual const EpetraExt_BlockDiagMatrix & | BlockMatrix () |
Return the block matrix. Only call this after calling Compute. More... | |
virtual Epetra_FECrsMatrix * | CreateFECrsMatrix () |
Create an Epetra_FECrsMatrix from the BlockDiagMatrix. More... | |
Miscellaneous | |
virtual void | Print (std::ostream &os) const |
Print information about this object to the given output stream. More... | |
Import/Export Methods | |
int | Import (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Imports an Epetra_DistObject using the Epetra_Import object. More... | |
int | Import (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Imports an Epetra_DistObject using the Epetra_Export object. More... | |
int | Export (const Epetra_SrcDistObject &A, const Epetra_Import &Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Exports an Epetra_DistObject using the Epetra_Import object. More... | |
int | Export (const Epetra_SrcDistObject &A, const Epetra_Export &Exporter, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex *Indexor=0) |
Exports an Epetra_DistObject using the Epetra_Export object. More... | |
Internal utilities | |
virtual int | CheckSizes (const Epetra_SrcDistObject &Source) |
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not. More... | |
virtual int | CopyAndPermute (const Epetra_SrcDistObject &Source, int NumSameIDs, int NumPermuteIDs, int *PermuteToLIDs, int *PermuteFromLIDs, const Epetra_OffsetIndex *Indexor, Epetra_CombineMode CombineMode=Zero) |
Perform ID copies and permutations that are on processor. More... | |
virtual int | PackAndPrepare (const Epetra_SrcDistObject &Source, int NumExportIDs, int *ExportLIDs, int &LenExports, char *&Exports, int &SizeOfPacket, int *Sizes, bool &VarSizes, Epetra_Distributor &Distor) |
Perform any packing or preparation required for call to DoTransfer(). More... | |
virtual 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) |
Perform any unpacking and combining after call to DoTransfer(). More... | |
EpetraExt_PointToBlockDiagPermute: A class for managing point-to-block-diagonal permutations.
Manages point-to-block-diagonal permutations (and vice versa) as well as service routines for extracting block diagonals from matrices.
Definition at line 72 of file EpetraExt_PointToBlockDiagPermute.h.
EpetraExt_PointToBlockDiagPermute::EpetraExt_PointToBlockDiagPermute | ( | const Epetra_CrsMatrix & | MAT | ) |
@ Name Constructors
Constructor
Definition at line 58 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
virtual |
Destructor.
Definition at line 83 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
virtual |
Sets the parameter list.
Definition at line 137 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
inlinevirtual |
Set whether to use the transpose.
This class does NOT know how to apply its transpose, so this method always returns an error code.
Definition at line 100 of file EpetraExt_PointToBlockDiagPermute.h.
|
virtual |
Extracts the block-diagonal, builds maps, etc.
Definition at line 155 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
virtual |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
In | X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix. |
Out | Y -A Epetra_MultiVector of dimension NumVectors containing result. |
Definition at line 162 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
virtual |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
In | X - A Epetra_MultiVector of dimension NumVectors to solve for. |
Out | Y -A Epetra_MultiVector of dimension NumVectors containing result. |
Definition at line 169 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
inlinevirtual |
Returns the infinity norm of the global matrix - NOT IMPLEMENTED.
Definition at line 136 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return a string describing the operator.
Definition at line 143 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the current UseTranspose setting.
Definition at line 146 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return true if the this object can provide an approximate Inf-norm, false otherwise.
Definition at line 149 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return a pointer to the Epetra_Comm communicator associated with this operator.
Definition at line 152 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the Epetra_Map object associated with the domain of this operator.
Definition at line 155 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the Epetra_Map object associated with the range of this operator.
Definition at line 158 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the block matrix. Only call this after calling Compute.
Definition at line 161 of file EpetraExt_PointToBlockDiagPermute.h.
|
virtual |
Create an Epetra_FECrsMatrix from the BlockDiagMatrix.
This is generally only useful if you want to do a matrix-matrix multiply.
Definition at line 602 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
virtual |
Print information about this object to the given output stream.
Definition at line 221 of file EpetraExt_PointToBlockDiagPermute.cpp.
int EpetraExt_PointToBlockDiagPermute::Import | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Import & | Importer, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Imports an Epetra_DistObject using the Epetra_Import object.
In | Source - Distributed object that will be imported into the "\e this" object. |
In | Importer - A Epetra_Import object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 651 of file EpetraExt_PointToBlockDiagPermute.cpp.
int EpetraExt_PointToBlockDiagPermute::Import | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Export & | Exporter, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Imports an Epetra_DistObject using the Epetra_Export object.
In | Source - Distributed object that will be imported into the "\e this" object. |
In | Exporter - A Epetra_Export object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 656 of file EpetraExt_PointToBlockDiagPermute.cpp.
int EpetraExt_PointToBlockDiagPermute::Export | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Import & | Importer, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Exports an Epetra_DistObject using the Epetra_Import object.
In | Source - Distributed object that will be exported to the "\e this" object. |
In | Importer - A Epetra_Import object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 661 of file EpetraExt_PointToBlockDiagPermute.cpp.
int EpetraExt_PointToBlockDiagPermute::Export | ( | const Epetra_SrcDistObject & | A, |
const Epetra_Export & | Exporter, | ||
Epetra_CombineMode | CombineMode, | ||
const Epetra_OffsetIndex * | Indexor = 0 |
||
) |
Exports an Epetra_DistObject using the Epetra_Export object.
In | Source - Distributed object that will be exported to the "\e this" multivector. |
In | Exporter - A Epetra_Export object specifying the communication required. |
In | CombineMode - A Epetra_CombineMode enumerated type specifying how results should be combined on the receiving processor. |
Definition at line 666 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Allows the source and target (this) objects to be compared for compatibility, return nonzero if not.
Definition at line 672 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform ID copies and permutations that are on processor.
Definition at line 678 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform any packing or preparation required for call to DoTransfer().
Definition at line 690 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform any unpacking and combining after call to DoTransfer().
Definition at line 704 of file EpetraExt_PointToBlockDiagPermute.cpp.