Go to the documentation of this file.
   10 #ifndef QXS_AFOPR_DOMAINWALL_5DIN_INCLUDED 
   11 #define QXS_AFOPR_DOMAINWALL_5DIN_INCLUDED 
   34 template<
typename AFIELD>
 
   47   std::vector<real_t> 
m_b;
 
   48   std::vector<real_t> 
m_c;
 
   69   std::vector<real_t> 
m_e;
 
   70   std::vector<real_t> 
m_f;
 
   79   using allocator_t = 
typename AFIELD::template aligned_allocator<char>;
 
   98                       const int Ns, 
const std::vector<int> bc,
 
   99                       const double b, 
const double c);
 
  106                         const std::vector<double> c);
 
  202   static bool register_factory()
 
  205       "Domainwall_5din", create_object_with_params);
 
  207       "Domainwall_General_5din", create_object_with_params);
 
  214 template<
class AFIELD>
 
  
 
void set_coefficients(const std::vector< double > b, const std::vector< double > c)
set coefficients if they depend in s.
 
void Ldag_inv(AFIELD &, const AFIELD &)
 
AFIELD m_v2
working 5d vectors.
 
std::vector< real_t > m_c
 
void mult(AFIELD &v, const AFIELD &w)
multiplies fermion operator to a given field.
 
void Precdag(AFIELD &, const AFIELD &)
 
void mult_Ddag(AFIELD &, const AFIELD &)
 
real_t m_M0
domain-wall height
 
void mult_dag(AFIELD &v, const AFIELD &w)
hermitian conjugate of mult.
 
int m_Ns
size of fifth-dimension
 
void Ddag(AFIELD &, const AFIELD &)
 
void set_config_omp(Field *u)
setting gauge configuration (setting omp parallel).
 
ChannelSet class for a collection of channels.
 
static const std::string class_name
 
int do_comm[4]
communication switch (4=Ndim): (0: n, 1: y).
 
std::string get_mode() const
returns the current mult mode.
 
int field_nin()
returns the on-site degree of freedom of the fermion field.
 
void D(AFIELD &, const AFIELD &)
 
void setup_channels()
setup channels for communication.
 
std::vector< int > m_boundary
boundary conditions
 
void D_prec(AFIELD &, const AFIELD &)
 
void convert(AFIELD &, const Field &)
convert Field to AField for this class.
 
int field_nex()
returns the external degree of freedom of the fermion field.
 
void mult_D(AFIELD &, const AFIELD &)
 
void Dhop_b(real_t *, real_t *)
 
void Dhop_1(real_t *, real_t *)
 
void Ddag_prec(AFIELD &, const AFIELD &)
 
std::vector< Channel > chrecv_dn
 
void set_config_impl(Field *u)
setting gauge configuration (implementation).
 
std::vector< real_t > m_dp
 
Optimal Domain-wall fermion operator.
 
void set_precond_parameters()
set parameters for preconditioning.
 
void L_inv(AFIELD &, const AFIELD &)
 
bool needs_convert()
this class needs convert of fermion field.
 
void Prec(AFIELD &, const AFIELD &)
 
std::vector< real_t > m_b
 
void Dhop_2(real_t *, real_t *)
 
std::vector< real_t > m_dpinv
 
AFIELD m_y4
working 4d vectors.
 
void DdagD(AFIELD &, const AFIELD &)
 
void DdagD_prec(AFIELD &, const AFIELD &)
 
std::vector< Channel > chsend_dn
 
std::vector< int > m_Nbdsize
 
std::vector< Channel > chrecv_up
 
void reverse(Field &, const AFIELD &)
reverse AField to Field.
 
void tidyup()
final tidyup.
 
static Bridge::VerboseLevel Vlevel()
 
void U_inv(AFIELD &, const AFIELD &)
 
std::vector< real_t > m_f
 
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
 
int field_nvol()
returns the volume of the fermion field.
 
void mult_gm5(AFIELD &v, const AFIELD &w)
mult_dag with specified mode.
 
void Udag_inv(AFIELD &, const AFIELD &)
 
std::vector< real_t > m_e
 
double flop_count()
this returns the number of floating point number operations.
 
Bridge::VerboseLevel m_vl
verbose level
 
void init(const Parameters ¶ms)
initial setup.
 
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
 
Container of Field-type object.
 
AFopr_Domainwall_5din(const Parameters ¶ms)
 
int do_comm_any
communication switch (if any): (0: n, 1: y).
 
typename AFIELD::template aligned_allocator< char > allocator_t
 
std::vector< real_t > m_dm
 
void Dhop(real_t *, real_t *)
hopping part of fermion operator.
 
std::vector< Channel > chsend_up
 
std::string m_repr
gamma matrix representation
 
void set_config(Field *U)
setting gauge configuration (common interface).