Class quark_dw_ovlp_class
In: QuarkDwOvlpClass/quark_dw_ovlp_class.F90
QuarkDwOvlpClass_v0.1/quark_dw_ovlp_class.F90
comlib lattice_class logfile_class timer_class error_class solver_parameter_class chrolog_class field_fermion_class field_gauge_class quark_dwf_class quark_dw_ovlp_class dot/f_33.png

Defines Domainwall fermion and truncated-DW-Overlap fermion

Note chiral projection notation

$ R y = (1-\gamma_5) y = P^{-} y $ , $ L y = (1+gamma_5) y = P^{+} y $

Domainwall operator notation:

\[

 (D_{DW}(m_q))(n,m)_{s,r}  =  (5-M) E(n,m) \otimes E_{s,r}
               - \frac{1}{2} M_{hop}(n,m) \otimes E_{s,r} \] \[
          - E(n,m) \otimes \frac{1}{2}
                            \left[ (1-\gamma_5) \delta_{s+1,r}
                                 + (1+\gamma_5) \delta_{s-1,r} \right.  \] \[ \left.
                             - m_q (1-\gamma_5) \delta_{s,N}\delta_{1,r}
                             - m_q (1+\gamma_5) \delta_{s,1}\delta_{N,r} \right]

\]

Hoping operator notation:

\[

 M_{hop}(n,m) = \sum_{\mu=1}^{4}
     \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
          + (1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m} \right]

\]

Version

$Id: quark_dw_ovlp_class.F90,v 1.22 2011/06/14 11:10:33 ishikawa Exp $

Methods

CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   CRON_NSITE   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   abs2   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_add_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_add   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_mult_gamma5   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   accum_sub   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_add   assign_inv_mult_dagger_ov   assign_inv_mult_dagger_ov   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_dwf   assign_inv_mult_ov   assign_inv_mult_ov   assign_inv_mult_ov   assign_inv_mult_ov   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_dwf   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_gamma5   assign_mult_impterm_dwf   assign_mult_impterm_dwf   assign_mult_impterm_dwf   assign_mult_impterm_dwf   assign_mult_impterm_dwf   assign_mult_ov   assign_mult_ov   assign_mult_ov   assign_mult_ov   assign_proj_4dto5d   assign_proj_4dto5d   assign_proj_4dto5d   assign_proj_4dto5d   assign_proj_4dto5d   assign_proj_5dto4d   assign_proj_5dto4d   assign_proj_5dto4d   assign_proj_5dto4d   assign_proj_5dto4d   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   assign_sub   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   clear   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_boundary   copy_fq_time   copy_fq_time   copy_fq_time   copy_fq_time   copy_fq_time   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   delete   dwf_low_modes   dwf_low_modes   dwf_low_modes   dwf_low_modes   dwf_low_modes   field_dw_quark_wg   field_dw_quark_wg   field_dw_quark_wg   field_dw_quark_wg   field_quark_eo_wg   field_quark_eo_wg   field_quark_eo_wg   field_quark_eo_wg   field_quark_eo_wg   field_quark_eo_wog   field_quark_eo_wog   field_quark_eo_wog   field_quark_eo_wog   field_quark_eo_wog   field_quark_wg   field_quark_wg   field_quark_wg   field_quark_wg   field_quark_wg   field_quark_wog   field_quark_wog   field_quark_wog   field_quark_wog   field_quark_wog   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   force_hmc_hopping   get_NS   get_NS   get_NS   get_NS   get_NS   get_id   get_id   get_low_modes   get_low_modes   get_low_modes   get_low_modes   get_low_modes   get_mass   get_mass   get_mass   get_mass   get_mass   mult_hopping_tzyx_eo   mult_hopping_tzyx_eo   mult_hopping_tzyx_eo   mult_hopping_tzyx_eo   mult_hopping_tzyx_eo   mult_iter   mult_iter   mult_iter   mult_iter   mult_iter   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   new   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   pack   print   print   print   print   print   print   print   print   print   print   print   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   prod   quark_truncd_dw_overlap   quark_truncd_dw_overlap   read   read   read   read   read   save_config   save_config   save_config   save_config   save_config   set_coef   set_coef   set_coef   set_coef   set_coef   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_gaussian_noise   set_id   set_id   set_mass_pauli_villars   set_mass_pauli_villars   set_mass_physical   set_mass_physical   su3fv_spinor   su3fv_spinor   su3fv_spinor   su3fv_spinor   su3fv_spinor   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack   unpack  

Included Modules

comlib lattice_class logfile_class timer_class error_class solver_parameter_class chrolog_class field_fermion_class field_gauge_class quark_dwf_class

Public Instance methods

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

CRON_NSITE
Constant :
CRON_NSITE =NHSITE :integer, parameter
CRON_NSITE =NSITE :integer, parameter

Original external subprogram is quark_dwf_class#CRON_NSITE

abs2( pe ) result(my_abs2)
Function :
my_abs2 :real(DP)
pe :type(sfield_gluon_eo_wog), intent(in)

return squared norm of gauge field (momentum)

Original external subprogram is quark_dwf_class#abs2

abs2( pe ) result(my_abs2)
Function :
my_abs2 :real(DP)
pe :type(sfield_gluon_eo_wog), intent(in)

return squared norm of gauge field (momentum)

Original external subprogram is quark_dwf_class#abs2

abs2( pe ) result(my_abs2)
Function :
my_abs2 :real(DP)
pe :type(sfield_gluon_eo_wog), intent(in)

return squared norm of gauge field (momentum)

Original external subprogram is field_gauge_class#abs2

abs2( pe ) result(my_abs2)
Function :
my_abs2 :real(DP)
pe :type(sfield_gluon_eo_wog), intent(in)

return squared norm of gauge field (momentum)

Original external subprogram is field_gauge_class#abs2

abs2( pe ) result(my_abs2)
Function :
my_abs2 :real(DP)
pe :type(sfield_gluon_eo_wog), intent(in)

return squared norm of gauge field (momentum)

Original external subprogram is field_gauge_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)

abs2 = |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)

abs2 = |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)

abs2 = |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)

abs2 = |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_quark_wg), intent(in)

return |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_quark_wg), intent(in)

return |q|^2

Original external subprogram is quark_dwf_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_quark_wg), intent(in)

return |q|^2

Original external subprogram is field_fermion_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_quark_wg), intent(in)

return |q|^2

Original external subprogram is field_fermion_class#abs2

abs2( q ) result(my_abs2)
Function :
my_abs2 :real(DP)
q :type(field_quark_wg), intent(in)

return |q|^2

Original external subprogram is field_fermion_class#abs2

abs2( q, ieo ) result(fabs2)
Function :
fabs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

vector norm abs2

 q1^2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#abs2

abs2( q, ieo ) result(fabs2)
Function :
fabs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

vector norm abs2

 q1^2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#abs2

abs2( q, ieo ) result(fabs2)
Function :
fabs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

vector norm abs2

 q1^2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#abs2

abs2( q, ieo ) result(fabs2)
Function :
fabs2 :real(DP)
q :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

vector norm abs2

 q1^2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#abs2

abs2( qe ) result(my_abs2)
Function :
my_abs2 :real(DP)
qe :type(field_quark_eo_wg), intent(in)

return |qe|^2

Original external subprogram is quark_dwf_class#abs2

abs2( qe ) result(my_abs2)
Function :
my_abs2 :real(DP)
qe :type(field_quark_eo_wg), intent(in)

return |qe|^2

Original external subprogram is quark_dwf_class#abs2

abs2( qe ) result(my_abs2)
Function :
my_abs2 :real(DP)
qe :type(field_quark_eo_wg), intent(in)

return |qe|^2

Original external subprogram is field_fermion_class#abs2

abs2( qe ) result(my_abs2)
Function :
my_abs2 :real(DP)
qe :type(field_quark_eo_wg), intent(in)

return |qe|^2

Original external subprogram is field_fermion_class#abs2

abs2( qe ) result(my_abs2)
Function :
my_abs2 :real(DP)
qe :type(field_quark_eo_wg), intent(in)

return |qe|^2

Original external subprogram is field_fermion_class#abs2

accum_add( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 + q2

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 + q2

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 + q2

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 + q2

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate addition

 q1 = q1 + q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate addition

 q1 = q1 + q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate addition

 q1 = q1 + q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_add

accum_add( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate addition

 q1 = q1 + q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_add

accum_add( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 + q1

Original external subprogram is quark_dwf_class#accum_add

accum_add( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 + q1

Original external subprogram is quark_dwf_class#accum_add

accum_add( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 + q1

Original external subprogram is field_fermion_class#accum_add

accum_add( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 + q1

Original external subprogram is field_fermion_class#accum_add

accum_add( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 + q1

Original external subprogram is field_fermion_class#accum_add

accum_add( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e + q1e

Original external subprogram is quark_dwf_class#accum_add

accum_add( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e + q1e

Original external subprogram is quark_dwf_class#accum_add

accum_add( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e + q1e

Original external subprogram is field_fermion_class#accum_add

accum_add( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e + q1e

Original external subprogram is field_fermion_class#accum_add

accum_add( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e + q1e

Original external subprogram is field_fermion_class#accum_add

accum_add( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is quark_dwf_class#accum_add

accum_add( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is quark_dwf_class#accum_add

accum_add( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_add

accum_add( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_add

accum_add( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_add

accum_add_mult( p2e, p1e, coef )
Subroutine :
p2e :type(sfield_gluon_eo_wog), intent(inout)
p1e :type(sfield_gluon_eo_wog), intent(in)
coef :complex(DP), intent(in)
 p2e <= p2e + p1e * coef

Original external subprogram is field_gauge_class#accum_add_mult

accum_add_mult( p2e, p1e, coef )
Subroutine :
p2e :type(sfield_gluon_eo_wog), intent(inout)
p1e :type(sfield_gluon_eo_wog), intent(in)
coef :complex(DP), intent(in)
 p2e <= p2e + p1e * coef

Original external subprogram is field_gauge_class#accum_add_mult

accum_add_mult( p2e, p1e, coef )
Subroutine :
p2e :type(sfield_gluon_eo_wog), intent(inout)
p1e :type(sfield_gluon_eo_wog), intent(in)
coef :complex(DP), intent(in)
 p2e <= p2e + p1e * coef

Original external subprogram is field_gauge_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :complex(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :complex(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :complex(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :real(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :real(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2, q1, coef )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
coef :real(DP), intent(in)
 q2 <= q2 + q1 * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :complex(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :complex(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :complex(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :real(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :real(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_add_mult( q2e, q1e, coef )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
coef :real(DP), intent(in)
 q2e <= q2e + q1e * coef

Original external subprogram is field_fermion_class#accum_add_mult

accum_mult( q, ccoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
ccoef :complex(DP), intent(in)

q <= q * ccoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, ccoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
ccoef :complex(DP), intent(in)

q <= q * ccoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, ccoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
ccoef :complex(DP), intent(in)

q <= q * ccoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, ccoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
ccoef :complex(DP), intent(in)

q <= q * ccoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, rcoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
rcoef :real(DP), intent(in)

q <= q * rcoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, rcoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
rcoef :real(DP), intent(in)

q <= q * rcoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, rcoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
rcoef :real(DP), intent(in)

q <= q * rcoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q, rcoef )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
rcoef :real(DP), intent(in)

q <= q * rcoef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, coef )
Subroutine :
q1 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
 q1 <= q1 * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1, rtmp, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
rtmp :real(DP), intent(in)
ieo :integer, intent(in)

accumulate multiplication

 q1 = q1 * rtmp

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, rtmp, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
rtmp :real(DP), intent(in)
ieo :integer, intent(in)

accumulate multiplication

 q1 = q1 * rtmp

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, rtmp, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
rtmp :real(DP), intent(in)
ieo :integer, intent(in)

accumulate multiplication

 q1 = q1 * rtmp

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1, rtmp, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
rtmp :real(DP), intent(in)
ieo :integer, intent(in)

accumulate multiplication

 q1 = q1 * rtmp

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is quark_dwf_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult( q1e, coef )
Subroutine :
q1e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
 q1e <= q1e * coef

Original external subprogram is field_fermion_class#accum_mult

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :complex(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2, coef, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
coef :real(DP), intent(in)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 * coef + q1

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :complex(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_add( q2e, coef, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
coef :real(DP), intent(in)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e * coef + q1e

Original external subprogram is field_fermion_class#accum_mult_add

accum_mult_gamma5( y )
Subroutine :
y :type(field_dw_quark_wg), intent(inout)

Multiply Dowmainwall fermion GAMMA5

y <= Gamma5 y

this includes permutaion in extra-dimension.

\[ y(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_dw_quark_wg), intent(inout)

Multiply Dowmainwall fermion GAMMA5

y <= Gamma5 y

this includes permutaion in extra-dimension.

\[ y(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_dw_quark_wg), intent(inout)

Multiply Dowmainwall fermion GAMMA5

y <= Gamma5 y

this includes permutaion in extra-dimension.

\[ y(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_dw_quark_wg), intent(inout)

Multiply Dowmainwall fermion GAMMA5

y <= Gamma5 y

this includes permutaion in extra-dimension.

\[ y(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_dw_quark_wg), intent(inout)

Multiply Dowmainwall fermion GAMMA5

y <= Gamma5 y

this includes permutaion in extra-dimension.

\[ y(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

Multiply gamma_5 self (dirac rep.)

  y <= gamma_5 y

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

Multiply gamma_5 self (dirac rep.)

  y <= gamma_5 y

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_mult_gamma5( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

Multiply gamma_5 self (dirac rep.)

  y <= gamma_5 y

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_mult_gamma5( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion

Multiply gamma_5 self (dirac rep.)

  ye <= gamma_5 ye

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_mult_gamma5( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion

Multiply gamma_5 self (dirac rep.)

  ye <= gamma_5 ye

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_mult_gamma5( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion

Multiply gamma_5 self (dirac rep.)

  ye <= gamma_5 ye

Original external subprogram is field_fermion_class#accum_mult_gamma5

accum_sub( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 - q2

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 - q2

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 - q2

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2 )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)

q1 <= q1 - q2

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate subtraction

 q1 = q1 - q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate subtraction

 q1 = q1 - q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate subtraction

 q1 = q1 - q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Accumulate subtraction

 q1 = q1 - q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 - q1

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 - q1

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 - q1

Original external subprogram is field_fermion_class#accum_sub

accum_sub( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 - q1

Original external subprogram is field_fermion_class#accum_sub

accum_sub( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
 q2 <= q2 - q1

Original external subprogram is field_fermion_class#accum_sub

accum_sub( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e - q1e

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e - q1e

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e - q1e

Original external subprogram is field_fermion_class#accum_sub

accum_sub( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e - q1e

Original external subprogram is field_fermion_class#accum_sub

accum_sub( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
 q2e <= q2e - q1e

Original external subprogram is field_fermion_class#accum_sub

accum_sub( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is quark_dwf_class#accum_sub

accum_sub( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_sub

accum_sub( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_sub

accum_sub( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)

u2e <= u2e + u1e

Original external subprogram is field_gauge_class#accum_sub

assign( q, p )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
p :type(field_dw_quark_wg), intent(in)

q <= p

Original external subprogram is quark_dwf_class#assign

assign( q, p )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
p :type(field_dw_quark_wg), intent(in)

q <= p

Original external subprogram is quark_dwf_class#assign

assign( q, p )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
p :type(field_dw_quark_wg), intent(in)

q <= p

Original external subprogram is quark_dwf_class#assign

assign( q, p )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)
p :type(field_dw_quark_wg), intent(in)

q <= p

Original external subprogram is quark_dwf_class#assign

assign( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign

assign( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign

assign( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign

assign( q1, q2, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign

assign( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)

q2 <= q1

Original external subprogram is quark_dwf_class#assign

assign( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)

q2 <= q1

Original external subprogram is quark_dwf_class#assign

assign( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( q2, q1 )
Subroutine :
q2 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)

q2 <= q1

Original external subprogram is quark_dwf_class#assign

assign( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)

q2 <= q1

Original external subprogram is quark_dwf_class#assign

assign( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( q2e, q1e )
Subroutine :
q2e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)

q2 <= q1

Original external subprogram is field_fermion_class#assign

assign( qp1, qp2 )
Subroutine :
qp1 :type(quark_wilson), intent(inout)
qp2 :type(quark_wilson), intent(in)

Original external subprogram is quark_dwf_class#assign

assign( qp1, qp2 )
Subroutine :
qp1 :type(quark_wilson), intent(inout)
qp2 :type(quark_wilson), intent(in)

Original external subprogram is quark_dwf_class#assign

assign( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
 u2e <= u1e

Original external subprogram is quark_dwf_class#assign

assign( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
 u2e <= u1e

Original external subprogram is quark_dwf_class#assign

assign( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
 u2e <= u1e

Original external subprogram is field_gauge_class#assign

assign( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
 u2e <= u1e

Original external subprogram is field_gauge_class#assign

assign( u2e, u1e )
Subroutine :
u2e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
 u2e <= u1e

Original external subprogram is field_gauge_class#assign

assign_add( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

q3 <= q1 + q2

Original external subprogram is quark_dwf_class#assign_add

assign_add( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

q3 <= q1 + q2

Original external subprogram is quark_dwf_class#assign_add

assign_add( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

q3 <= q1 + q2

Original external subprogram is field_fermion_class#assign_add

assign_add( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

q3 <= q1 + q2

Original external subprogram is field_fermion_class#assign_add

assign_add( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

q3 <= q1 + q2

Original external subprogram is field_fermion_class#assign_add

assign_add( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

q3e <= q1e + q2e

Original external subprogram is quark_dwf_class#assign_add

assign_add( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

q3e <= q1e + q2e

Original external subprogram is quark_dwf_class#assign_add

assign_add( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

q3e <= q1e + q2e

Original external subprogram is field_fermion_class#assign_add

assign_add( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

q3e <= q1e + q2e

Original external subprogram is field_fermion_class#assign_add

assign_add( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

q3e <= q1e + q2e

Original external subprogram is field_fermion_class#assign_add

assign_add( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e <= u1e + u2e

Original external subprogram is quark_dwf_class#assign_add

assign_add( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e <= u1e + u2e

Original external subprogram is quark_dwf_class#assign_add

assign_add( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e <= u1e + u2e

Original external subprogram is field_gauge_class#assign_add

assign_add( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e <= u1e + u2e

Original external subprogram is field_gauge_class#assign_add

assign_add( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e <= u1e + u2e

Original external subprogram is field_gauge_class#assign_add

Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Hermitian conjugate of truncated DW Overlap operator

dy <= Dov’ \ y

\[ D_{OV}^{dag} = e^{dag} P^{dag} D_{DW}(m_q)^{dag} D_{DW}(1)^{dag,-1} P e \]

\[ (D_{OV}^{dag})^{-1} = e^{dag} P^{dag} D_{DW}(1)^{dag} D_{DW}(m_q)^{dag,-1} P e \]

[Source]

subroutine assign_inv_mult_dagger_tdwov(this,iout,tol,iiter,dy,y,u,cron)
!
! Assign and multiply inverse Hermitian conjugate of truncated DW Overlap operator
!
! dy <= Dov' \ y
!
!\[
! D_{OV}^{\dag} = e^{\dag} P^{\dag} D_{DW}(m_q)^{\dag} D_{DW}(1)^{\dag,-1} P e
!\]
!
!\[
! (D_{OV}^{\dag})^{-1} = e^{\dag} P^{\dag} D_{DW}(1)^{\dag} D_{DW}(m_q)^{\dag,-1} P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(chrolog_alg), optional, intent(inout) :: cron

  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS
  logical :: dagger

!  write(*,*)"assign_inv_mult_dagger_tdwov"

  dagger=.true.

  allocate(py,cy)
  NS = get_NS(this)
  call new(py,NS)
  call new(cy,NS)

  call assign_proj_4dto5d(py,y)

  !==============================================
  ! multiply inverse Ddw(mq)^dag : physical operator
  ! cy <= Ddw(mq)^dag \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,dagger=dagger,cron=cron) 

  !=========================================
  ! multiply Ddw(1)^dag : PV operator
  ! py <= Ddw(1)^dag cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u,dagger=dagger)
  call set_mass_physical(this)
  call delete(cy)

  call assign_proj_5dto4d(dy,py)
  call delete(py)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Hermitian conjugate of truncated DW Overlap operator

dy <= Dov’ \ y

\[ D_{OV}^{dag} = e^{dag} P^{dag} D_{DW}(m_q)^{dag} D_{DW}(1)^{dag,-1} P e \]

\[ (D_{OV}^{dag})^{-1} = e^{dag} P^{dag} D_{DW}(1)^{dag} D_{DW}(m_q)^{dag,-1} P e \]

[Source]

subroutine assign_inv_mult_dagger_tdwov(this,iout,tol,iiter,dy,y,u,cron)
!
! Assign and multiply inverse Hermitian conjugate of truncated DW Overlap operator
!
! dy <= Dov' \ y
!
!\[
! D_{OV}^{\dag} = e^{\dag} P^{\dag} D_{DW}(m_q)^{\dag} D_{DW}(1)^{\dag,-1} P e
!\]
!
!\[
! (D_{OV}^{\dag})^{-1} = e^{\dag} P^{\dag} D_{DW}(1)^{\dag} D_{DW}(m_q)^{\dag,-1} P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(chrolog_alg), optional, intent(inout) :: cron

  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS
  logical :: dagger

!  write(*,*)"assign_inv_mult_dagger_tdwov"

  dagger=.true.

  allocate(py,cy)
  NS = get_NS(this)
  call new(py,NS)
  call new(cy,NS)

  call assign_proj_4dto5d(py,y)

  !==============================================
  ! multiply inverse Ddw(mq)^dag : physical operator
  ! cy <= Ddw(mq)^dag \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,dagger=dagger,cron=cron) 

  !=========================================
  ! multiply Ddw(1)^dag : PV operator
  ! py <= Ddw(1)^dag cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u,dagger=dagger)
  call set_mass_physical(this)
  call delete(cy)

  call assign_proj_5dto4d(dy,py)
  call delete(py)
  deallocate(py,cy)

  return
end subroutine
assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, LV )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)

Assign and multiply inverse low-mode improved Domainwall operator

dy <= Ddw \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, LV )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)

Assign and multiply inverse low-mode improved Domainwall operator

dy <= Ddw \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, LV )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)

Assign and multiply inverse low-mode improved Domainwall operator

dy <= Ddw \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, LV )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)

Assign and multiply inverse low-mode improved Domainwall operator

dy <= Ddw \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, LV )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)

Assign and multiply inverse low-mode improved Domainwall operator

dy <= Ddw \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, [dagger], [cron] )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Domainwall operator

dy <= Ddw \ y

or

dy <= Ddw^dag \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, [dagger], [cron] )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Domainwall operator

dy <= Ddw \ y

or

dy <= Ddw^dag \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, [dagger], [cron] )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Domainwall operator

dy <= Ddw \ y

or

dy <= Ddw^dag \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, [dagger], [cron] )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Domainwall operator

dy <= Ddw \ y

or

dy <= Ddw^dag \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

assign_inv_mult_dwf( this, iout, tol, iiter, dy, y, u, [dagger], [cron] )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse Domainwall operator

dy <= Ddw \ y

or

dy <= Ddw^dag \ y

using CGNE solver

Original external subprogram is quark_dwf_class#assign_inv_mult_dwf

Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
LV :type(dwf_low_modes), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)

Assign and multiply inverse truncated DW Overlap operator with kernel lowmode improvement

dy <= Dov \ y

\[ D_{OV} = e^{dag} P^{dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e \]

\[ D_{OV}^{-1} = e^{dag} P^{dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e \]

[Source]

subroutine assign_inv_mult_lowprojd_tdwov(this,LV,iout,tol,iiter,dy,y,u)
!
! Assign and multiply inverse truncated DW Overlap operator
! with kernel lowmode improvement
!
! dy <= Dov \ y
!
!\[
! D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e
!\]
!
!\[
! D_{OV}^{-1} = e^{\dag} P^{\dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  type(dwf_low_modes),           intent(in)    :: LV
  integer,                       intent(in)    :: iout
  real(DP),                      intent(in)    :: tol
  integer,                       intent(inout) :: iiter
  type(field_quark_wg),          intent(inout) :: dy
  type(field_quark_wg),          intent(inout) ::  y
  type(vfield_gluon_wg),         intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(1) : PV operator
  ! py <= Ddw(1) cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u,LV)
  call set_mass_physical(this)

  !==============================================
  ! multiply inverse Ddw(mq) : physical operator
  ! cy <= Ddw(mq) \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,LV)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)
  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
LV :type(dwf_low_modes), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)

Assign and multiply inverse truncated DW Overlap operator with kernel lowmode improvement

dy <= Dov \ y

\[ D_{OV} = e^{dag} P^{dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e \]

\[ D_{OV}^{-1} = e^{dag} P^{dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e \]

[Source]

subroutine assign_inv_mult_lowprojd_tdwov(this,LV,iout,tol,iiter,dy,y,u)
!
! Assign and multiply inverse truncated DW Overlap operator
! with kernel lowmode improvement
!
! dy <= Dov \ y
!
!\[
! D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e
!\]
!
!\[
! D_{OV}^{-1} = e^{\dag} P^{\dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  type(dwf_low_modes),           intent(in)    :: LV
  integer,                       intent(in)    :: iout
  real(DP),                      intent(in)    :: tol
  integer,                       intent(inout) :: iiter
  type(field_quark_wg),          intent(inout) :: dy
  type(field_quark_wg),          intent(inout) ::  y
  type(vfield_gluon_wg),         intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(1) : PV operator
  ! py <= Ddw(1) cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u,LV)
  call set_mass_physical(this)

  !==============================================
  ! multiply inverse Ddw(mq) : physical operator
  ! cy <= Ddw(mq) \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,LV)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)
  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse truncated DW Overlap operator

dy <= Dov \ y

\[ D_{OV} = e^{dag} P^{dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e \]

\[ D_{OV}^{-1} = e^{dag} P^{dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e \]

[Source]

subroutine assign_inv_mult_tdwov(this,iout,tol,iiter,dy,y,u,cron)
!
! Assign and multiply inverse truncated DW Overlap operator
!
! dy <= Dov \ y
!
!\[
! D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e
!\]
!
!\[
! D_{OV}^{-1} = e^{\dag} P^{\dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(chrolog_alg), optional, intent(inout) :: cron
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

!  write(*,*)"assign_inv_mult_tdwov"

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(1) : PV operator
  ! py <= Ddw(1) cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u)
  call set_mass_physical(this)


  !==============================================
  ! multiply inverse Ddw(mq) : physical operator
  ! cy <= Ddw(mq) \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,cron=cron) 
  call delete(py)

  call assign_proj_5dto4d(dy,cy)
  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)
cron :type(chrolog_alg), optional, intent(inout)

Assign and multiply inverse truncated DW Overlap operator

dy <= Dov \ y

\[ D_{OV} = e^{dag} P^{dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e \]

\[ D_{OV}^{-1} = e^{dag} P^{dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e \]

[Source]

subroutine assign_inv_mult_tdwov(this,iout,tol,iiter,dy,y,u,cron)
!
! Assign and multiply inverse truncated DW Overlap operator
!
! dy <= Dov \ y
!
!\[
! D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_q) P e
!\]
!
!\[
! D_{OV}^{-1} = e^{\dag} P^{\dag} D_{DW}(m_q)^{-1} D_{DW}(1) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(chrolog_alg), optional, intent(inout) :: cron
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

!  write(*,*)"assign_inv_mult_tdwov"

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(1) : PV operator
  ! py <= Ddw(1) cy
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_mult_dwf(this,py,cy,u)
  call set_mass_physical(this)


  !==============================================
  ! multiply inverse Ddw(mq) : physical operator
  ! cy <= Ddw(mq) \ py
  !==============================================
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,cron=cron) 
  call delete(py)

  call assign_proj_5dto4d(dy,cy)
  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
assign_mult_dwf( this, dq, q, u, LV, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)
dagger :logical, optional, intent(in)

Assign and multiply Domainwall operator with low-mode improvement

dq <= (Ddw + W X W^dag gamma_5 (B+C M_5) ) q

or

dq <= (Ddw^dag + (B + C M_5^dag) gamma_5 W X W^dag) q

for dagger replace gamma_mu => -gamma_mu.

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, LV, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)
dagger :logical, optional, intent(in)

Assign and multiply Domainwall operator with low-mode improvement

dq <= (Ddw + W X W^dag gamma_5 (B+C M_5) ) q

or

dq <= (Ddw^dag + (B + C M_5^dag) gamma_5 W X W^dag) q

for dagger replace gamma_mu => -gamma_mu.

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, LV, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)
dagger :logical, optional, intent(in)

Assign and multiply Domainwall operator with low-mode improvement

dq <= (Ddw + W X W^dag gamma_5 (B+C M_5) ) q

or

dq <= (Ddw^dag + (B + C M_5^dag) gamma_5 W X W^dag) q

for dagger replace gamma_mu => -gamma_mu.

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, LV, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)
dagger :logical, optional, intent(in)

Assign and multiply Domainwall operator with low-mode improvement

dq <= (Ddw + W X W^dag gamma_5 (B+C M_5) ) q

or

dq <= (Ddw^dag + (B + C M_5^dag) gamma_5 W X W^dag) q

for dagger replace gamma_mu => -gamma_mu.

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, LV, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
LV :type(dwf_low_modes), intent(in)
dagger :logical, optional, intent(in)

Assign and multiply Domainwall operator with low-mode improvement

dq <= (Ddw + W X W^dag gamma_5 (B+C M_5) ) q

or

dq <= (Ddw^dag + (B + C M_5^dag) gamma_5 W X W^dag) q

for dagger replace gamma_mu => -gamma_mu.

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
: if present, Ddw^dagger is multiplyed.

assign and multiply dwf operaotr

dq <= Ddw q

or

dq <= Ddw^dag q

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
: if present, Ddw^dagger is multiplyed.

assign and multiply dwf operaotr

dq <= Ddw q

or

dq <= Ddw^dag q

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
: if present, Ddw^dagger is multiplyed.

assign and multiply dwf operaotr

dq <= Ddw q

or

dq <= Ddw^dag q

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
: if present, Ddw^dagger is multiplyed.

assign and multiply dwf operaotr

dq <= Ddw q

or

dq <= Ddw^dag q

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_dwf( this, dq, q, u, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)
dagger :logical, optional, intent(in)
: if present, Ddw^dagger is multiplyed.

assign and multiply dwf operaotr

dq <= Ddw q

or

dq <= Ddw^dag q

Original external subprogram is quark_dwf_class#assign_mult_dwf

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(in)

Multiply Dowmainwall fermion GAMMA5

 gy <= Gamma5 y

this includes permutaion in extra-dimension.

\[ gy(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(in)

Multiply Dowmainwall fermion GAMMA5

 gy <= Gamma5 y

this includes permutaion in extra-dimension.

\[ gy(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(in)

Multiply Dowmainwall fermion GAMMA5

 gy <= Gamma5 y

this includes permutaion in extra-dimension.

\[ gy(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(in)

Multiply Dowmainwall fermion GAMMA5

 gy <= Gamma5 y

this includes permutaion in extra-dimension.

\[ gy(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_dw_quark_wg), intent(inout)
y :type(field_dw_quark_wg), intent(in)

Multiply Dowmainwall fermion GAMMA5

 gy <= Gamma5 y

this includes permutaion in extra-dimension.

\[ gy(n,s) <= gamma_5 y(n,NS-s+1) \]

with $ s=1,cdots,NS. $

Original external subprogram is quark_dwf_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_quark_wg), intent(out)
y :type(field_quark_wg), intent(in)

Multiply gamma_5 (dirac rep.)

  gy <= gamma_5 y

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_quark_wg), intent(out)
y :type(field_quark_wg), intent(in)

Multiply gamma_5 (dirac rep.)

  gy <= gamma_5 y

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_gamma5( gy, y )
Subroutine :
gy :type(field_quark_wg), intent(out)
y :type(field_quark_wg), intent(in)

Multiply gamma_5 (dirac rep.)

  gy <= gamma_5 y

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_gamma5( gye, ye )
Subroutine :
gye :type(field_quark_eo_wg), intent(out)
: even/odd site fermion
ye :type(field_quark_eo_wg), intent(in)
: even/odd site fermion

Multiply gamma_5 (dirac rep.)

  gye <= gamma_5 ye

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_gamma5( gye, ye )
Subroutine :
gye :type(field_quark_eo_wg), intent(out)
: even/odd site fermion
ye :type(field_quark_eo_wg), intent(in)
: even/odd site fermion

Multiply gamma_5 (dirac rep.)

  gye <= gamma_5 ye

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_gamma5( gye, ye )
Subroutine :
gye :type(field_quark_eo_wg), intent(out)
: even/odd site fermion
ye :type(field_quark_eo_wg), intent(in)
: even/odd site fermion

Multiply gamma_5 (dirac rep.)

  gye <= gamma_5 ye

Original external subprogram is field_fermion_class#assign_mult_gamma5

assign_mult_impterm_dwf( this, dq, q, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
dagger :logical, optional, intent(in)

Assign and multiply improvement term

 dq = (B + C M5) q

or

 dq = (B + M5^dag C) q

 B^dag = B, C^dag = C

 M5: hopping in 5th direction

Original external subprogram is quark_dwf_class#assign_mult_impterm_dwf

assign_mult_impterm_dwf( this, dq, q, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
dagger :logical, optional, intent(in)

Assign and multiply improvement term

 dq = (B + C M5) q

or

 dq = (B + M5^dag C) q

 B^dag = B, C^dag = C

 M5: hopping in 5th direction

Original external subprogram is quark_dwf_class#assign_mult_impterm_dwf

assign_mult_impterm_dwf( this, dq, q, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
dagger :logical, optional, intent(in)

Assign and multiply improvement term

 dq = (B + C M5) q

or

 dq = (B + M5^dag C) q

 B^dag = B, C^dag = C

 M5: hopping in 5th direction

Original external subprogram is quark_dwf_class#assign_mult_impterm_dwf

assign_mult_impterm_dwf( this, dq, q, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
dagger :logical, optional, intent(in)

Assign and multiply improvement term

 dq = (B + C M5) q

or

 dq = (B + M5^dag C) q

 B^dag = B, C^dag = C

 M5: hopping in 5th direction

Original external subprogram is quark_dwf_class#assign_mult_impterm_dwf

assign_mult_impterm_dwf( this, dq, q, [dagger] )
Subroutine :
this :class(quark_domainwall), intent(in)
dq :type(field_dw_quark_wg), intent(inout)
q :type(field_dw_quark_wg), intent(inout)
dagger :logical, optional, intent(in)

Assign and multiply improvement term

 dq = (B + C M5) q

or

 dq = (B + M5^dag C) q

 B^dag = B, C^dag = C

 M5: hopping in 5th direction

Original external subprogram is quark_dwf_class#assign_mult_impterm_dwf

Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
LV :type(dwf_low_modes), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)

Assign and multiply truncated DW Overlap operator with kernel lowmode improvement

dy <= Dov y

\[

 D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e

\]

[Source]

subroutine assign_mult_lowprojd_tdwov(this,LV,iout,tol,iiter,dy,y,u)
!
! Assign and multiply truncated DW Overlap operator
! with kernel lowmode improvement
!
! dy <= Dov y
!
!\[
!  D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  type(dwf_low_modes),           intent(in)    :: LV
  integer,                       intent(in)    :: iout
  real(DP),                      intent(in)    :: tol
  integer,                       intent(inout) :: iiter
  type(field_quark_wg),          intent(inout) :: dy
  type(field_quark_wg),          intent(inout) ::  y
  type(vfield_gluon_wg),         intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS
  
  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(mq) : physical operator
  ! py = Ddw(mq) cy
  !=========================================
  call assign_mult_dwf(this,py,cy,u,LV)

  !=========================================
  ! multiply inverse Ddw(1) : PV operator
  ! cy = Ddw(1) \ py
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,LV)

  call set_mass_physical(this)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)

  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
LV :type(dwf_low_modes), intent(in)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg), intent(in)

Assign and multiply truncated DW Overlap operator with kernel lowmode improvement

dy <= Dov y

\[

 D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e

\]

[Source]

subroutine assign_mult_lowprojd_tdwov(this,LV,iout,tol,iiter,dy,y,u)
!
! Assign and multiply truncated DW Overlap operator
! with kernel lowmode improvement
!
! dy <= Dov y
!
!\[
!  D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  type(dwf_low_modes),           intent(in)    :: LV
  integer,                       intent(in)    :: iout
  real(DP),                      intent(in)    :: tol
  integer,                       intent(inout) :: iiter
  type(field_quark_wg),          intent(inout) :: dy
  type(field_quark_wg),          intent(inout) ::  y
  type(vfield_gluon_wg),         intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS
  
  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(mq) : physical operator
  ! py = Ddw(mq) cy
  !=========================================
  call assign_mult_dwf(this,py,cy,u,LV)

  !=========================================
  ! multiply inverse Ddw(1) : PV operator
  ! cy = Ddw(1) \ py
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u,LV)

  call set_mass_physical(this)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)

  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)

Assign and multiply truncated DW Overlap operator

dy <= Dov y

\[

 D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e

\]

[Source]

subroutine assign_mult_tdwov(this,iout,tol,iiter,dy,y,u)
!
! Assign and multiply truncated DW Overlap operator
!
! dy <= Dov y
!
!\[
!  D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

!  write(*,*)"assign_mult_tdwov"

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(mq) : physical operator
  ! py = Ddw(mq) cy
  !=========================================
  call assign_mult_dwf(this,py,cy,u)

  !=========================================
  ! multiply inverse Ddw(1) : PV operator
  ! cy = Ddw(1) \ py
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u)
  call set_mass_physical(this)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)

  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
dy :type(field_quark_wg), intent(inout)
y :type(field_quark_wg), intent(inout)
u :type(vfield_gluon_wg),intent(in)

Assign and multiply truncated DW Overlap operator

dy <= Dov y

\[

 D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e

\]

[Source]

subroutine assign_mult_tdwov(this,iout,tol,iiter,dy,y,u)
!
! Assign and multiply truncated DW Overlap operator
!
! dy <= Dov y
!
!\[
!  D_{OV} = e^{\dag} P^{\dag} D_{DW}(1)^{-1} D_{DW}(m_{q}) P e
!\]
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  integer,  intent(in) :: iout
  real(DP), intent(in) :: tol
  integer,  intent(inout) :: iiter
  type(field_quark_wg), intent(inout) :: dy
  type(field_quark_wg), intent(inout) ::  y
  type(vfield_gluon_wg),intent(in)    ::  u
  type(field_dw_quark_wg), allocatable ::  py
  type(field_dw_quark_wg), allocatable ::  cy
  integer :: NS

!  write(*,*)"assign_mult_tdwov"

  allocate(py,cy)
  NS = get_NS(this)
  call new(cy,NS)
  call new(py,NS)

  call assign_proj_4dto5d(cy,y)

  !=========================================
  ! multiply Ddw(mq) : physical operator
  ! py = Ddw(mq) cy
  !=========================================
  call assign_mult_dwf(this,py,cy,u)

  !=========================================
  ! multiply inverse Ddw(1) : PV operator
  ! cy = Ddw(1) \ py
  !=========================================
  call set_mass_pauli_villars(this)
  call assign_inv_mult_dwf(this,iout,tol,iiter,cy,py,u)
  call set_mass_physical(this)
  call delete(py)

  call assign_proj_5dto4d(dy,cy)

  call delete(cy)
  deallocate(py,cy)

  return
end subroutine
assign_proj_4dto5d( py, y )
Subroutine :
py :type(field_dw_quark_wg), intent(inout)
y :type(field_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (4D->5D)

  • $ py(1) = (P^{-} y)/2 $
  • $ py(2:NS-1) = 0 $
  • $ py(NS) = (P^{+} y)/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_4dto5d

assign_proj_4dto5d( py, y )
Subroutine :
py :type(field_dw_quark_wg), intent(inout)
y :type(field_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (4D->5D)

  • $ py(1) = (P^{-} y)/2 $
  • $ py(2:NS-1) = 0 $
  • $ py(NS) = (P^{+} y)/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_4dto5d

assign_proj_4dto5d( py, y )
Subroutine :
py :type(field_dw_quark_wg), intent(inout)
y :type(field_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (4D->5D)

  • $ py(1) = (P^{-} y)/2 $
  • $ py(2:NS-1) = 0 $
  • $ py(NS) = (P^{+} y)/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_4dto5d

assign_proj_4dto5d( py, y )
Subroutine :
py :type(field_dw_quark_wg), intent(inout)
y :type(field_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (4D->5D)

  • $ py(1) = (P^{-} y)/2 $
  • $ py(2:NS-1) = 0 $
  • $ py(NS) = (P^{+} y)/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_4dto5d

assign_proj_4dto5d( py, y )
Subroutine :
py :type(field_dw_quark_wg), intent(inout)
y :type(field_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (4D->5D)

  • $ py(1) = (P^{-} y)/2 $
  • $ py(2:NS-1) = 0 $
  • $ py(NS) = (P^{+} y)/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_4dto5d

assign_proj_5dto4d( y, py )
Subroutine :
y :type(field_quark_wg), intent(inout)
py :type(field_dw_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (5D->4D)

  • $ y = (P^{-} py(1) + P^{+} py(NS))/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_5dto4d

assign_proj_5dto4d( y, py )
Subroutine :
y :type(field_quark_wg), intent(inout)
py :type(field_dw_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (5D->4D)

  • $ y = (P^{-} py(1) + P^{+} py(NS))/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_5dto4d

assign_proj_5dto4d( y, py )
Subroutine :
y :type(field_quark_wg), intent(inout)
py :type(field_dw_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (5D->4D)

  • $ y = (P^{-} py(1) + P^{+} py(NS))/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_5dto4d

assign_proj_5dto4d( y, py )
Subroutine :
y :type(field_quark_wg), intent(inout)
py :type(field_dw_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (5D->4D)

  • $ y = (P^{-} py(1) + P^{+} py(NS))/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_5dto4d

assign_proj_5dto4d( y, py )
Subroutine :
y :type(field_quark_wg), intent(inout)
py :type(field_dw_quark_wg), intent(in)

Multiply permutation + chiral projection


Normal permutation + chiral projection (5D->4D)

  • $ y = (P^{-} py(1) + P^{+} py(NS))/2 $

  • $ (1-\gamma_5) y = P^{-} y $ .
  • $ (1+gamma_5) y = P^{+} y $ .

Original external subprogram is quark_dwf_class#assign_proj_5dto4d

assign_sub( q1, q2, q3, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
q3 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2 - q3

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q1, q2, q3, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
q3 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2 - q3

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q1, q2, q3, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
q3 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2 - q3

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q1, q2, q3, ieo )
Subroutine :
q1 :type(field_dw_quark_wg), intent(inout)
q2 :type(field_dw_quark_wg), intent(in)
q3 :type(field_dw_quark_wg), intent(in)
ieo :integer, intent(in)

Assign subtraction

 q1 = q2 - q3

 on even/odd sites only.

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)
 q3 <= q1 - q2

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)
 q3 <= q1 - q2

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)
 q3 <= q1 - q2

Original external subprogram is field_fermion_class#assign_sub

assign_sub( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)
 q3 <= q1 - q2

Original external subprogram is field_fermion_class#assign_sub

assign_sub( q3, q1, q2 )
Subroutine :
q3 :type(field_quark_wg), intent(inout)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)
 q3 <= q1 - q2

Original external subprogram is field_fermion_class#assign_sub

assign_sub( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)
 q3e <= q1e - q2e

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)
 q3e <= q1e - q2e

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)
 q3e <= q1e - q2e

Original external subprogram is field_fermion_class#assign_sub

assign_sub( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)
 q3e <= q1e - q2e

Original external subprogram is field_fermion_class#assign_sub

assign_sub( q3e, q1e, q2e )
Subroutine :
q3e :type(field_quark_eo_wg), intent(inout)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)
 q3e <= q1e - q2e

Original external subprogram is field_fermion_class#assign_sub

assign_sub( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e = u1e - u2e

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e = u1e - u2e

Original external subprogram is quark_dwf_class#assign_sub

assign_sub( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e = u1e - u2e

Original external subprogram is field_gauge_class#assign_sub

assign_sub( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e = u1e - u2e

Original external subprogram is field_gauge_class#assign_sub

assign_sub( u3e, u1e, u2e )
Subroutine :
u3e :type(sfield_gluon_eo_wg), intent(inout)
u1e :type(sfield_gluon_eo_wg), intent(in)
u2e :type(sfield_gluon_eo_wg), intent(in)

u3e = u1e - u2e

Original external subprogram is field_gauge_class#assign_sub

clear( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

q <= 0

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

q <= 0

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

q <= 0

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

q <= 0

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)

set zero on field

Original external subprogram is quark_dwf_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( qe )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)

set zero on field

Original external subprogram is field_fermion_class#clear

clear( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)

Original external subprogram is quark_dwf_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

clear( ue )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)

Original external subprogram is field_gauge_class#clear

copy_boundary( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

copy boundary

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

copy boundary

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

copy boundary

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( q )
Subroutine :
q :type(field_dw_quark_wg), intent(inout)

copy boundary

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Boundary copy for su(3) scalar field with periodic boundary condition.

 ue : even/odd site su3 scalar field (ieo=0/1)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Boundary copy for su(3) scalar field with periodic boundary condition.

 ue : even/odd site su3 scalar field (ieo=0/1)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Boundary copy for su(3) scalar field with periodic boundary condition.

 ue : even/odd site su3 scalar field (ieo=0/1)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Boundary copy for su(3) scalar field with periodic boundary condition.

 ue : even/odd site su3 scalar field (ieo=0/1)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)

Boundary copy for su(3) scalar field with periodic boundary condition.

 ue : even/odd site su3 scalar field (ieo=0/1)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( ue )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)

Original external subprogram is field_gauge_class#copy_boundary

copy_boundary( y )
Subroutine :
y :type(field_quark_wg), intent(inout)
 Boundary copy

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( y )
Subroutine :
y :type(field_quark_wg), intent(inout)
 Boundary copy

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( y )
Subroutine :
y :type(field_quark_wg), intent(inout)
 Boundary copy

Original external subprogram is field_fermion_class#copy_boundary

copy_boundary( y )
Subroutine :
y :type(field_quark_wg), intent(inout)
 Boundary copy

Original external subprogram is field_fermion_class#copy_boundary

copy_boundary( y )
Subroutine :
y :type(field_quark_wg), intent(inout)
 Boundary copy

Original external subprogram is field_fermion_class#copy_boundary

copy_boundary( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

Boundary copy on even/odd sites only

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

Boundary copy on even/odd sites only

Original external subprogram is quark_dwf_class#copy_boundary

copy_boundary( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

Boundary copy on even/odd sites only

Original external subprogram is field_fermion_class#copy_boundary

copy_boundary( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

Boundary copy on even/odd sites only

Original external subprogram is field_fermion_class#copy_boundary

copy_boundary( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

Boundary copy on even/odd sites only

Original external subprogram is field_fermion_class#copy_boundary

copy_fq_time
Variable :
copy_fq_time :type(timer), save
: contains total boundary copy elapse time

Original external subprogram is quark_dwf_class#copy_fq_time

copy_fq_time
Variable :
copy_fq_time :type(timer), save
: contains total boundary copy elapse time

Original external subprogram is quark_dwf_class#copy_fq_time

copy_fq_time
Variable :
copy_fq_time :type(timer), save
: contains total boundary copy elapse time

Original external subprogram is field_fermion_class#copy_fq_time

copy_fq_time
Variable :
copy_fq_time :type(timer), save
: contains total boundary copy elapse time

Original external subprogram is field_fermion_class#copy_fq_time

copy_fq_time
Variable :
copy_fq_time :type(timer), save
: contains total boundary copy elapse time

Original external subprogram is field_fermion_class#copy_fq_time

delete( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

delete dwf parameter

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

delete dwf parameter

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

delete dwf parameter

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

delete dwf parameter

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

delete dwf parameter

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(chrolog_alg), intent(inout)

Original external subprogram is chrolog_class#delete

delete( this )
Subroutine :
this :type(chrolog_alg), intent(inout)

Original external subprogram is chrolog_class#delete

delete( this )
Subroutine :
this :type(chrolog_alg), intent(inout)

Original external subprogram is chrolog_class#delete

delete( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

delete dwf low-modes container

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

delete dwf low-modes container

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

delete dwf low-modes container

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

delete dwf low-modes container

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

delete dwf low-modes container

Original external subprogram is quark_dwf_class#delete

delete( this )
Subroutine :
this :type(lattice_world), intent(inout)

Delete lattice constants, node information (next to nearest node rank etc.)

Original external subprogram is lattice_class#delete

delete( this )
Subroutine :
this :type(lattice_world), intent(inout)

Delete lattice constants, node information (next to nearest node rank etc.)

Original external subprogram is lattice_class#delete

delete( this )
Subroutine :
this :type(logfile), intent(inout)

delete logger object and close log file

  • this : logfile
  • fname : logging output file name

Original external subprogram is logfile_class#delete

delete( this )
Subroutine :
this :type(logfile), intent(inout)

delete logger object and close log file

  • this : logfile
  • fname : logging output file name

Original external subprogram is logfile_class#delete

delete( this )
Subroutine :
this :type(timer), intent(inout)

delete timer

Original external subprogram is timer_class#delete

delete( this )
Subroutine :
this :type(timer), intent(inout)

delete timer

Original external subprogram is timer_class#delete

dwf_low_modes
Derived Type :
NEV :integer

low modes continer for domain wall operator

Original external subprogram is quark_dwf_class#dwf_low_modes

dwf_low_modes
Derived Type :
NEV :integer

low modes continer for domain wall operator

Original external subprogram is quark_dwf_class#dwf_low_modes

dwf_low_modes
Derived Type :
NEV :integer

low modes continer for domain wall operator

Original external subprogram is quark_dwf_class#dwf_low_modes

dwf_low_modes
Derived Type :
NEV :integer

low modes continer for domain wall operator

Original external subprogram is quark_dwf_class#dwf_low_modes

dwf_low_modes
Derived Type :
NEV :integer

low modes continer for domain wall operator

Original external subprogram is quark_dwf_class#dwf_low_modes

field_dw_quark_wg
Derived Type :
s(:,:,:,:,:) :type(su3fv_spinor), allocatable
NS = 0 :integer
idummy(3) = 0 :integer

Original external subprogram is quark_dwf_class#field_dw_quark_wg

field_dw_quark_wg
Derived Type :
s(:,:,:,:,:) :type(su3fv_spinor), allocatable
NS = 0 :integer
idummy(3) = 0 :integer

Original external subprogram is quark_dwf_class#field_dw_quark_wg

field_dw_quark_wg
Derived Type :
s(:,:,:,:,:) :type(su3fv_spinor), allocatable
NS = 0 :integer
idummy(3) = 0 :integer

Original external subprogram is quark_dwf_class#field_dw_quark_wg

field_dw_quark_wg
Derived Type :
s(:,:,:,:,:) :type(su3fv_spinor), allocatable
NS = 0 :integer
idummy(3) = 0 :integer

Original external subprogram is quark_dwf_class#field_dw_quark_wg

field_quark_eo_wg
Derived Type :
s(0:NTH,0:NZ1,0:NY1,0:NX1) :type(su3fv_spinor)
: field
ieo :integer
: even-ness/odd-ness index
idummy(3) :integer
: dummy for memory alignment
 quark field on even/odd sites with ghost sites

Original external subprogram is quark_dwf_class#field_quark_eo_wg

field_quark_eo_wg
Derived Type :
s(0:NTH,0:NZ1,0:NY1,0:NX1) :type(su3fv_spinor)
: field
ieo :integer
: even-ness/odd-ness index
idummy(3) :integer
: dummy for memory alignment
 quark field on even/odd sites with ghost sites

Original external subprogram is quark_dwf_class#field_quark_eo_wg

field_quark_eo_wg
Derived Type :
s(0:NTH,0:NZ1,0:NY1,0:NX1) :type(su3fv_spinor)
: field
ieo :integer
: even-ness/odd-ness index
idummy(3) :integer
: dummy for memory alignment
 quark field on even/odd sites with ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wg

field_quark_eo_wg
Derived Type :
s(0:NTH,0:NZ1,0:NY1,0:NX1) :type(su3fv_spinor)
: field
ieo :integer
: even-ness/odd-ness index
idummy(3) :integer
: dummy for memory alignment
 quark field on even/odd sites with ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wg

field_quark_eo_wg
Derived Type :
s(0:NTH,0:NZ1,0:NY1,0:NX1) :type(su3fv_spinor)
: field
ieo :integer
: even-ness/odd-ness index
idummy(3) :integer
: dummy for memory alignment
 quark field on even/odd sites with ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wg

field_quark_eo_wog
Derived Type :
s(NTH,NZ,NY,NX) :type(su3fv_spinor)
ieo :integer
idummy(3) :integer
 quark field on even/odd sites without ghost sites

Original external subprogram is quark_dwf_class#field_quark_eo_wog

field_quark_eo_wog
Derived Type :
s(NTH,NZ,NY,NX) :type(su3fv_spinor)
ieo :integer
idummy(3) :integer
 quark field on even/odd sites without ghost sites

Original external subprogram is quark_dwf_class#field_quark_eo_wog

field_quark_eo_wog
Derived Type :
s(NTH,NZ,NY,NX) :type(su3fv_spinor)
ieo :integer
idummy(3) :integer
 quark field on even/odd sites without ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wog

field_quark_eo_wog
Derived Type :
s(NTH,NZ,NY,NX) :type(su3fv_spinor)
ieo :integer
idummy(3) :integer
 quark field on even/odd sites without ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wog

field_quark_eo_wog
Derived Type :
s(NTH,NZ,NY,NX) :type(su3fv_spinor)
ieo :integer
idummy(3) :integer
 quark field on even/odd sites without ghost sites

Original external subprogram is field_fermion_class#field_quark_eo_wog

field_quark_wg
Derived Type :
eo(0:1) :type(field_quark_eo_wg)
: even+odd field
 quark field with ghost sites

Original external subprogram is quark_dwf_class#field_quark_wg

field_quark_wg
Derived Type :
eo(0:1) :type(field_quark_eo_wg)
: even+odd field
 quark field with ghost sites

Original external subprogram is quark_dwf_class#field_quark_wg

field_quark_wg
Derived Type :
eo(0:1) :type(field_quark_eo_wg)
: even+odd field
 quark field with ghost sites

Original external subprogram is field_fermion_class#field_quark_wg

field_quark_wg
Derived Type :
eo(0:1) :type(field_quark_eo_wg)
: even+odd field
 quark field with ghost sites

Original external subprogram is field_fermion_class#field_quark_wg

field_quark_wg
Derived Type :
eo(0:1) :type(field_quark_eo_wg)
: even+odd field
 quark field with ghost sites

Original external subprogram is field_fermion_class#field_quark_wg

field_quark_wog
Derived Type :
eo(0:1) :type(field_quark_eo_wog)
 quark field without ghost sites

Original external subprogram is quark_dwf_class#field_quark_wog

field_quark_wog
Derived Type :
eo(0:1) :type(field_quark_eo_wog)
 quark field without ghost sites

Original external subprogram is quark_dwf_class#field_quark_wog

field_quark_wog
Derived Type :
eo(0:1) :type(field_quark_eo_wog)
 quark field without ghost sites

Original external subprogram is field_fermion_class#field_quark_wog

field_quark_wog
Derived Type :
eo(0:1) :type(field_quark_eo_wog)
 quark field without ghost sites

Original external subprogram is field_fermion_class#field_quark_wog

field_quark_wog
Derived Type :
eo(0:1) :type(field_quark_eo_wog)
 quark field without ghost sites

Original external subprogram is field_fermion_class#field_quark_wog

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_dw_quark_wg), intent(inout)
: DW fermion
fy :type(field_dw_quark_wg), intent(inout)
: DW fermion

compute MD force from hopping matrix of Ddw operator

NS field contributions are accumulated on BB.

fx,fy, boundary sites are copied.

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_dw_quark_wg), intent(inout)
: DW fermion
fy :type(field_dw_quark_wg), intent(inout)
: DW fermion

compute MD force from hopping matrix of Ddw operator

NS field contributions are accumulated on BB.

fx,fy, boundary sites are copied.

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_dw_quark_wg), intent(inout)
: DW fermion
fy :type(field_dw_quark_wg), intent(inout)
: DW fermion

compute MD force from hopping matrix of Ddw operator

NS field contributions are accumulated on BB.

fx,fy, boundary sites are copied.

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_dw_quark_wg), intent(inout)
: DW fermion
fy :type(field_dw_quark_wg), intent(inout)
: DW fermion

compute MD force from hopping matrix of Ddw operator

NS field contributions are accumulated on BB.

fx,fy, boundary sites are copied.

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: pre-force
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_quark_wg), intent(in)
: external fermion field
fy :type(field_quark_wg), intent(in)
: external fermion field

Calc MD force from hopping matrix

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: pre-force
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_quark_wg), intent(in)
: external fermion field
fy :type(field_quark_wg), intent(in)
: external fermion field

Calc MD force from hopping matrix

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: pre-force
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_quark_wg), intent(in)
: external fermion field
fy :type(field_quark_wg), intent(in)
: external fermion field

Calc MD force from hopping matrix

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: pre-force
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_quark_wg), intent(in)
: external fermion field
fy :type(field_quark_wg), intent(in)
: external fermion field

Calc MD force from hopping matrix

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

force_hmc_hopping( BB, fcoef, fx, fy )
Subroutine :
BB :type(vfield_gluon_wg), intent(inout)
: pre-force
fcoef :real(DP), intent(in)
: force coefficient
fx :type(field_quark_wg), intent(in)
: external fermion field
fy :type(field_quark_wg), intent(in)
: external fermion field

Calc MD force from hopping matrix

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

force_hmc_hopping( BBe, fcoef, fxe, fxo, fye, fyo )
Subroutine :
BBe :type(vfield_gluon_eo_wg), intent(inout)
: even/odd site force contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fxe :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fxo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion
fye :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fyo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion

Calc MD force from hopping matrix (even/odd sites only)

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BBe, fcoef, fxe, fxo, fye, fyo )
Subroutine :
BBe :type(vfield_gluon_eo_wg), intent(inout)
: even/odd site force contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fxe :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fxo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion
fye :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fyo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion

Calc MD force from hopping matrix (even/odd sites only)

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is quark_dwf_class#force_hmc_hopping

force_hmc_hopping( BBe, fcoef, fxe, fxo, fye, fyo )
Subroutine :
BBe :type(vfield_gluon_eo_wg), intent(inout)
: even/odd site force contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fxe :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fxo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion
fye :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fyo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion

Calc MD force from hopping matrix (even/odd sites only)

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

force_hmc_hopping( BBe, fcoef, fxe, fxo, fye, fyo )
Subroutine :
BBe :type(vfield_gluon_eo_wg), intent(inout)
: even/odd site force contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fxe :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fxo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion
fye :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fyo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion

Calc MD force from hopping matrix (even/odd sites only)

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

force_hmc_hopping( BBe, fcoef, fxe, fxo, fye, fyo )
Subroutine :
BBe :type(vfield_gluon_eo_wg), intent(inout)
: even/odd site force contribution (dot{u})
fcoef :real(DP), intent(in)
: force coefficient
fxe :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fxo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion
fye :type(field_quark_eo_wg), intent(in)
: even/odd site pseudo fermion
fyo :type(field_quark_eo_wg), intent(in)
: odd/even site pseudo fermion

Calc MD force from hopping matrix (even/odd sites only)

User should copy boundary of the input field (fx,fy) before calling this subroutine.

\[

 BB_{\mu}(n) = BB_{\mu}(n)
 + \mathrm{fcoef}\times \mathrm{tr}\left[(1-\gamma_{\mu}) fy(n+\hat{\mu}) fx(n)^{\dag}
                                        + fx(n+\hat{\mu}) fy(n)^{\dag} (1+\gamma_{\mu})\right].

\] this comes from \[

 \delta S = fx^{\dag}\delta M_{hop} fy +  fy^{\dag}\delta M_{hop}^{\dag} fx,

\] with hopping matrix $ M_{hop} $ .

Original external subprogram is field_fermion_class#force_hmc_hopping

get_NS( this ) result(NS)
Function :
NS :integer
this :class(quark_domainwall), intent(in)

return size of extra-dimensiion (extra-flavors)

Original external subprogram is quark_dwf_class#get_NS

get_NS( this ) result(NS)
Function :
NS :integer
this :class(quark_domainwall), intent(in)

return size of extra-dimensiion (extra-flavors)

Original external subprogram is quark_dwf_class#get_NS

get_NS( this ) result(NS)
Function :
NS :integer
this :class(quark_domainwall), intent(in)

return size of extra-dimensiion (extra-flavors)

Original external subprogram is quark_dwf_class#get_NS

get_NS( this ) result(NS)
Function :
NS :integer
this :class(quark_domainwall), intent(in)

return size of extra-dimensiion (extra-flavors)

Original external subprogram is quark_dwf_class#get_NS

get_NS( this ) result(NS)
Function :
NS :integer
this :class(quark_domainwall), intent(in)

return size of extra-dimensiion (extra-flavors)

Original external subprogram is quark_dwf_class#get_NS

get_id( this ) result(id)
Function :
id :integer
this :class(action_parameters), intent(in)

Original external subprogram is quark_dwf_class#get_id

get_id( this ) result(id)
Function :
id :integer
this :class(action_parameters), intent(in)

Original external subprogram is quark_dwf_class#get_id

get_low_modes( this, quark, iout, tol, iiter, u )
Subroutine :
this :type(dwf_low_modes), intent(inout)
quark :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
u :type(vfield_gluon_wg), intent(in)

compute low-mode vectors for dwf chiral-symmetory improvement and eigen-value range

Original external subprogram is quark_dwf_class#get_low_modes

get_low_modes( this, quark, iout, tol, iiter, u )
Subroutine :
this :type(dwf_low_modes), intent(inout)
quark :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
u :type(vfield_gluon_wg), intent(in)

compute low-mode vectors for dwf chiral-symmetory improvement and eigen-value range

Original external subprogram is quark_dwf_class#get_low_modes

get_low_modes( this, quark, iout, tol, iiter, u )
Subroutine :
this :type(dwf_low_modes), intent(inout)
quark :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
u :type(vfield_gluon_wg), intent(in)

compute low-mode vectors for dwf chiral-symmetory improvement and eigen-value range

Original external subprogram is quark_dwf_class#get_low_modes

get_low_modes( this, quark, iout, tol, iiter, u )
Subroutine :
this :type(dwf_low_modes), intent(inout)
quark :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
u :type(vfield_gluon_wg), intent(in)

compute low-mode vectors for dwf chiral-symmetory improvement and eigen-value range

Original external subprogram is quark_dwf_class#get_low_modes

get_low_modes( this, quark, iout, tol, iiter, u )
Subroutine :
this :type(dwf_low_modes), intent(inout)
quark :class(quark_domainwall), intent(inout)
iout :integer, intent(in)
tol :real(DP), intent(in)
iiter :integer, intent(inout)
u :type(vfield_gluon_wg), intent(in)

compute low-mode vectors for dwf chiral-symmetory improvement and eigen-value range

Original external subprogram is quark_dwf_class#get_low_modes

get_mass( this ) result(mass)
Function :
mass :real(DP)
this :class(quark_domainwall), intent(in)

return quark mass

Original external subprogram is quark_dwf_class#get_mass

get_mass( this ) result(mass)
Function :
mass :real(DP)
this :class(quark_domainwall), intent(in)

return quark mass

Original external subprogram is quark_dwf_class#get_mass

get_mass( this ) result(mass)
Function :
mass :real(DP)
this :class(quark_domainwall), intent(in)

return quark mass

Original external subprogram is quark_dwf_class#get_mass

get_mass( this ) result(mass)
Function :
mass :real(DP)
this :class(quark_domainwall), intent(in)

return quark mass

Original external subprogram is quark_dwf_class#get_mass

get_mass( this ) result(mass)
Function :
mass :real(DP)
this :class(quark_domainwall), intent(in)

return quark mass

Original external subprogram is quark_dwf_class#get_mass

mult_hopping_tzyx_eo( yde, yo, u )
Subroutine :
yde :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion vector (output)
yo :type(field_quark_eo_wg), intent(in)
: odd/even site fermion vector (input)
u :type(vfield_gluon_wg), intent(in)
: gauge field

Multiply hopping matrix (odd->even/even->odd sites only)

User should copy boundary of the input field before calling this subroutine.

yde <= Meo yo

\[

 M(n,m) =  \sum_{\mu=1}^{4} \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
                                  +(1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m}\right]

\]

Original external subprogram is quark_dwf_class#mult_hopping_tzyx_eo

mult_hopping_tzyx_eo( yde, yo, u )
Subroutine :
yde :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion vector (output)
yo :type(field_quark_eo_wg), intent(in)
: odd/even site fermion vector (input)
u :type(vfield_gluon_wg), intent(in)
: gauge field

Multiply hopping matrix (odd->even/even->odd sites only)

User should copy boundary of the input field before calling this subroutine.

yde <= Meo yo

\[

 M(n,m) =  \sum_{\mu=1}^{4} \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
                                  +(1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m}\right]

\]

Original external subprogram is quark_dwf_class#mult_hopping_tzyx_eo

mult_hopping_tzyx_eo( yde, yo, u )
Subroutine :
yde :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion vector (output)
yo :type(field_quark_eo_wg), intent(in)
: odd/even site fermion vector (input)
u :type(vfield_gluon_wg), intent(in)
: gauge field

Multiply hopping matrix (odd->even/even->odd sites only)

User should copy boundary of the input field before calling this subroutine.

yde <= Meo yo

\[

 M(n,m) =  \sum_{\mu=1}^{4} \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
                                  +(1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m}\right]

\]

Original external subprogram is field_fermion_class#mult_hopping_tzyx_eo

mult_hopping_tzyx_eo( yde, yo, u )
Subroutine :
yde :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion vector (output)
yo :type(field_quark_eo_wg), intent(in)
: odd/even site fermion vector (input)
u :type(vfield_gluon_wg), intent(in)
: gauge field

Multiply hopping matrix (odd->even/even->odd sites only)

User should copy boundary of the input field before calling this subroutine.

yde <= Meo yo

\[

 M(n,m) =  \sum_{\mu=1}^{4} \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
                                  +(1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m}\right]

\]

Original external subprogram is field_fermion_class#mult_hopping_tzyx_eo

mult_hopping_tzyx_eo( yde, yo, u )
Subroutine :
yde :type(field_quark_eo_wg), intent(inout)
: even/odd site fermion vector (output)
yo :type(field_quark_eo_wg), intent(in)
: odd/even site fermion vector (input)
u :type(vfield_gluon_wg), intent(in)
: gauge field

Multiply hopping matrix (odd->even/even->odd sites only)

User should copy boundary of the input field before calling this subroutine.

yde <= Meo yo

\[

 M(n,m) =  \sum_{\mu=1}^{4} \left[ (1-\gamma_{\mu})U_{\mu}(n)\delta_{n+\hat{\mu},m}
                                  +(1+\gamma_{\mu})U_{\mu}^{\dag}(m)\delta_{n-\hat{\mu},m}\right]

\]

Original external subprogram is field_fermion_class#mult_hopping_tzyx_eo

mult_iter
Variable :
mult_iter :type(counter), save
: contains half hopping multiplication counts

Original external subprogram is quark_dwf_class#mult_iter

mult_iter
Variable :
mult_iter :type(counter), save
: contains half hopping multiplication counts

Original external subprogram is quark_dwf_class#mult_iter

mult_iter
Variable :
mult_iter :type(counter), save
: contains half hopping multiplication counts

Original external subprogram is field_fermion_class#mult_iter

mult_iter
Variable :
mult_iter :type(counter), save
: contains half hopping multiplication counts

Original external subprogram is field_fermion_class#mult_iter

mult_iter
Variable :
mult_iter :type(counter), save
: contains half hopping multiplication counts

Original external subprogram is field_fermion_class#mult_iter

new( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( q )
Subroutine :
q :type(field_quark_wg), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( q )
Subroutine :
q :type(field_quark_wog), intent(inout)

Initialize field

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wg), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( qe, ieo )
Subroutine :
qe :type(field_quark_eo_wog), intent(inout)
ieo :integer, intent(in)

Initialize field by setting the even/odd ness

Original external subprogram is field_fermion_class#new

new( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

create/initialize dwf low-modes container

Original external subprogram is quark_dwf_class#new

new( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

create/initialize dwf low-modes container

Original external subprogram is quark_dwf_class#new

new( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

create/initialize dwf low-modes container

Original external subprogram is quark_dwf_class#new

new( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

create/initialize dwf low-modes container

Original external subprogram is quark_dwf_class#new

new( this )
Subroutine :
this :type(dwf_low_modes), intent(inout)

create/initialize dwf low-modes container

Original external subprogram is quark_dwf_class#new

new( this )
Subroutine :
this :type(lattice_world), intent(inout)

Initialize lattice constants, node information (next to nearest node rank etc.)

Original external subprogram is lattice_class#new

new( this )
Subroutine :
this :type(lattice_world), intent(inout)

Initialize lattice constants, node information (next to nearest node rank etc.)

Original external subprogram is lattice_class#new

new( this )
Subroutine :
this :type(solver_parameter), intent(out)

Original external subprogram is solver_parameter_class#new

new( this )
Subroutine :
this :type(solver_parameter), intent(out)

Original external subprogram is solver_parameter_class#new

new( this, NSIZE, NMAX )
Subroutine :
this :type(chrolog_alg), intent(inout)
NSIZE :integer, intent(in)
: vector size
NMAX :integer, intent(in)
: dimension size

Original external subprogram is chrolog_class#new

new( this, NSIZE, NMAX )
Subroutine :
this :type(chrolog_alg), intent(inout)
NSIZE :integer, intent(in)
: vector size
NMAX :integer, intent(in)
: dimension size

Original external subprogram is chrolog_class#new

new( this, NSIZE, NMAX )
Subroutine :
this :type(chrolog_alg), intent(inout)
NSIZE :integer, intent(in)
: vector size
NMAX :integer, intent(in)
: dimension size

Original external subprogram is chrolog_class#new

new( this, [master_only] )
Subroutine :
this :type(timer), intent(inout)
master_only :logical, optional, intent(in)

initialize timer

Original external subprogram is timer_class#new

new( this, [master_only] )
Subroutine :
this :type(timer), intent(inout)
master_only :logical, optional, intent(in)

initialize timer

Original external subprogram is timer_class#new

new( this, fname )
Subroutine :
this :type(logfile), intent(inout)
fname :character(len=*), intent(in)

Initialize logger object and open log file

  • this : logfile
  • fname : logging output file name

Original external subprogram is logfile_class#new

new( this, fname )
Subroutine :
this :type(logfile), intent(inout)
fname :character(len=*), intent(in)

Initialize logger object and open log file

  • this : logfile
  • fname : logging output file name

Original external subprogram is logfile_class#new

new( this, id )
Subroutine :
this :class(quark_domainwall), intent(inout)
id :integer, intent(in)

initialize dwf parameter

Original external subprogram is quark_dwf_class#new

new( this, id )
Subroutine :
this :class(quark_domainwall), intent(inout)
id :integer, intent(in)

initialize dwf parameter

Original external subprogram is quark_dwf_class#new

new( this, id )
Subroutine :
this :class(quark_domainwall), intent(inout)
id :integer, intent(in)

initialize dwf parameter

Original external subprogram is quark_dwf_class#new

new( this, id )
Subroutine :
this :class(quark_domainwall), intent(inout)
id :integer, intent(in)

initialize dwf parameter

Original external subprogram is quark_dwf_class#new

new( this, id )
Subroutine :
this :class(quark_domainwall), intent(inout)
id :integer, intent(in)

initialize dwf parameter

Original external subprogram is quark_dwf_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(sfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(tfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wg), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( u )
Subroutine :
u :type(vfield_gluon_wog), intent(inout)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(sfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(tfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wg), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

new( ue, ieo )
Subroutine :
ue :type(vfield_gluon_eo_wog), intent(inout)
ieo :integer, intent(in)

set even/odd index on the field

Original external subprogram is field_gauge_class#new

pack( y, v )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NSITE*y%NS) :complex(DP), intent(out)

Pack field

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NSITE*y%NS) :complex(DP), intent(out)

Pack field

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NSITE*y%NS) :complex(DP), intent(out)

Pack field

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NSITE*y%NS) :complex(DP), intent(out)

Pack field

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_quark_wg), intent(in)
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_quark_wg), intent(in)
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is quark_dwf_class#pack

pack( y, v )
Subroutine :
y :type(field_quark_wg), intent(in)
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

pack( y, v )
Subroutine :
y :type(field_quark_wg), intent(in)
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

pack( y, v )
Subroutine :
y :type(field_quark_wg), intent(in)
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

pack( y, v, ieo )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NHSITE*y%NS) :complex(DP), intent(inout)
ieo :integer, intent(in)

Pack field on even/odd sites only

Original external subprogram is quark_dwf_class#pack

pack( y, v, ieo )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NHSITE*y%NS) :complex(DP), intent(inout)
ieo :integer, intent(in)

Pack field on even/odd sites only

Original external subprogram is quark_dwf_class#pack

pack( y, v, ieo )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NHSITE*y%NS) :complex(DP), intent(inout)
ieo :integer, intent(in)

Pack field on even/odd sites only

Original external subprogram is quark_dwf_class#pack

pack( y, v, ieo )
Subroutine :
y :type(field_dw_quark_wg), intent(in)
v(1:NHSITE*y%NS) :complex(DP), intent(inout)
ieo :integer, intent(in)

Pack field on even/odd sites only

Original external subprogram is quark_dwf_class#pack

pack( yeo, vec )
Subroutine :
yeo :type(field_quark_eo_wg), intent(in)
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is quark_dwf_class#pack

pack( yeo, vec )
Subroutine :
yeo :type(field_quark_eo_wg), intent(in)
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is quark_dwf_class#pack

pack( yeo, vec )
Subroutine :
yeo :type(field_quark_eo_wg), intent(in)
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

pack( yeo, vec )
Subroutine :
yeo :type(field_quark_eo_wg), intent(in)
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

pack( yeo, vec )
Subroutine :
yeo :type(field_quark_eo_wg), intent(in)
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(out)
 \Pack (copy) fermion field to one dimensional complex array
 Ghost sites data are not copied.

 User should keep the even-odd-ness of the field in mind.

Original external subprogram is field_fermion_class#pack

print( this )
Subroutine :
this :class(quark_domainwall), intent(in)

print out dwf paramters

Original external subprogram is quark_dwf_class#print

print( this )
Subroutine :
this :class(quark_domainwall), intent(in)

print out dwf paramters

Original external subprogram is quark_dwf_class#print

print( this )
Subroutine :
this :class(quark_domainwall), intent(in)

print out dwf paramters

Original external subprogram is quark_dwf_class#print

print( this )
Subroutine :
this :class(quark_domainwall), intent(in)

print out dwf paramters

Original external subprogram is quark_dwf_class#print

print( this )
Subroutine :
this :class(quark_domainwall), intent(in)

print out dwf paramters

Original external subprogram is quark_dwf_class#print

print( this )
Subroutine :
this :type(lattice_world), intent(inout)

Print out Lattice configuration (size,partition,etc...) on display

Original external subprogram is lattice_class#print

print( this )
Subroutine :
this :type(lattice_world), intent(inout)

Print out Lattice configuration (size,partition,etc...) on display

Original external subprogram is lattice_class#print

print( this, str )
Subroutine :
this :type(logfile), intent(inout)
str :character(len=*), intent(in)

print log in log file

  • this : logfile
  • str : logging strings

Original external subprogram is logfile_class#print

print( this, str )
Subroutine :
this :type(logfile), intent(inout)
str :character(len=*), intent(in)

print log in log file

  • this : logfile
  • str : logging strings

Original external subprogram is logfile_class#print

print( this, str )
Subroutine :
this :type(logfile), intent(inout)
str(:) :character(len=*), intent(in)

print log in log file

  • this : logfile
  • str : logging strings

Original external subprogram is logfile_class#print

print( this, str )
Subroutine :
this :type(logfile), intent(inout)
str(:) :character(len=*), intent(in)

print log in log file

  • this : logfile
  • str : logging strings

Original external subprogram is logfile_class#print

prod( q, p ) result(a)
Function :
a :complex(DP)
q(:) :complex(DP), intent(in)
p(:) :complex(DP), intent(in)

Original external subprogram is quark_dwf_class#prod

prod( q, p ) result(a)
Function :
a :complex(DP)
q(:) :complex(DP), intent(in)
p(:) :complex(DP), intent(in)

Original external subprogram is quark_dwf_class#prod

prod( q, p ) result(a)
Function :
a :complex(DP)
q(:) :complex(DP), intent(in)
p(:) :complex(DP), intent(in)

Original external subprogram is chrolog_class#prod

prod( q, p ) result(a)
Function :
a :complex(DP)
q(:) :complex(DP), intent(in)
p(:) :complex(DP), intent(in)

Original external subprogram is chrolog_class#prod

prod( q, p ) result(a)
Function :
a :complex(DP)
q(:) :complex(DP), intent(in)
p(:) :complex(DP), intent(in)

Original external subprogram is chrolog_class#prod

prod( q, p ) result(my_prod)
Function :
my_prod :complex(DP)
q :type(field_dw_quark_wg), intent(in)
p :type(field_dw_quark_wg), intent(in)

prod = q’ * p

Original external subprogram is quark_dwf_class#prod

prod( q, p ) result(my_prod)
Function :
my_prod :complex(DP)
q :type(field_dw_quark_wg), intent(in)
p :type(field_dw_quark_wg), intent(in)

prod = q’ * p

Original external subprogram is quark_dwf_class#prod

prod( q, p ) result(my_prod)
Function :
my_prod :complex(DP)
q :type(field_dw_quark_wg), intent(in)
p :type(field_dw_quark_wg), intent(in)

prod = q’ * p

Original external subprogram is quark_dwf_class#prod

prod( q, p ) result(my_prod)
Function :
my_prod :complex(DP)
q :type(field_dw_quark_wg), intent(in)
p :type(field_dw_quark_wg), intent(in)

prod = q’ * p

Original external subprogram is quark_dwf_class#prod

prod( q1, q2 ) result(my_prod)
Function :
my_prod :complex(DP)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

return inner-product : q1’ .dot. q2

Original external subprogram is quark_dwf_class#prod

prod( q1, q2 ) result(my_prod)
Function :
my_prod :complex(DP)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

return inner-product : q1’ .dot. q2

Original external subprogram is quark_dwf_class#prod

prod( q1, q2 ) result(my_prod)
Function :
my_prod :complex(DP)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

return inner-product : q1’ .dot. q2

Original external subprogram is field_fermion_class#prod

prod( q1, q2 ) result(my_prod)
Function :
my_prod :complex(DP)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

return inner-product : q1’ .dot. q2

Original external subprogram is field_fermion_class#prod

prod( q1, q2 ) result(my_prod)
Function :
my_prod :complex(DP)
q1 :type(field_quark_wg), intent(in)
q2 :type(field_quark_wg), intent(in)

return inner-product : q1’ .dot. q2

Original external subprogram is field_fermion_class#prod

prod( q1e, q2e ) result(my_prod)
Function :
my_prod :complex(DP)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

return inner-product : q1e’ .dot. q2e

Original external subprogram is quark_dwf_class#prod

prod( q1e, q2e ) result(my_prod)
Function :
my_prod :complex(DP)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

return inner-product : q1e’ .dot. q2e

Original external subprogram is quark_dwf_class#prod

prod( q1e, q2e ) result(my_prod)
Function :
my_prod :complex(DP)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

return inner-product : q1e’ .dot. q2e

Original external subprogram is field_fermion_class#prod

prod( q1e, q2e ) result(my_prod)
Function :
my_prod :complex(DP)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

return inner-product : q1e’ .dot. q2e

Original external subprogram is field_fermion_class#prod

prod( q1e, q2e ) result(my_prod)
Function :
my_prod :complex(DP)
q1e :type(field_quark_eo_wg), intent(in)
q2e :type(field_quark_eo_wg), intent(in)

return inner-product : q1e’ .dot. q2e

Original external subprogram is field_fermion_class#prod

quark_truncd_dw_overlap
Derived Type :
quark_truncd_dw_overlap
Derived Type :
read( this, iout )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)

read dwf paramters

Original external subprogram is quark_dwf_class#read

read( this, iout )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)

read dwf paramters

Original external subprogram is quark_dwf_class#read

read( this, iout )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)

read dwf paramters

Original external subprogram is quark_dwf_class#read

read( this, iout )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)

read dwf paramters

Original external subprogram is quark_dwf_class#read

read( this, iout )
Subroutine :
this :class(quark_domainwall), intent(inout)
iout :integer, intent(in)

read dwf paramters

Original external subprogram is quark_dwf_class#read

save_config( this, iout )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)

save dwf paramters on config file

Original external subprogram is quark_dwf_class#save_config

save_config( this, iout )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)

save dwf paramters on config file

Original external subprogram is quark_dwf_class#save_config

save_config( this, iout )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)

save dwf paramters on config file

Original external subprogram is quark_dwf_class#save_config

save_config( this, iout )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)

save dwf paramters on config file

Original external subprogram is quark_dwf_class#save_config

save_config( this, iout )
Subroutine :
this :class(quark_domainwall), intent(in)
iout :integer, intent(in)

save dwf paramters on config file

Original external subprogram is quark_dwf_class#save_config

set_coef( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

set dwf chiral-symmetry improvemnt parameters

Original external subprogram is quark_dwf_class#set_coef

set_coef( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

set dwf chiral-symmetry improvemnt parameters

Original external subprogram is quark_dwf_class#set_coef

set_coef( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

set dwf chiral-symmetry improvemnt parameters

Original external subprogram is quark_dwf_class#set_coef

set_coef( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

set dwf chiral-symmetry improvemnt parameters

Original external subprogram is quark_dwf_class#set_coef

set_coef( this )
Subroutine :
this :class(quark_domainwall), intent(inout)

set dwf chiral-symmetry improvemnt parameters

Original external subprogram is quark_dwf_class#set_coef

set_gaussian_noise( p )
Subroutine :
p :type(vfield_gluon_wog), intent(inout)
: gauge momentum field

set Gaussian noise on canonical momentum (su(3) Lie algebra) of gauge field (SU(3) Lie group)

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( p )
Subroutine :
p :type(vfield_gluon_wog), intent(inout)
: gauge momentum field

set Gaussian noise on canonical momentum (su(3) Lie algebra) of gauge field (SU(3) Lie group)

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( p )
Subroutine :
p :type(vfield_gluon_wog), intent(inout)
: gauge momentum field

set Gaussian noise on canonical momentum (su(3) Lie algebra) of gauge field (SU(3) Lie group)

Original external subprogram is field_gauge_class#set_gaussian_noise

set_gaussian_noise( p )
Subroutine :
p :type(vfield_gluon_wog), intent(inout)
: gauge momentum field

set Gaussian noise on canonical momentum (su(3) Lie algebra) of gauge field (SU(3) Lie group)

Original external subprogram is field_gauge_class#set_gaussian_noise

set_gaussian_noise( p )
Subroutine :
p :type(vfield_gluon_wog), intent(inout)
: gauge momentum field

set Gaussian noise on canonical momentum (su(3) Lie algebra) of gauge field (SU(3) Lie group)

Original external subprogram is field_gauge_class#set_gaussian_noise

set_gaussian_noise( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

set Gaussian noise on y

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

set Gaussian noise on y

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

set Gaussian noise on y

Original external subprogram is field_fermion_class#set_gaussian_noise

set_gaussian_noise( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

set Gaussian noise on y

Original external subprogram is field_fermion_class#set_gaussian_noise

set_gaussian_noise( y )
Subroutine :
y :type(field_quark_wg), intent(inout)

set Gaussian noise on y

Original external subprogram is field_fermion_class#set_gaussian_noise

set_gaussian_noise( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

set Gaussian noise on even/odd sites only

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

set Gaussian noise on even/odd sites only

Original external subprogram is quark_dwf_class#set_gaussian_noise

set_gaussian_noise( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

set Gaussian noise on even/odd sites only

Original external subprogram is field_fermion_class#set_gaussian_noise

set_gaussian_noise( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

set Gaussian noise on even/odd sites only

Original external subprogram is field_fermion_class#set_gaussian_noise

set_gaussian_noise( ye )
Subroutine :
ye :type(field_quark_eo_wg), intent(inout)

set Gaussian noise on even/odd sites only

Original external subprogram is field_fermion_class#set_gaussian_noise

set_id( this, id )
Subroutine :
this :class(action_parameters), intent(inout)
id :integer, intent(in)

Original external subprogram is quark_dwf_class#set_id

set_id( this, id )
Subroutine :
this :class(action_parameters), intent(inout)
id :integer, intent(in)

Original external subprogram is quark_dwf_class#set_id

Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)

set truncated dw overlap to Pauli-Villars mode

[Source]

subroutine set_mass_pauli_villars(this)
!
! set truncated dw overlap to Pauli-Villars mode
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  real(DP) :: mass
  this%mass_buff = get_mass(this)
  call set_mass(this,this%pv_mass)
  call make_mass_term(this)
  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)

set truncated dw overlap to Pauli-Villars mode

[Source]

subroutine set_mass_pauli_villars(this)
!
! set truncated dw overlap to Pauli-Villars mode
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  real(DP) :: mass
  this%mass_buff = get_mass(this)
  call set_mass(this,this%pv_mass)
  call make_mass_term(this)
  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)

set truncated dw overlap to Physical mode.

[Source]

subroutine set_mass_physical(this)
!
! set truncated dw overlap to Physical mode.
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  call set_mass(this,this%mass_buff)
  this%mass_buff = get_mass(this)
!  write(*,*)"set_mass_physical"
  call make_mass_term(this)
  return
end subroutine
Subroutine :
this :type(quark_truncd_dw_overlap), intent(inout)

set truncated dw overlap to Physical mode.

[Source]

subroutine set_mass_physical(this)
!
! set truncated dw overlap to Physical mode.
!
  implicit none
  type(quark_truncd_dw_overlap), intent(inout) :: this
  call set_mass(this,this%mass_buff)
  this%mass_buff = get_mass(this)
!  write(*,*)"set_mass_physical"
  call make_mass_term(this)
  return
end subroutine
su3fv_spinor
Derived Type :
y(COL,SPIN) :complex(DP)
 su(3) fundamentarl rep vector, spinor

Original external subprogram is quark_dwf_class#su3fv_spinor

su3fv_spinor
Derived Type :
y(COL,SPIN) :complex(DP)
 su(3) fundamentarl rep vector, spinor

Original external subprogram is quark_dwf_class#su3fv_spinor

su3fv_spinor
Derived Type :
y(COL,SPIN) :complex(DP)
 su(3) fundamentarl rep vector, spinor

Original external subprogram is field_fermion_class#su3fv_spinor

su3fv_spinor
Derived Type :
y(COL,SPIN) :complex(DP)
 su(3) fundamentarl rep vector, spinor

Original external subprogram is field_fermion_class#su3fv_spinor

su3fv_spinor
Derived Type :
y(COL,SPIN) :complex(DP)
 su(3) fundamentarl rep vector, spinor

Original external subprogram is field_fermion_class#su3fv_spinor

unpack( v, y )
Subroutine :
v(1:NSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)

unack field

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(1:NSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)

unack field

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(1:NSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)

unack field

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(1:NSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)

unack field

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(in)
y :type(field_quark_wg), intent(inout)

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(in)
y :type(field_quark_wg), intent(inout)

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is quark_dwf_class#unpack

unpack( v, y )
Subroutine :
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(in)
y :type(field_quark_wg), intent(inout)

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack

unpack( v, y )
Subroutine :
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(in)
y :type(field_quark_wg), intent(inout)

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack

unpack( v, y )
Subroutine :
v(COL*SPIN*NT*NZ*NY*NX) :complex(DP), intent(in)
y :type(field_quark_wg), intent(inout)

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack

unpack( v, y, ieo )
Subroutine :
v(1:NHSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)
ieo :integer, intent(in)

Unpack field on even/odd sites only

Original external subprogram is quark_dwf_class#unpack

unpack( v, y, ieo )
Subroutine :
v(1:NHSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)
ieo :integer, intent(in)

Unpack field on even/odd sites only

Original external subprogram is quark_dwf_class#unpack

unpack( v, y, ieo )
Subroutine :
v(1:NHSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)
ieo :integer, intent(in)

Unpack field on even/odd sites only

Original external subprogram is quark_dwf_class#unpack

unpack( v, y, ieo )
Subroutine :
v(1:NHSITE*y%NS) :complex(DP), intent(in)
y :type(field_dw_quark_wg), intent(inout)
ieo :integer, intent(in)

Unpack field on even/odd sites only

Original external subprogram is quark_dwf_class#unpack

unpack( vec, yeo )
Subroutine :
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(in)
yeo :type(field_quark_eo_wg), intent(inout)
: even/odd fermion field. one shout set even/odd-ness.

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is quark_dwf_class#unpack

unpack( vec, yeo )
Subroutine :
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(in)
yeo :type(field_quark_eo_wg), intent(inout)
: even/odd fermion field. one shout set even/odd-ness.

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is quark_dwf_class#unpack

unpack( vec, yeo )
Subroutine :
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(in)
yeo :type(field_quark_eo_wg), intent(inout)
: even/odd fermion field. one shout set even/odd-ness.

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack

unpack( vec, yeo )
Subroutine :
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(in)
yeo :type(field_quark_eo_wg), intent(inout)
: even/odd fermion field. one shout set even/odd-ness.

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack

unpack( vec, yeo )
Subroutine :
vec(COL*SPIN*NTH*NZ*NY*NX) :complex(DP), intent(in)
yeo :type(field_quark_eo_wg), intent(inout)
: even/odd fermion field. one shout set even/odd-ness.

Unpack one-dimensional complex array to fermion field. User should set the even/odd-ness on the fermion field.

Original external subprogram is field_fermion_class#unpack