CHROMA
Classes | Macros | Enumerations | Functions
t_propagator_nrqcd.cc File Reference

Main code for NRQCD propagator generation. More...

#include <iostream>
#include <cstdio>
#include "chroma.h"

Go to the source code of this file.

Classes

struct  Param_t
 Parameters for running program. More...
 
struct  Prop_t
 Propagators. More...
 
struct  Propagator_input_t
 
class  TimeSliceFunc
 Function object used for constructing the time-slice set. More...
 

Macros

#define MAIN
 

Enumerations

enum  GaugeStartType {
  HOT_START = 0 , COLD_START = 1 , FILE_START_NERSC = 2 , COLD_START =0 ,
  HOT_START , HOT_START = 0 , COLD_START = 1 , FILE_START = 2 ,
  HOT_START = 0 , COLD_START = 1 , FILE_START = 2 , HOT_START = 0 ,
  COLD_START = 1 , FILE_START = 2 , HOT_START = 0 , COLD_START = 1 ,
  FILE_START_NERSC = 2
}
 

Functions

void time_evolve (LatticeFermion &Gplus, const LatticeFermion &Gnow, int t)
 
void compute_nrqcd_prop (LatticeFermion &G, const LatticeFermion &Gsource, const multi1d< LatticeColorMatrix > &u, const Real Mass, int n, int nt)
 
void read (XMLReader &xml, const std::string &path, Prop_t &input)
 
void read (XMLReader &xml, const std::string &path, Propagator_input_t &input)
 
int main (int argc, char **argv)
 
void time_evolve (LatticeFermion &Gplus, const LatticeFermion &Gnow, const multi1d< LatticeColorMatrix > &u, int t)
 
void apply_lowest_ke (LatticeFermion &Gout, const LatticeFermion &Gin, const multi1d< LatticeColorMatrix > &u, const Real Mass, int t)
 

Detailed Description

Main code for NRQCD propagator generation.

This is a template program to help the Glasgow group impliment the NRQCD action to whatever order they want.

See Thacker and Lepage , PRD 43, 1991 ,196

To start this off I will just add in the additional code to this file. Eventally (but quickly), the fermion operator will be put in the appropriate place (whatever that is),

The NRQCD evolution equation is not a natural std::map to the chroma/qdp++ system. Apply the operators to the full lattice but only look at a specific time slice, using the set notation.

For NRQCD code need the field strength (and derivatives# of.

This code needs to be converted from SZIN. ./actions/ferm/fermacts/prec_clover_fermact_w.cc

LATTICE_FIELD_STRENGTH(f); To get at MesField (u, f);

Definition in file t_propagator_nrqcd.cc.

Macro Definition Documentation

◆ MAIN

#define MAIN

Definition at line 39 of file t_propagator_nrqcd.cc.

Enumeration Type Documentation

◆ GaugeStartType

Enumerator
HOT_START 
COLD_START 
FILE_START_NERSC 
COLD_START 
HOT_START 
HOT_START 
COLD_START 
FILE_START 
HOT_START 
COLD_START 
FILE_START 
HOT_START 
COLD_START 
FILE_START 
HOT_START 
COLD_START 
FILE_START_NERSC 

Definition at line 61 of file t_propagator_nrqcd.cc.

Function Documentation

◆ apply_lowest_ke()

void apply_lowest_ke ( LatticeFermion &  Gout,
const LatticeFermion &  Gin,
const multi1d< LatticeColorMatrix > &  u,
const Real  Mass,
int  t 
)

Definition at line 516 of file t_propagator_nrqcd.cc.

References Chroma::displacement(), Chroma::Mass, t, Chroma::tmp, and Chroma::u.

Referenced by compute_nrqcd_prop().

◆ compute_nrqcd_prop()

void compute_nrqcd_prop ( LatticeFermion &  G,
const LatticeFermion &  Gsource,
const multi1d< LatticeColorMatrix > &  u,
const Real  Mass,
int  n,
int  nt 
)

Definition at line 570 of file t_propagator_nrqcd.cc.

References apply_lowest_ke(), Chroma::i, Chroma::Mass, n, t, time_evolve(), and Chroma::u.

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

◆ read() [1/2]

void read ( XMLReader &  xml,
const std::string &  path,
Prop_t input 
)

Definition at line 107 of file t_propagator_nrqcd.cc.

References Prop_t::prop_file, and Chroma::read().

◆ read() [2/2]

void read ( XMLReader &  xml,
const std::string &  path,
Propagator_input_t input 
)

◆ time_evolve() [1/2]

void time_evolve ( LatticeFermion &  Gplus,
const LatticeFermion &  Gnow,
const multi1d< LatticeColorMatrix > &  u,
int  t 
)

Definition at line 484 of file t_propagator_nrqcd.cc.

References BACKWARD, t, Chroma::tmp, and Chroma::u.

◆ time_evolve() [2/2]

void time_evolve ( LatticeFermion &  Gplus,
const LatticeFermion &  Gnow,
int  t 
)

Referenced by compute_nrqcd_prop().