Chombo + EB  3.0
Public Member Functions | List of all members
MergeSolver< T > Class Template Reference

#include <MergeSolver.H>

Inheritance diagram for MergeSolver< T >:
Inheritance graph
[legend]

Public Member Functions

 MergeSolver ()
 
virtual ~MergeSolver ()
 
virtual void setHomogeneous (bool a_homogeneous)
 
virtual void define (LinearOp< LevelData< T > > *a_operator, bool a_homogeneous=false)
 
virtual void setConvergenceMetrics (Real a_metric, Real a_tolerance)
 Set a convergence metric, along with solver tolerance, if desired. More...
 
virtual void solve (LevelData< T > &a_phi, const LevelData< T > &a_rhs)
 only overridden virtual function More...
 
- Public Member Functions inherited from BiCGStabSolver< LevelData< T > >
 BiCGStabSolver ()
 
virtual ~BiCGStabSolver ()
 
- Public Member Functions inherited from LinearSolver< LevelData< T > >
virtual ~LinearSolver ()
 

Additional Inherited Members

- Public Attributes inherited from BiCGStabSolver< LevelData< T > >
bool m_homogeneous
 
LinearOp< LevelData< T > > * m_op
 
int m_imax
 
int m_verbosity
 
Real m_eps
 
Real m_reps
 
Real m_convergenceMetric
 
Real m_hang
 
int m_exitStatus
 
Real m_small
 
int m_numRestarts
 
int m_normType
 

Detailed Description

template<class T>
class MergeSolver< T >

Elliptic solver using the BiCGStab algorithm that turns the bottom solve into a single grid and solves on one processor if it can.

Constructor & Destructor Documentation

◆ MergeSolver()

template<class T >
MergeSolver< T >::MergeSolver ( )

◆ ~MergeSolver()

template<class T >
virtual MergeSolver< T >::~MergeSolver ( )
inlinevirtual

Member Function Documentation

◆ setHomogeneous()

template<class T >
virtual void MergeSolver< T >::setHomogeneous ( bool  a_homogeneous)
inlinevirtual

reset whether the solver is homogeneous.

Reimplemented from BiCGStabSolver< LevelData< T > >.

◆ define()

template<class T >
virtual void MergeSolver< T >::define ( LinearOp< LevelData< T > > *  a_op,
bool  a_homogeneous = false 
)
inlinevirtual

define the solver. a_op is the linear operator. a_homogeneous is whether the solver uses homogeneous boundary conditions.

Reimplemented from BiCGStabSolver< LevelData< T > >.

◆ setConvergenceMetrics()

template<class T >
virtual void MergeSolver< T >::setConvergenceMetrics ( Real  a_metric,
Real  a_tolerance 
)
inlinevirtual

Set a convergence metric, along with solver tolerance, if desired.

Default implementation does nothing, since there are probably cases (liked direct solves), where this has no real meaning.

Reimplemented from BiCGStabSolver< LevelData< T > >.

References MergeSolver< T >::solve().

◆ solve()

template<class T >
void MergeSolver< T >::solve ( LevelData< T > &  a_phi,
const LevelData< T > &  a_rhs 
)
virtual

The documentation for this class was generated from the following file: