50 #ifndef Xyce_N_NLS_NOX_SharedSystem_h
51 #define Xyce_N_NLS_NOX_SharedSystem_h
64 class Ifpack_IlukGraph;
65 class Ifpack_CrsRiluk;
91 Xyce::Linear::Vector& f,
92 Xyce::Linear::Matrix& jacobian,
93 Xyce::Linear::Vector& newton,
94 Xyce::Linear::Vector& gradient,
95 Xyce::Linear::System& lasSys,
101 void reset(Xyce::Linear::Vector& x,
102 Xyce::Linear::Vector& f,
103 Xyce::Linear::Matrix& jacobian,
104 Xyce::Linear::Vector& newton,
105 Xyce::Linear::Vector& gradient,
106 Xyce::Linear::System& lasSys,
138 Teuchos::ParameterList& params);
147 NOX::Abstract::MultiVector & dfdp,
165 void debugOutput1 (Xyce::Linear::Matrix & jacobian, Xyce::Linear::Vector & rhs);
166 void debugOutput3 (Xyce::Linear::Vector & dxVector, Xyce::Linear::Vector & xVector);
172 Teuchos::ParameterList& params,
214 #endif // Xyce_N_NLS_NOX_SharedSystem_h
bool areStateVectors(const Group *grp) const
void printSoln(std::ostream &os)
bool applyJacobian(const Vector &input, Vector &result) const
bool deletePreconditioner()
void reset(Xyce::Linear::Vector &x, Xyce::Linear::Vector &f, Xyce::Linear::Matrix &jacobian, Xyce::Linear::Vector &newton, Xyce::Linear::Vector &gradient, Xyce::Linear::System &lasSys, Interface &interface)
bool computeNewton(const Vector &F, Vector &Newton, Teuchos::ParameterList ¶ms)
Pure virtual class to augment a linear system.
Ifpack_CrsRiluk * ifpackPreconditionerPtr_
bool applyJacobianTranspose(const Vector &input, Vector &result) const
Interface * xyceInterfacePtr_
Vector & getSolutionVector()
void debugOutput3(Xyce::Linear::Vector &dxVector, Xyce::Linear::Vector &xVector)
bool computePreconditioner()
bool applyRightPreconditioning(bool useTranspose, Teuchos::ParameterList ¶ms, const Vector &input, Vector &result)
void printRes(std::ostream &os)
Xyce::Linear::System * getLasSystem()
SharedSystem(Xyce::Linear::Vector &x, Xyce::Linear::Vector &f, Xyce::Linear::Matrix &jacobian, Xyce::Linear::Vector &newton, Xyce::Linear::Vector &gradient, Xyce::Linear::System &lasSys, Interface &interface)
Vector * xyceGradientPtr_
const Xyce::Linear::Matrix & getJacobian() const
bool computeJacobian(Group *grp)
const Vector & getNewtonVector() const
void getStateVectors(const Group *grp)
bool computeGradient(const Vector &F, Vector &Gradient)
bool isJacobianOwner(const Group *grp) const
bool computeF(const Vector &solution, Vector &F, const Group *grp)
const Group * ownerOfJacobian_
Xyce::Linear::System * xyceLasSysPtr_
void debugOutput1(Xyce::Linear::Matrix &jacobian, Xyce::Linear::Vector &rhs)
void print(std::ostream &os) const
const Group * ownerOfStateVectors_
Vector * cloneSolutionVector() const
Xyce::Linear::Matrix * xyceJacobianPtr_
bool computeDfDpMulti(const std::vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)
Ifpack_IlukGraph * ifpackGraphPtr_