|
EpetraExt
Development
|
EpetraExt_PointToBlockDiagPermute: A class for managing point-to-block-diagonal permutations. More...
#include <EpetraExt_PointToBlockDiagPermute.h>

| 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) |
| 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... | |
Additional Inherited Members |
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 78 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.
Implements Epetra_Operator.
Definition at line 106 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. |
Implements Epetra_Operator.
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. |
Implements Epetra_Operator.
Definition at line 169 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
inlinevirtual |
Returns the infinity norm of the global matrix - NOT IMPLEMENTED.
Implements Epetra_Operator.
Definition at line 142 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return a string describing the operator.
Implements Epetra_Operator.
Definition at line 149 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the current UseTranspose setting.
Implements Epetra_Operator.
Definition at line 152 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return true if the this object can provide an approximate Inf-norm, false otherwise.
Implements Epetra_Operator.
Definition at line 155 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return a pointer to the Epetra_Comm communicator associated with this operator.
Implements Epetra_Operator.
Definition at line 158 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the Epetra_Map object associated with the domain of this operator.
Implements Epetra_Operator.
Definition at line 161 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the Epetra_Map object associated with the range of this operator.
Implements Epetra_Operator.
Definition at line 164 of file EpetraExt_PointToBlockDiagPermute.h.
|
inlinevirtual |
Return the block matrix. Only call this after calling Compute.
Definition at line 167 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.
Reimplemented from Epetra_DistObject.
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.
Implements Epetra_DistObject.
Definition at line 672 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform ID copies and permutations that are on processor.
Implements Epetra_DistObject.
Definition at line 678 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform any packing or preparation required for call to DoTransfer().
Implements Epetra_DistObject.
Definition at line 690 of file EpetraExt_PointToBlockDiagPermute.cpp.
|
protectedvirtual |
Perform any unpacking and combining after call to DoTransfer().
Implements Epetra_DistObject.
Definition at line 704 of file EpetraExt_PointToBlockDiagPermute.cpp.
1.8.5