Bridge++  Ver. 2.0.2
Fopr_Rational_SF Class Reference

Fermion operator for rational approximation. More...

#include <fopr_Rational_SF.h>

Inheritance diagram for Fopr_Rational_SF:
AFopr< Field >

Public Member Functions

 Fopr_Rational_SF (Fopr *fopr)
 
 Fopr_Rational_SF (Fopr *fopr, const Parameters &params)
 
 ~Fopr_Rational_SF ()
 
void set_parameters (const Parameters &params)
 sets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_parameters (const int Np, const int n_exp, const int d_exp, const double x_min, const double x_max, const int Niter, const double Stop_cond)
 
void get_parameters (Parameters &params) const
 gets parameters by a Parameter object: to be implemented in a subclass. More...
 
void set_config (Field *U)
 sets the gauge configuration. More...
 
void mult (Field &v, const Field &f)
 
void mult_dag (Field &v, const Field &f)
 hermitian conjugate of mult. More...
 
double func (const double x)
 
int field_nvol ()
 returns the volume of the fermion field. More...
 
int field_nin ()
 returns the on-site degree of freedom of the fermion field. More...
 
int field_nex ()
 returns the external degree of freedom of the fermion field. More...
 
double flop_count ()
 this returns the number of floating point operations. More...
 
- Public Member Functions inherited from AFopr< Field >
 AFopr ()
 
virtual ~AFopr ()
 
virtual void set_mode (std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
virtual std::string get_mode () const
 returns the current mult mode. More...
 
virtual void mult (Field &, const Field &, const std::string mode)
 executes mult with specified mode (unchanging internal mode). More...
 
virtual void mult_dag (Field &, const Field &, const std::string mode)
 executes mult_dag with specified mode (unchanging internal mode). More...
 
virtual void mult_gm5 (Field &, const Field &)
 multiplies gamma_5 matrix. More...
 
virtual void mult_up (int mu, Field &, const Field &)
 upward nearest neighbor hopping term. More...
 
virtual void mult_dn (int mu, Field &, const Field &)
 downward nearest neighbor hopping term. More...
 
virtual void normalize_fprop (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual void normalize_fopr (Field &)
 normalize propagator if necessary (default: do nothing) More...
 
virtual double flop_count (const std::string mode)
 returns the flops per site for specified mode. More...
 
virtual bool needs_convert ()
 returns true if additional field conversion is needed. More...
 
virtual void convert (Field &, const Field &)
 converts a Field object into other format if necessary. More...
 
virtual void reverse (Field &, const Field &)
 converts an alternative field to a Field object. More...
 

Static Public Attributes

static const std::string class_name = "Fopr_Rational_SF"
 

Private Member Functions

void init_parameters ()
 

Private Attributes

Bridge::VerboseLevel m_vl
 
int m_Np
 
int m_n_exp
 
int m_d_exp
 
double m_x_min
 
double m_x_max
 
int m_Niter
 
double m_Stop_cond
 
Foprm_fopr
 
Shiftsolver_CGm_solver
 
double m_a0
 
std::vector< double > m_cl
 
std::vector< double > m_bl
 
std::vector< Fieldm_xq
 

Additional Inherited Members

- Static Protected Attributes inherited from AFopr< Field >
static const std::string class_name
 

Detailed Description

Fermion operator for rational approximation.

This class generates fermion operator with rational approximation for a given fermion operator (given to the constructer). Shift-solver is used which is at present set to the CG solver explicitly.

  • Modified for a Wilson type Dirac operator with SF BC.
  • A modification is to set the field value at the temporal boundary to zero before and after a multiplication of the Dirac operator.
  • [07 Apr 2012 Y.Taniguchi]

(Coding history will be recovered from trac.) YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]

Definition at line 44 of file fopr_Rational_SF.h.

Constructor & Destructor Documentation

◆ Fopr_Rational_SF() [1/2]

Fopr_Rational_SF::Fopr_Rational_SF ( Fopr fopr)
inline

Definition at line 68 of file fopr_Rational_SF.h.

◆ Fopr_Rational_SF() [2/2]

Fopr_Rational_SF::Fopr_Rational_SF ( Fopr fopr,
const Parameters params 
)
inline

Definition at line 71 of file fopr_Rational_SF.h.

◆ ~Fopr_Rational_SF()

Fopr_Rational_SF::~Fopr_Rational_SF ( )
inline

Definition at line 77 of file fopr_Rational_SF.h.

Member Function Documentation

◆ field_nex()

int Fopr_Rational_SF::field_nex ( )
inlinevirtual

returns the external degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 104 of file fopr_Rational_SF.h.

◆ field_nin()

int Fopr_Rational_SF::field_nin ( )
inlinevirtual

returns the on-site degree of freedom of the fermion field.

Implements AFopr< Field >.

Definition at line 103 of file fopr_Rational_SF.h.

◆ field_nvol()

int Fopr_Rational_SF::field_nvol ( )
inlinevirtual

returns the volume of the fermion field.

Implements AFopr< Field >.

Definition at line 102 of file fopr_Rational_SF.h.

◆ flop_count()

double Fopr_Rational_SF::flop_count ( )
virtual

this returns the number of floating point operations.

Reimplemented from AFopr< Field >.

Definition at line 203 of file fopr_Rational_SF.cpp.

◆ func()

double Fopr_Rational_SF::func ( const double  x)

Definition at line 190 of file fopr_Rational_SF.cpp.

◆ get_parameters()

void Fopr_Rational_SF::get_parameters ( Parameters params) const
virtual

gets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< Field >.

Definition at line 58 of file fopr_Rational_SF.cpp.

◆ init_parameters()

void Fopr_Rational_SF::init_parameters ( )
private

Definition at line 116 of file fopr_Rational_SF.cpp.

◆ mult()

void Fopr_Rational_SF::mult ( Field v,
const Field b 
)
virtual

A modification from the original funtion is:

  • Set the source vector at the boundary to zero by set_boundary_zero(v)
  • Set the sokution vector at the boundary to zero by set_boundary_zero(v)

Reimplemented from AFopr< Field >.

Definition at line 158 of file fopr_Rational_SF.cpp.

◆ mult_dag()

void Fopr_Rational_SF::mult_dag ( Field ,
const Field  
)
inlinevirtual

hermitian conjugate of mult.

Reimplemented from AFopr< Field >.

Definition at line 95 of file fopr_Rational_SF.h.

◆ set_config()

void Fopr_Rational_SF::set_config ( Field )
inlinevirtual

sets the gauge configuration.

Implements AFopr< Field >.

Definition at line 88 of file fopr_Rational_SF.h.

◆ set_parameters() [1/2]

void Fopr_Rational_SF::set_parameters ( const int  Np,
const int  n_exp,
const int  d_exp,
const double  x_min,
const double  x_max,
const int  Niter,
const double  Stop_cond 
)

Definition at line 73 of file fopr_Rational_SF.cpp.

◆ set_parameters() [2/2]

void Fopr_Rational_SF::set_parameters ( const Parameters params)
virtual

sets parameters by a Parameter object: to be implemented in a subclass.

Reimplemented from AFopr< Field >.

Definition at line 25 of file fopr_Rational_SF.cpp.

Member Data Documentation

◆ class_name

const std::string Fopr_Rational_SF::class_name = "Fopr_Rational_SF"
static

Definition at line 47 of file fopr_Rational_SF.h.

◆ m_a0

double Fopr_Rational_SF::m_a0
private

Definition at line 61 of file fopr_Rational_SF.h.

◆ m_bl

std::vector<double> Fopr_Rational_SF::m_bl
private

Definition at line 63 of file fopr_Rational_SF.h.

◆ m_cl

std::vector<double> Fopr_Rational_SF::m_cl
private

Definition at line 62 of file fopr_Rational_SF.h.

◆ m_d_exp

int Fopr_Rational_SF::m_d_exp
private

Definition at line 53 of file fopr_Rational_SF.h.

◆ m_fopr

Fopr* Fopr_Rational_SF::m_fopr
private

Definition at line 58 of file fopr_Rational_SF.h.

◆ m_n_exp

int Fopr_Rational_SF::m_n_exp
private

Definition at line 53 of file fopr_Rational_SF.h.

◆ m_Niter

int Fopr_Rational_SF::m_Niter
private

Definition at line 55 of file fopr_Rational_SF.h.

◆ m_Np

int Fopr_Rational_SF::m_Np
private

Definition at line 52 of file fopr_Rational_SF.h.

◆ m_solver

Shiftsolver_CG* Fopr_Rational_SF::m_solver
private

Definition at line 59 of file fopr_Rational_SF.h.

◆ m_Stop_cond

double Fopr_Rational_SF::m_Stop_cond
private

Definition at line 56 of file fopr_Rational_SF.h.

◆ m_vl

Bridge::VerboseLevel Fopr_Rational_SF::m_vl
private

Definition at line 50 of file fopr_Rational_SF.h.

◆ m_x_max

double Fopr_Rational_SF::m_x_max
private

Definition at line 54 of file fopr_Rational_SF.h.

◆ m_x_min

double Fopr_Rational_SF::m_x_min
private

Definition at line 54 of file fopr_Rational_SF.h.

◆ m_xq

std::vector<Field> Fopr_Rational_SF::m_xq
private

Definition at line 64 of file fopr_Rational_SF.h.


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