44 #include <Epetra_Export.h>
45 #include <Epetra_Import.h>
46 #include <Epetra_LinearProblem.h>
47 #include <Epetra_CrsGraph.h>
48 #include <Epetra_CrsMatrix.h>
49 #include <Epetra_MultiVector.h>
50 #include <Epetra_Vector.h>
51 #include <Epetra_IntVector.h>
52 #include <Epetra_Map.h>
53 #include <Epetra_Comm.h>
60 if( Exporter_ )
delete Exporter_;
61 if( Importer_ )
delete Importer_;
63 if( NewProblem_ )
delete NewProblem_;
64 if( NewRHS_ )
delete NewRHS_;
65 if( NewLHS_ )
delete NewLHS_;
74 OldRHS_ = orig.GetRHS();
75 OldLHS_ = orig.GetLHS();
81 if( !OldMatrix_ ) ierr = -2;
82 if( !OldRHS_ ) ierr = -3;
83 if( !OldLHS_ ) ierr = -4;
85 NewMatrix_ = &(matrixTrans_( *OldMatrix_ ));
104 NewLHS_->Export( *OldLHS_, *Exporter_,
Insert );
105 NewRHS_->Export( *OldRHS_, *Exporter_,
Insert );
106 NewMatrix_->Export( *OldMatrix_, *Exporter_,
Insert );
115 OldLHS_->Import( *NewLHS_, *Exporter_,
Insert );
116 OldRHS_->Import( *NewRHS_, *Exporter_,
Insert );
117 OldMatrix_->Import( *NewMatrix_, *Exporter_,
Insert );
NewTypeRef operator()(OriginalTypeRef orig)
Transform Operator.
const Epetra_Map & RowMap() const
const Epetra_BlockMap & RowMap() const
bool fwd()
Forward Data Migration.
bool rvs()
Reverse Data Migration.
~LinearProblem_MatrixTrans()
Destructor.
const Epetra_CrsGraph & Graph() const