44 #ifndef NOX_EPETRA_LINEARSYSTEMSGGS_H 45 #define NOX_EPETRA_LINEARSYSTEMSGGS_H 49 #ifdef HAVE_STOKHOS_NOX 51 #include "NOX_Common.H" 53 #include "NOX_Epetra_LinearSystem.H" 54 #include "NOX_Utils.H" 83 class LinearSystemSGGS :
public virtual NOX::Epetra::LinearSystem {
102 virtual ~LinearSystemSGGS();
108 virtual bool applyJacobian(
const NOX::Epetra::Vector& input,
109 NOX::Epetra::Vector& result)
const;
115 virtual bool applyJacobianTranspose(
const NOX::Epetra::Vector& input,
116 NOX::Epetra::Vector& result)
const;
123 const NOX::Epetra::Vector &input,
124 NOX::Epetra::Vector &result);
127 virtual bool applyRightPreconditioning(
bool useTranspose,
129 const NOX::Epetra::Vector& input,
130 NOX::Epetra::Vector& result)
const;
139 virtual bool computeJacobian(
const NOX::Epetra::Vector&
x);
142 virtual bool createPreconditioner(
const NOX::Epetra::Vector&
x,
144 bool recomputeGraph)
const;
147 virtual bool destroyPreconditioner()
const;
150 virtual bool recomputePreconditioner(
const NOX::Epetra::Vector&
x,
154 virtual PreconditionerReusePolicyType
155 getPreconditionerPolicy(
bool advanceReuseCounter=
true);
158 virtual bool isPreconditionerConstructed()
const;
161 virtual bool hasPreconditioner()
const;
165 getJacobianOperator()
const;
172 getGeneratedPrecOperator()
const;
195 bool is_stoch_parallel;
252 bool only_use_linear;
const IndexType const IndexType const IndexType const IndexType const ValueType const ValueType * x
Stokhos::Sparse3Tensor< int, double > Cijk_type