| 
    Bridge++
    Ver. 2.0.4
    
   | 
 
#include <afopr_Clover_coarse.h>
  
Public Types | |
| typedef AFIELD::real_t | real_t | 
| typedef AFIELD::complex_t | complex_t | 
Public Member Functions | |
| AFopr_Clover_coarse (const Parameters ¶ms) | |
| constructor.  More... | |
| AFopr_Clover_coarse () | |
| ~AFopr_Clover_coarse () | |
| destructor.  More... | |
| void | set_parameters (const Parameters ¶ms) | 
| setting parameters by a Parameter object.  More... | |
| void | set_parameters (const int num_testvectors, const std::vector< int > &coarse_lattice) | 
| setting parameters by values.  More... | |
| void | set_config (Field *u) | 
| setting gauge configuration.  More... | |
| bool | needs_convert () | 
| QXS version requires convert of spinor field.  More... | |
| void | convert (AFIELD &v, const Field &w) | 
| convert of spinor field.  More... | |
| void | reverse (Field &v, const AFIELD &w) | 
| reverse of spinor field.  More... | |
| void | set_mode (std::string mode) | 
| returns the pointer to gauge configuration.  More... | |
| std::string | get_mode () const | 
| returns mult mode.  More... | |
| void | mult (AFIELD &, const AFIELD &) | 
| multiplies fermion operator to a given field.  More... | |
| void | mult_dag (AFIELD &, const AFIELD &) | 
| hermitian conjugate of mult.  More... | |
| void | mult_gm5 (AFIELD &, const AFIELD &) | 
| multiplies gamma_5 matrix.  More... | |
| void | mult_csw (AFIELD &, const AFIELD &) | 
| void | mult_up (int mu, AFIELD &, const AFIELD &) | 
| upward nearest neighbor hopping term.  More... | |
| void | mult_dn (int mu, AFIELD &, const AFIELD &) | 
| downward nearest neighbor hopping term.  More... | |
| void | generate_coarse_op (AFopr_dd< AFIELD > *fine_afopr, const std::vector< AFIELD > &testvec) | 
| int | field_nin () | 
| returns inner size parameter.  More... | |
| int | field_nvol () | 
| returns local volume size parameter.  More... | |
| int | field_nex () | 
| returns external size parameter.  More... | |
| double | flop_count () | 
| returns floating operation counts.  More... | |
| double | flop_count (const std::string mode) | 
| returns floating operation counts for given mode.  More... | |
| void | dump () | 
| const std::string | class_name | 
| const std::string | class_name | 
  Public Member Functions inherited from AFopr< AFIELD > | |
| AFopr () | |
| virtual | ~AFopr () | 
| virtual void | get_parameters (Parameters ¶ms) const | 
| gets parameters by a Parameter object: to be implemented in a subclass.  More... | |
| virtual void | mult (AFIELD &, const AFIELD &, const std::string mode) | 
| executes mult with specified mode (unchanging internal mode).  More... | |
| virtual void | mult_dag (AFIELD &, const AFIELD &, const std::string mode) | 
| executes mult_dag with specified mode (unchanging internal mode).  More... | |
| virtual void | normalize_fprop (AFIELD &) | 
| normalize propagator if necessary (default: do nothing)  More... | |
| virtual void | normalize_fopr (AFIELD &) | 
| normalize propagator if necessary (default: do nothing)  More... | |
Static Public Attributes | |
| static const std::string | class_name = "AFopr_Clover_coarse" | 
Protected Types | |
| using | allocator_t = typename AFIELD::template aligned_allocator< char > | 
| using | Channel = Channel_impl< allocator_t > | 
Protected Attributes | |
| int | m_Nx | 
| int | m_Ny | 
| int | m_Nz | 
| int | m_Nt | 
| int | m_Nst | 
| int | m_Nxv | 
| int | m_Nyv | 
| int | m_Nstv | 
| int | m_num_testvectors | 
| int | m_ncol | 
| int | m_Nc | 
| int | m_Nc2 | 
| int | m_Nvc | 
| int | m_Ndf | 
| caution! not color, but just inner dof.  More... | |
| size_t | m_coarse_lvol | 
| AFIELD | m_U | 
| AFIELD | m_Clov | 
| AFIELD | m_v1 | 
| std::string | m_repr | 
| gamma matrix representation  More... | |
| Bridge::VerboseLevel | m_vl | 
| verbose level  More... | |
| AFIELD | workvec1 | 
| AFIELD | workvec2 | 
| AFIELD | workvec3 | 
| std::string | m_mode | 
| mult mode  More... | |
| AFIELD | m_v2 | 
| AFIELD | m_T | 
| clover term  More... | |
| int | do_comm [4] | 
| int | do_comm_any | 
| std::vector< int > | m_bdsize | 
| std::vector< Channel > | chsend_up | 
| std::vector< Channel > | chrecv_up | 
| std::vector< Channel > | chsend_dn | 
| std::vector< Channel > | chrecv_dn | 
| ChannelSet | chset_send | 
| ChannelSet | chset_recv | 
| std::vector< complex_t > | tmp_buffer1 | 
| std::vector< complex_t > | tmp_buffer2 | 
| std::vector< complex_t > | tmp_buffer3 | 
| std::vector< real_t * > | work_shifted | 
Private Member Functions | |
| void | init () | 
| initial setup.  More... | |
| void | tidyup () | 
| final tidy-up.  More... | |
| void | setup_channels () | 
| setup channels for communication.  More... | |
| void | set_boundary () | 
| inpose the boundary condition to link variable.  More... | |
| void | set_csw () | 
| set_csw now assumes Dirac repr.  More... | |
| void | mult_csw (real_t *, real_t *) | 
| set_csw now assumes Dirac repr.  More... | |
| void | DdagD (AFIELD &, const AFIELD &) | 
| void | Ddag (AFIELD &, const AFIELD &) | 
| void | H (AFIELD &, const AFIELD &) | 
| void | D (AFIELD &, const AFIELD &) | 
| void | mult_gm4 (AFIELD &, const AFIELD &) | 
| void | mult_D (AFIELD &, const AFIELD &) | 
| standard D mult.  More... | |
| void | mult_D_alt (AFIELD &, const AFIELD &) | 
| D mult using QWS library.  More... | |
| void | mult_D_alt_keep (AFIELD &, const AFIELD &) | 
| void | mult_D_alt_keep2 (AFIELD &, const AFIELD &) | 
| void | mult_xp (real_t *, real_t *) | 
| void | mult_xm (real_t *, real_t *) | 
| void | mult_yp (real_t *, real_t *) | 
| void | mult_ym (real_t *, real_t *) | 
| void | mult_zp (real_t *, real_t *) | 
| void | mult_zm (real_t *, real_t *) | 
| void | mult_tp (real_t *, real_t *) | 
| void | mult_tm (real_t *, real_t *) | 
| void | mult_xp1 (real_t *, real_t *) | 
| void | mult_xm1 (real_t *, real_t *) | 
| void | mult_yp1 (real_t *, real_t *) | 
| void | mult_ym1 (real_t *, real_t *) | 
| void | mult_zp1 (real_t *, real_t *) | 
| void | mult_zm1 (real_t *, real_t *) | 
| void | mult_tp1 (real_t *, real_t *) | 
| void | mult_tm1 (real_t *, real_t *) | 
| void | mult_xpb2 (real_t *, real_t *) | 
| void | mult_xmb2 (real_t *, real_t *) | 
| void | mult_ypb2 (real_t *, real_t *) | 
| void | mult_ymb2 (real_t *, real_t *) | 
| void | mult_zpb2 (real_t *, real_t *) | 
| void | mult_zmb2 (real_t *, real_t *) | 
| void | mult_tpb2 (real_t *, real_t *) | 
| void | mult_tmb2 (real_t *, real_t *) | 
| void | mult_gm5 (real_t *, real_t *) | 
| void | clear (real_t *) | 
| void | aypx (complex_t, real_t *, real_t *) | 
| void | gm5_aypx (complex_t, real_t *, real_t *) | 
| void | set_list () | 
Private Attributes | |
| std::vector< std::vector< int > > | m_list_boundary | 
| unique_ptr< Timer > | timer_pack | 
| unique_ptr< Timer > | timer_bulk | 
| unique_ptr< Timer > | timer_boundary | 
| unique_ptr< Timer > | timer_comm | 
| unique_ptr< Timer > | timer_comm_recv_wait | 
| unique_ptr< Timer > | timer_comm_send_wait | 
| unique_ptr< Timer > | timer_comm_send_start | 
| unique_ptr< Timer > | timer_comm_recv_start | 
| unique_ptr< Timer > | timer_comm_test_all | 
| unique_ptr< Timer > | timer_mult | 
| unique_ptr< Timer > | timer_clear | 
Additional Inherited Members | |
  Static Protected Attributes inherited from AFopr< AFIELD > | |
| static const std::string | class_name | 
Definition at line 40 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 78 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 79 of file afopr_Clover_coarse.h.
| typedef AFIELD::complex_t AFopr_Clover_coarse< AFIELD >::complex_t | 
Definition at line 44 of file afopr_Clover_coarse.h.
| typedef AFIELD::real_t AFopr_Clover_coarse< AFIELD >::real_t | 
Definition at line 43 of file afopr_Clover_coarse.h.
      
  | 
  inline | 
constructor.
Definition at line 90 of file afopr_Clover_coarse.h.
      
  | 
  inline | 
Definition at line 96 of file afopr_Clover_coarse.h.
      
  | 
  inline | 
destructor.
Definition at line 102 of file afopr_Clover_coarse.h.
      
  | 
  private | 
| const std::string AFopr_Clover_coarse< AField< double, QXS > >::class_name | 
Definition at line 43 of file afopr_Clover_coarse_double.cpp.
| const std::string AFopr_Clover_coarse< AField< float, QXS > >::class_name | 
Definition at line 43 of file afopr_Clover_coarse_float.cpp.
      
  | 
  private | 
Definition at line 1702 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
convert of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1331 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 1452 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 1473 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 1462 of file afopr_Clover_coarse-tmpl.h.
| void AFopr_Clover_coarse< AFIELD >::dump | ( | ) | 
      
  | 
  inlinevirtual | 
returns external size parameter.
Implements AFopr< AFIELD >.
Definition at line 152 of file afopr_Clover_coarse.h.
      
  | 
  inlinevirtual | 
returns inner size parameter.
Implements AFopr< AFIELD >.
Definition at line 146 of file afopr_Clover_coarse.h.
      
  | 
  inlinevirtual | 
returns local volume size parameter.
Implements AFopr< AFIELD >.
Definition at line 149 of file afopr_Clover_coarse.h.
      
  | 
  inlinevirtual | 
returns floating operation counts.
Reimplemented from AFopr< AFIELD >.
Definition at line 155 of file afopr_Clover_coarse.h.
      
  | 
  virtual | 
returns floating operation counts for given mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 2434 of file afopr_Clover_coarse-tmpl.h.
| void AFopr_Clover_coarse< AFIELD >::generate_coarse_op | ( | AFopr_dd< AFIELD > * | fine_afopr, | 
| const std::vector< AFIELD > & | testvec | ||
| ) | 
Definition at line 1172 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
returns mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1406 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
Definition at line 1693 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
initial setup.
Definition at line 846 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1414 of file afopr_Clover_coarse-tmpl.h.
| void AFopr_Clover_coarse< AFIELD >::mult_csw | ( | AFIELD & | v, | 
| const AFIELD & | w | ||
| ) | 
Definition at line 1498 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
set_csw now assumes Dirac repr.
Definition at line 1532 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
standard D mult.
Definition at line 1554 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
D mult using QWS library.
D mult using mult_xp, etc.
Definition at line 1663 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  virtual | 
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 1433 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
downward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1370 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  virtual | 
multiplies gamma_5 matrix.
Reimplemented from AFopr< AFIELD >.
Definition at line 1483 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 1513 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 2357 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 2300 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 2327 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 2221 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  virtual | 
upward nearest neighbor hopping term.
Reimplemented from AFopr< AFIELD >.
Definition at line 1347 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
Definition at line 1800 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Definition at line 1720 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Definition at line 1971 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Definition at line 1882 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Definition at line 2140 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Definition at line 2059 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  inlinevirtual | 
QXS version requires convert of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 115 of file afopr_Clover_coarse.h.
      
  | 
  virtual | 
reverse of spinor field.
Reimplemented from AFopr< AFIELD >.
Definition at line 1339 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
inpose the boundary condition to link variable.
      
  | 
  virtual | 
setting gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 1322 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
set_csw now assumes Dirac repr.
      
  | 
  private | 
Definition at line 1063 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
returns the pointer to gauge configuration.
setting mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 1393 of file afopr_Clover_coarse-tmpl.h.
| void AFopr_Clover_coarse< AFIELD >::set_parameters | ( | const int | num_testvectors, | 
| const std::vector< int > & | coarse_lattice | ||
| ) | 
setting parameters by values.
Definition at line 982 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  virtual | 
setting parameters by a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 958 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
setup channels for communication.
Definition at line 894 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  private | 
final tidy-up.
Definition at line 930 of file afopr_Clover_coarse-tmpl.h.
      
  | 
  protected | 
Definition at line 80 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 80 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 80 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 80 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 81 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 81 of file afopr_Clover_coarse.h.
      
  | 
  static | 
Definition at line 45 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 74 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 75 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 77 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 59 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 56 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 236 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
mult mode
Definition at line 68 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 53 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 53 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 52 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
caution! not color, but just inner dof.
Definition at line 54 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 48 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 49 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 48 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 51 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 54 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 48 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 49 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 48 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 49 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 48 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
gamma matrix representation
Definition at line 62 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
clover term
Definition at line 72 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 58 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 60 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 70 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
verbose level
Definition at line 64 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 239 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 238 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 247 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 240 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 244 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 241 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 243 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 242 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 245 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 246 of file afopr_Clover_coarse.h.
      
  | 
  private | 
Definition at line 237 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 83 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 84 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 85 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 86 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 66 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 66 of file afopr_Clover_coarse.h.
      
  | 
  protected | 
Definition at line 66 of file afopr_Clover_coarse.h.