//============================================================================== Ifpack_IlukGraph::Ifpack_IlukGraph(const Ifpack_IlukGraph & Graph_in) : Graph_(Graph_in.Graph_), DomainMap_(Graph_in.DomainMap()), RangeMap_(Graph_in.RangeMap()), Comm_(Graph_in.Comm()), OverlapGraph_(Graph_in.OverlapGraph_), OverlapRowMap_(Graph_in.OverlapRowMap_), OverlapImporter_(Graph_in.OverlapImporter_), LevelFill_(Graph_in.LevelFill_), LevelOverlap_(Graph_in.LevelOverlap_), IndexBase_(Graph_in.IndexBase_), NumGlobalRows_(Graph_in.NumGlobalRows_), NumGlobalCols_(Graph_in.NumGlobalCols_), NumGlobalBlockRows_(Graph_in.NumGlobalBlockRows_), NumGlobalBlockCols_(Graph_in.NumGlobalBlockCols_), NumGlobalBlockDiagonals_(Graph_in.NumGlobalBlockDiagonals_), NumGlobalNonzeros_(Graph_in.NumGlobalNonzeros_), NumGlobalEntries_(Graph_in.NumGlobalEntries_), NumMyBlockRows_(Graph_in.NumMyBlockRows_), NumMyBlockCols_(Graph_in.NumMyBlockCols_), NumMyRows_(Graph_in.NumMyRows_), NumMyCols_(Graph_in.NumMyCols_), NumMyBlockDiagonals_(Graph_in.NumMyBlockDiagonals_), NumMyNonzeros_(Graph_in.NumMyNonzeros_), NumMyEntries_(Graph_in.NumMyEntries_) { Epetra_CrsGraph & L_Graph_In = Graph_in.L_Graph(); Epetra_CrsGraph & U_Graph_In = Graph_in.U_Graph(); L_Graph_ = Teuchos::rcp( new Epetra_CrsGraph(L_Graph_In) ); U_Graph_ = Teuchos::rcp( new Epetra_CrsGraph(U_Graph_In) ); }
//============================================================================== Ifpack_CrsRiluk::Ifpack_CrsRiluk(const Ifpack_IlukGraph & Graph_in) : UserMatrixIsVbr_(false), UserMatrixIsCrs_(false), Graph_(Graph_in), Comm_(Graph_in.Comm()), UseTranspose_(false), NumMyDiagonals_(0), Allocated_(false), ValuesInitialized_(false), Factored_(false), RelaxValue_(0.0), Athresh_(0.0), Rthresh_(1.0), Condest_(-1.0), OverlapMode_(Zero) { // Test for non-trivial overlap here so we can use it later. IsOverlapped_ = (Graph_in.LevelOverlap()>0 && Graph_in.DomainMap().DistributedGlobal()); }