@@ -314,7 +314,8 @@ class Dslash {
314
314
typedef typename Geom::SU3MatrixBlock SU3MatrixBlock;
315
315
316
316
explicit Dslash (Geom *geom, double const t_boundary_, double const aniso_coeff_S_,
317
- double const aniso_coeff_T_, double const mass_)
317
+ double const aniso_coeff_T_, double const mass_, bool use_tbc_[4 ] = nullptr ,
318
+ double tbc_phases_[4 ][2 ] = nullptr )
318
319
: geom(geom),
319
320
t_boundary(t_boundary_),
320
321
aniso_coeff_S(aniso_coeff_S_),
@@ -446,10 +447,11 @@ class WilsonDslash : public Dslash<FT, veclen, soalen, compress12> {
446
447
typedef typename ::QPhiX::Geometry<FT, veclen, soalen, compress12>::SU3MatrixBlock SU3MatrixBlock;
447
448
448
449
WilsonDslash (::QPhiX::Geometry<FT, veclen, soalen, compress12> *geom_, double const t_boundary_,
449
- double const aniso_coeff_S_, double const aniso_coeff_T_, double const mass_)
450
+ double const aniso_coeff_S_, double const aniso_coeff_T_, double const mass_,
451
+ bool use_tbc_[4 ] = nullptr , double tbc_phases_[4 ][2 ] = nullptr )
450
452
: Dslash<FT, veclen, soalen, compress12>(geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_,
451
- mass_),
452
- upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_),
453
+ mass_, use_tbc_, tbc_phases_ ),
454
+ upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_, use_tbc_, tbc_phases_ ),
453
455
mass_factor_alpha (4.0 + mass_),
454
456
mass_factor_beta (1.0 / (4.0 * mass_factor_alpha)) {}
455
457
@@ -503,10 +505,12 @@ class WilsonTMDslash : public Dslash<FT, veclen, soalen, compress12> {
503
505
504
506
WilsonTMDslash (::QPhiX::Geometry<FT, veclen, soalen, compress12> *geom_, double const t_boundary_,
505
507
double const aniso_coeff_S_, double const aniso_coeff_T_, double const mass_,
506
- double const twisted_mass_)
508
+ double const twisted_mass_, bool use_tbc_[4 ] = nullptr ,
509
+ double tbc_phases_[4 ][2 ] = nullptr )
507
510
: Dslash<FT, veclen, soalen, compress12>(geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_,
508
- mass_),
509
- upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_, mass_, twisted_mass_),
511
+ mass_, use_tbc_, tbc_phases_),
512
+ upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_, mass_, twisted_mass_,
513
+ use_tbc_, tbc_phases_),
510
514
mass_factor_alpha (4.0 + mass_),
511
515
mass_factor_beta (0.25 ),
512
516
derived_mu (twisted_mass_ / mass_factor_alpha),
@@ -556,10 +560,11 @@ class WilsonClovDslash : public Dslash<FT, veclen, soalen, compress12> {
556
560
WilsonClovDslash (::QPhiX::Geometry<FT, veclen, soalen, compress12> *geom_,
557
561
double const t_boundary_, double const aniso_coeff_S_,
558
562
double const aniso_coeff_T_, double const mass_,
559
- CloverBlock *const (&clover_)[2 ], CloverBlock *const (&inv_clover_)[2 ])
563
+ CloverBlock *const (&clover_)[2 ], CloverBlock *const (&inv_clover_)[2 ],
564
+ bool use_tbc_[4 ] = nullptr , double tbc_phases_[4 ][2 ] = nullptr )
560
565
: Dslash<FT, veclen, soalen, compress12>(geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_,
561
- mass_),
562
- upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_),
566
+ mass_, use_tbc_, tbc_phases_ ),
567
+ upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_, use_tbc_, tbc_phases_ ),
563
568
mass_factor_alpha (4.0 + mass_),
564
569
mass_factor_beta (1.0 / (4.0 * mass_factor_alpha)) {
565
570
for (int cb : {0 , 1 }) {
@@ -622,10 +627,11 @@ class WilsonClovTMDslash : public Dslash<FT, veclen, soalen, compress12> {
622
627
double const t_boundary_, double const aniso_coeff_S_,
623
628
double const aniso_coeff_T_, double const mass_, double const twisted_mass_,
624
629
FullCloverBlock *const (&clover_)[2 ][2 ],
625
- FullCloverBlock *const (&inv_clover_)[2 ][2 ])
630
+ FullCloverBlock *const (&inv_clover_)[2 ][2 ], bool use_tbc_[4 ] = nullptr ,
631
+ double tbc_phases_[4 ][2 ] = nullptr )
626
632
: Dslash<FT, veclen, soalen, compress12>(geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_,
627
- mass_),
628
- upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_),
633
+ mass_, use_tbc_, tbc_phases_ ),
634
+ upstream_dslash (geom_, t_boundary_, aniso_coeff_S_, aniso_coeff_T_, use_tbc_, tbc_phases_ ),
629
635
mass_factor_alpha (4.0 + mass_),
630
636
mass_factor_beta (0.25 ),
631
637
derived_mu (twisted_mass_ / mass_factor_alpha),
0 commit comments