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.