Amesos Package Browser (Single Doxygen Collection) Development
Loading...
Searching...
No Matches
SpoolesOO.h
Go to the documentation of this file.
1// @HEADER
2// ***********************************************************************
3//
4// Amesos: Direct Sparse Solver Package
5// Copyright (2004) Sandia Corporation
6//
7// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8// license for use of this work by or on behalf of the U.S. Government.
9//
10// This library is free software; you can redistribute it and/or modify
11// it under the terms of the GNU Lesser General Public License as
12// published by the Free Software Foundation; either version 2.1 of the
13// License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23// USA
24// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
25//
26// ***********************************************************************
27// @HEADER
28
29#ifndef _SPOOLESOO_H_
30#define _SPOOLESOO_H_
31
32class Epetra_Comm;
33class Epetra_BlockMap;
34class Epetra_MultiVector;
35class Epetra_RowMatrix;
36// #include "Epetra_LinearProblem.h"
37#include "Epetra_Operator.h"
38#include "Epetra_Object.h"
39
40
42
51class SpoolesOO {
52
53 public:
54 SpoolesOO(Epetra_RowMatrix * A, Epetra_MultiVector * X, Epetra_MultiVector * B);
55
56 SpoolesOO();
57
58 virtual ~SpoolesOO(void);
59
60 int SetUserMatrix(Epetra_RowMatrix * UserMatrix);
61
62 int SetLHS(Epetra_MultiVector * X);
63
64 int SetRHS(Epetra_MultiVector * B);
65
66 Epetra_RowMatrix * GetUserMatrix() const {return(UserMatrix_);};
67
68 Epetra_MultiVector * GetLHS() const {return(X_);};
69
70 Epetra_MultiVector * GetRHS() const {return(B_);};
71
72 bool GetTrans( ) const { return Transpose_ ;} ;
73
74 void SetTrans( bool trans ) { Transpose_ = trans ;} ;
75
77
78 int Solve() ;
79
80 protected:
81
82 Epetra_Operator * UserOperator_;
83 Epetra_RowMatrix * UserMatrix_;
84 Epetra_Operator * PrecOperator_;
85 Epetra_RowMatrix * PrecMatrix_;
86 Epetra_MultiVector * X_;
87 Epetra_MultiVector * B_;
88
89
91
92 int x_LDA_;
93 double *x_;
94 int b_LDA_;
95 double *b_;
97};
98
99
100#endif /* _SPOOLESOO_H_ */
101
SpoolesOO: An object-oriented wrapper for Spooles.
Definition SpoolesOO.h:51
Epetra_MultiVector * GetRHS() const
Definition SpoolesOO.h:70
int SetRHS(Epetra_MultiVector *B)
Definition SpoolesOO.cpp:99
Epetra_MultiVector * B_
Definition SpoolesOO.h:87
bool GetTrans() const
Definition SpoolesOO.h:72
Epetra_MultiVector * GetLHS() const
Definition SpoolesOO.h:68
virtual ~SpoolesOO(void)
Definition SpoolesOO.cpp:73
Epetra_RowMatrix * PrecMatrix_
Definition SpoolesOO.h:85
int Solve()
Epetra_Operator * UserOperator_
Definition SpoolesOO.h:82
double * x_
Definition SpoolesOO.h:93
int SetLHS(Epetra_MultiVector *X)
Definition SpoolesOO.cpp:90
int b_LDA_
Definition SpoolesOO.h:94
int SetSpoolesDefaults()
Epetra_RowMatrix * UserMatrix_
Definition SpoolesOO.h:83
bool Transpose_
Definition SpoolesOO.h:90
bool inConstructor_
Definition SpoolesOO.h:96
Epetra_RowMatrix * GetUserMatrix() const
Definition SpoolesOO.h:66
int SetUserMatrix(Epetra_RowMatrix *UserMatrix)
Definition SpoolesOO.cpp:79
Epetra_Operator * PrecOperator_
Definition SpoolesOO.h:84
double * b_
Definition SpoolesOO.h:95
int x_LDA_
Definition SpoolesOO.h:92
Epetra_MultiVector * X_
Definition SpoolesOO.h:86
void SetTrans(bool trans)
Definition SpoolesOO.h:74