13 #ifndef _RELAXSOLVER_H_ 14 #define _RELAXSOLVER_H_ 19 #include "NamespaceHeader.H" 52 virtual void solve(T& a_phi,
const T& a_rhs);
137 m_op->create(r, a_rhs);
138 m_op->create(e, a_phi);
149 pout() <<
" RelaxSolver:: initial Residual norm = " 159 m_op->incr(a_phi, e, 1.0);
167 pout() <<
" RelaxSolver:: iteration = " << iter <<
" residual norm = " << norm <<
", rate = " << oldNorm/norm << endl;
169 if (norm <
m_eps*initialNorm)
break;
179 pout() <<
" RelaxSolver:: exit due to solver hang " << endl;
189 #include "NamespaceFooter.H" std::ostream & pout()
Use this in place of std::cout for program output.
Definition: LinearSolver.H:28
#define CH_assert(cond)
Definition: CHArray.H:37
virtual void define(LinearOp< T > *a_op, bool a_homogeneous)
Definition: RelaxSolver.H:124
Real norm(const BoxLayoutData< FArrayBox > &A, const Interval &interval, const int &p=2)
virtual void setHomogeneous(bool a_homogeneous)
Definition: RelaxSolver.H:37
int m_normType
Definition: RelaxSolver.H:76
#define CH_TIME(name)
Definition: CH_Timer.H:59
Real m_eps
Definition: RelaxSolver.H:88
double Real
Definition: REAL.H:33
Real m_hang
Definition: RelaxSolver.H:95
virtual void solve(T &a_phi, const T &a_rhs)
Definition: RelaxSolver.H:131
Real m_minNorm
Definition: RelaxSolver.H:97
bool m_homogeneous
Definition: RelaxSolver.H:58
Definition: LinearSolver.H:158
int m_verbosity
Definition: RelaxSolver.H:82
Definition: RelaxSolver.H:27
virtual ~RelaxSolver()
Definition: RelaxSolver.H:119
int m_imax
Definition: RelaxSolver.H:70
LinearOp< T > * m_op
Definition: RelaxSolver.H:64
RelaxSolver()
Definition: RelaxSolver.H:107