Bridge++  Ver. 2.0.2
MultiGrid< AFIELD1, AFIELD2 > Class Template Referenceabstract

#include <MultiGrid.h>

Inheritance diagram for MultiGrid< AFIELD1, AFIELD2 >:
MultiGrid_Clover< AFIELD1, AFIELD2 >

Public Types

typedef AFIELD1 Afield_coarse_t
 
typedef AFIELD2 Afield_fine_t
 
typedef AIndex_block_lex< typename AFIELD2::real_t, AFIELD2::IMPL > Index_t
 

Public Member Functions

 MultiGrid ()
 
 MultiGrid (const std::vector< int > &coarse_lattice, const std::vector< int > &fine_lattice, const int nin=0, const int nvec=0)
 
virtual ~MultiGrid ()
 
virtual void init (const std::vector< int > &coarse_lattice, const std::vector< int > &fine_lattice, const int nin, const int nvec)=0
 
virtual void set_afopr_coarse (AFopr< AFIELD1 > *afopr)
 
virtual void set_afopr_fine (AFopr< AFIELD2 > *afopr)
 
virtual const Index_tget_block_index () const =0
 
virtual std::vector< AFIELD2 > * get_testvectors ()=0
 
virtual const std::vector< AFIELD2 > * get_testvectors () const =0
 
virtual void set_testvectors ()=0
 
virtual void set_testvectors (const std::vector< AFIELD2 > &)=0
 
virtual void gramschmidt ()=0
 
virtual void gramschmidt (std::vector< AFIELD2 > &fine_vectors) const =0
 
virtual void make_fine_vector (AFIELD2 &, const AFIELD1 &) const =0
 
virtual void make_coarse_vector (AFIELD1 &, const AFIELD2 &) const =0
 

Protected Attributes

Bridge::VerboseLevel m_vl
 

Static Protected Attributes

static const std::string class_name
 

Private Member Functions

 MultiGrid (const MultiGrid &)
 
MultiGridoperator= (const MultiGrid &)
 

Detailed Description

template<class AFIELD1, class AFIELD2>
class MultiGrid< AFIELD1, AFIELD2 >

Definition at line 24 of file MultiGrid.h.

Member Typedef Documentation

◆ Afield_coarse_t

template<class AFIELD1 , class AFIELD2 >
typedef AFIELD1 MultiGrid< AFIELD1, AFIELD2 >::Afield_coarse_t

Definition at line 27 of file MultiGrid.h.

◆ Afield_fine_t

template<class AFIELD1 , class AFIELD2 >
typedef AFIELD2 MultiGrid< AFIELD1, AFIELD2 >::Afield_fine_t

Definition at line 28 of file MultiGrid.h.

◆ Index_t

template<class AFIELD1 , class AFIELD2 >
typedef AIndex_block_lex<typename AFIELD2::real_t, AFIELD2::IMPL> MultiGrid< AFIELD1, AFIELD2 >::Index_t

Definition at line 29 of file MultiGrid.h.

Constructor & Destructor Documentation

◆ MultiGrid() [1/3]

template<class AFIELD1 , class AFIELD2 >
MultiGrid< AFIELD1, AFIELD2 >::MultiGrid ( )
inline

Definition at line 36 of file MultiGrid.h.

◆ MultiGrid() [2/3]

template<class AFIELD1 , class AFIELD2 >
MultiGrid< AFIELD1, AFIELD2 >::MultiGrid ( const std::vector< int > &  coarse_lattice,
const std::vector< int > &  fine_lattice,
const int  nin = 0,
const int  nvec = 0 
)
inline

Definition at line 39 of file MultiGrid.h.

◆ ~MultiGrid()

template<class AFIELD1 , class AFIELD2 >
virtual MultiGrid< AFIELD1, AFIELD2 >::~MultiGrid ( )
inlinevirtual

Definition at line 45 of file MultiGrid.h.

◆ MultiGrid() [3/3]

template<class AFIELD1 , class AFIELD2 >
MultiGrid< AFIELD1, AFIELD2 >::MultiGrid ( const MultiGrid< AFIELD1, AFIELD2 > &  )
private

Member Function Documentation

◆ get_block_index()

template<class AFIELD1 , class AFIELD2 >
virtual const Index_t* MultiGrid< AFIELD1, AFIELD2 >::get_block_index ( ) const
pure virtual

◆ get_testvectors() [1/2]

template<class AFIELD1 , class AFIELD2 >
virtual const std::vector<AFIELD2>* MultiGrid< AFIELD1, AFIELD2 >::get_testvectors ( ) const
pure virtual

◆ get_testvectors() [2/2]

template<class AFIELD1 , class AFIELD2 >
virtual std::vector<AFIELD2>* MultiGrid< AFIELD1, AFIELD2 >::get_testvectors ( )
pure virtual

◆ gramschmidt() [1/2]

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::gramschmidt ( )
pure virtual

◆ gramschmidt() [2/2]

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::gramschmidt ( std::vector< AFIELD2 > &  fine_vectors) const
pure virtual

◆ init()

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::init ( const std::vector< int > &  coarse_lattice,
const std::vector< int > &  fine_lattice,
const int  nin,
const int  nvec 
)
pure virtual

◆ make_coarse_vector()

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::make_coarse_vector ( AFIELD1 &  ,
const AFIELD2 &   
) const
pure virtual

◆ make_fine_vector()

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::make_fine_vector ( AFIELD2 &  ,
const AFIELD1 &   
) const
pure virtual

◆ operator=()

template<class AFIELD1 , class AFIELD2 >
MultiGrid& MultiGrid< AFIELD1, AFIELD2 >::operator= ( const MultiGrid< AFIELD1, AFIELD2 > &  )
private

◆ set_afopr_coarse()

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::set_afopr_coarse ( AFopr< AFIELD1 > *  afopr)
inlinevirtual

Reimplemented in MultiGrid_Clover< AFIELD1, AFIELD2 >.

Definition at line 54 of file MultiGrid.h.

◆ set_afopr_fine()

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::set_afopr_fine ( AFopr< AFIELD2 > *  afopr)
inlinevirtual

Definition at line 55 of file MultiGrid.h.

◆ set_testvectors() [1/2]

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::set_testvectors ( )
pure virtual

◆ set_testvectors() [2/2]

template<class AFIELD1 , class AFIELD2 >
virtual void MultiGrid< AFIELD1, AFIELD2 >::set_testvectors ( const std::vector< AFIELD2 > &  )
pure virtual

Member Data Documentation

◆ class_name

template<class AFIELD1 , class AFIELD2 >
const std::string MultiGrid< AFIELD1, AFIELD2 >::class_name
staticprotected

Definition at line 32 of file MultiGrid.h.

◆ m_vl

template<class AFIELD1 , class AFIELD2 >
Bridge::VerboseLevel MultiGrid< AFIELD1, AFIELD2 >::m_vl
protected

Definition at line 33 of file MultiGrid.h.


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