Go to the documentation of this file.
10 #ifndef AFOPR_OPTIMALDOMAINWALL_INCLUDED
11 #define AFOPR_OPTIMALDOMAINWALL_INCLUDED
22 #include "lib_alt/Fopr/afopr_Domainwall_General.h"
31 template<
typename AFIELD>
44 std::vector<double>
m_b;
45 std::vector<double>
m_c;
70 void set_parameters(
const double mq,
const double M0,
const int Ns,
71 const std::vector<int> bc,
72 const double b,
const double c,
73 const double lambda_min,
const double lambda_max);
106 {
return m_foprdw->flop_count(mode); }
111 const double lambda_min,
112 const double lambda_max);
120 static bool register_factory()
123 "OptimalDomainwall", create_object_with_params);
int m_Ndim
spacetime dimensions
Bridge::VerboseLevel m_vl
verbose level
void mult(AFIELD &v, const AFIELD &w, std::string mode)
mult with specified mode.
void mult_gm5(AFIELD &v, const AFIELD &w)
multiplies gamma_5 matrix.
std::vector< int > m_boundary
boundary conditions
void mult(AFIELD &v, const AFIELD &w)
multiplies fermion operator to a given field.
int m_Ns
size of fifth-dimension
void set_config(Field *U)
sets the gauge configuration.
double flop_count()
this returns the number of floating point number operations.
double flop_count(std::string mode)
flop-count for specified mode.
void init(const Parameters ¶ms)
initial setup.
std::vector< double > m_b
int field_nex()
returns the external degree of freedom of the fermion field.
int field_nin()
returns the on-site degree of freedom of the fermion field.
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.
Alternative version of the Optimal Domain-wall fermion operator.
void mult_dag(AFIELD &v, const AFIELD &w)
hermitian conjugate of mult.
AFopr_OptimalDomainwall(const Parameters ¶ms)
void set_config(unique_ptr< Field_G > &U)
~AFopr_OptimalDomainwall()
std::string get_mode() const
returns the current mult mode.
AFopr_Domainwall_General< AFIELD > * m_foprdw
void set_optimalDomainwall(const double b, const double c, const double lambda_min, const double lambda_max)
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
void tidyup()
final tidyup.
double m_M0
domain-wall height
std::vector< double > m_c
Container of Field-type object.
static const std::string class_name