QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ks_improved_force.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <quda_internal.h>
4 #include <quda.h>
5 #include <gauge_field.h>
6 
7 namespace quda {
8  namespace fermion_force {
9 
17  void hisqStaplesForce(GaugeField &newOprod,
18  const GaugeField& oprod,
19  const GaugeField& link,
20  const double path_coeff[6]);
21 
29  void hisqLongLinkForce(GaugeField &newOprod,
30  const GaugeField &oprod,
31  const GaugeField &link,
32  double coeff);
33 
41  void hisqCompleteForce(GaugeField &oprod,
42  const GaugeField &link);
43 
47  void setUnitarizeForceConstants(double unitarize_eps, double hisq_force_filter, double max_det_error,
48  bool allow_svd, bool svd_only,
49  double svd_rel_error,
50  double svd_abs_error);
51 
59  void unitarizeForce(cudaGaugeField &newForce,
60  const cudaGaugeField &oldForce,
61  const cudaGaugeField &gauge,
62  int* unitarization_failed);
63 
70  void unitarizeForceCPU(cpuGaugeField &newForce,
71  const cpuGaugeField &oldForce,
72  const cpuGaugeField &gauge);
73 
74  } // namespace fermion_force
75 } // namespace quda
void setUnitarizeForceConstants(double unitarize_eps, double hisq_force_filter, double max_det_error, bool allow_svd, bool svd_only, double svd_rel_error, double svd_abs_error)
Set the constant parameters for the force unitarization.
void hisqLongLinkForce(GaugeField &newOprod, const GaugeField &oprod, const GaugeField &link, double coeff)
Compute the long-link contribution to the fermion force.
void hisqCompleteForce(GaugeField &oprod, const GaugeField &link)
Multiply the computed the force matrix by the gauge field and perform traceless anti-hermitian projec...
void unitarizeForce(cudaGaugeField &newForce, const cudaGaugeField &oldForce, const cudaGaugeField &gauge, int *unitarization_failed)
Unitarize the fermion force.
void unitarizeForceCPU(cpuGaugeField &newForce, const cpuGaugeField &oldForce, const cpuGaugeField &gauge)
Unitarize the fermion force on CPU.
static double svd_rel_error
void hisqStaplesForce(GaugeField &newOprod, const GaugeField &oprod, const GaugeField &link, const double path_coeff[6])
Compute the fat-link contribution to the fermion force.
static double svd_abs_error
Main header file for the QUDA library.
static double unitarize_eps