EpetraExt_PointToBlockDiagPermute: A class for managing point-to-block-diagonal permutations.
More...
#include <EpetraExt_PointToBlockDiagPermute.h>
|
virtual void | Print (std::ostream &os) const |
| Print information about this object to the given output stream. More...
|
|
|
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...
|
|
|
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 | ) |
|
EpetraExt_PointToBlockDiagPermute::~EpetraExt_PointToBlockDiagPermute |
( |
| ) |
|
|
virtual |
virtual int EpetraExt_PointToBlockDiagPermute::SetUseTranspose |
( |
bool |
| ) |
|
|
inlinevirtual |
Set whether to use the transpose.
- Returns
- 0 if this class can change its transpose state, else nonzero.
This class does NOT know how to apply its transpose, so this method always returns an error code.
Implements Epetra_Operator.
Definition at line 100 of file EpetraExt_PointToBlockDiagPermute.h.
int EpetraExt_PointToBlockDiagPermute::Compute |
( |
| ) |
|
|
virtual |
virtual double EpetraExt_PointToBlockDiagPermute::NormInf |
( |
| ) |
const |
|
inlinevirtual |
virtual const char* EpetraExt_PointToBlockDiagPermute::Label |
( |
| ) |
const |
|
inlinevirtual |
virtual bool EpetraExt_PointToBlockDiagPermute::UseTranspose |
( |
| ) |
const |
|
inlinevirtual |
virtual bool EpetraExt_PointToBlockDiagPermute::HasNormInf |
( |
| ) |
const |
|
inlinevirtual |
virtual const Epetra_Comm& EpetraExt_PointToBlockDiagPermute::Comm |
( |
| ) |
const |
|
inlinevirtual |
virtual const Epetra_Map& EpetraExt_PointToBlockDiagPermute::OperatorDomainMap |
( |
| ) |
const |
|
inlinevirtual |
virtual const Epetra_Map& EpetraExt_PointToBlockDiagPermute::OperatorRangeMap |
( |
| ) |
const |
|
inlinevirtual |
void EpetraExt_PointToBlockDiagPermute::Print |
( |
std::ostream & |
os | ) |
const |
|
virtual |
Imports an Epetra_DistObject using the Epetra_Import object.
- Parameters
-
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. |
- Returns
- Integer error code, set to 0 if successful.
Definition at line 651 of file EpetraExt_PointToBlockDiagPermute.cpp.
Imports an Epetra_DistObject using the Epetra_Export object.
- Parameters
-
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. |
- Returns
- Integer error code, set to 0 if successful.
Definition at line 656 of file EpetraExt_PointToBlockDiagPermute.cpp.
Exports an Epetra_DistObject using the Epetra_Import object.
- Parameters
-
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. |
- Returns
- Integer error code, set to 0 if successful.
Definition at line 661 of file EpetraExt_PointToBlockDiagPermute.cpp.
Exports an Epetra_DistObject using the Epetra_Export object.
- Parameters
-
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. |
- Returns
- Integer error code, set to 0 if successful.
Definition at line 666 of file EpetraExt_PointToBlockDiagPermute.cpp.
int EpetraExt_PointToBlockDiagPermute::PackAndPrepare |
( |
const Epetra_SrcDistObject & |
Source, |
|
|
int |
NumExportIDs, |
|
|
int * |
ExportLIDs, |
|
|
int & |
LenExports, |
|
|
char *& |
Exports, |
|
|
int & |
SizeOfPacket, |
|
|
int * |
Sizes, |
|
|
bool & |
VarSizes, |
|
|
Epetra_Distributor & |
Distor |
|
) |
| |
|
protectedvirtual |
int EpetraExt_PointToBlockDiagPermute::ExtractBlockDiagonal |
( |
| ) |
|
|
private |
int EpetraExt_PointToBlockDiagPermute::SetupContiguousMode |
( |
| ) |
|
|
private |
int EpetraExt_PointToBlockDiagPermute::CleanupContiguousMode |
( |
| ) |
|
|
private |
void EpetraExt_PointToBlockDiagPermute::UpdateImportVector |
( |
int |
NumVectors | ) |
const |
|
private |
void EpetraExt_PointToBlockDiagPermute::UpdateExportVector |
( |
int |
NumVectors | ) |
const |
|
private |
template<typename int_type >
template<typename int_type >
int EpetraExt_PointToBlockDiagPermute::TSetupContiguousMode |
( |
| ) |
|
|
private |
template<typename int_type >
int EpetraExt_PointToBlockDiagPermute::TExtractBlockDiagonal |
( |
| ) |
|
|
private |
template<typename int_type >
template<typename int_type >
const int_type* EpetraExt_PointToBlockDiagPermute::Blockids_const_ptr |
( |
| ) |
const |
|
private |
template<typename int_type >
int_type*& EpetraExt_PointToBlockDiagPermute::Blockids_ref |
( |
| ) |
|
|
private |
template<>
const int* EpetraExt_PointToBlockDiagPermute::Blockids_const_ptr |
( |
| ) |
const |
|
inlineprivate |
template<>
int*& EpetraExt_PointToBlockDiagPermute::Blockids_ref |
( |
| ) |
|
|
inlineprivate |
template<>
const long long* EpetraExt_PointToBlockDiagPermute::Blockids_const_ptr |
( |
| ) |
const |
|
inlineprivate |
template<>
long long*& EpetraExt_PointToBlockDiagPermute::Blockids_ref |
( |
| ) |
|
|
inlineprivate |
bool EpetraExt_PointToBlockDiagPermute::PurelyLocalMode_ |
|
private |
bool EpetraExt_PointToBlockDiagPermute::ContiguousBlockMode_ |
|
private |
int EpetraExt_PointToBlockDiagPermute::ContiguousBlockSize_ |
|
private |
int EpetraExt_PointToBlockDiagPermute::NumBlocks_ |
|
private |
int* EpetraExt_PointToBlockDiagPermute::Blockstart_ |
|
private |
int* EpetraExt_PointToBlockDiagPermute::Blockids_int_ |
|
private |
long long* EpetraExt_PointToBlockDiagPermute::Blockids_LL_ |
|
private |
Epetra_Map* EpetraExt_PointToBlockDiagPermute::CompatibleMap_ |
|
private |
The documentation for this class was generated from the following files: