-
Notifications
You must be signed in to change notification settings - Fork 0
/
lattice.h
135 lines (107 loc) · 3.02 KB
/
lattice.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
typedef struct {
int Nx,Ny,Nz,Nt;
int Vol2,Vol3,Vol4;
int iseed;
int upd_phi;
double S1,S2,S3;
double chem_pot;
double dt;
int Met_step,N_therm,N_meas,N_step,N_dump;
int start,out;
char infile[256];
char outfile[256];
char corrfile[256];
double b0,y0;
int bc;
} latt_params ;
typedef struct {
// int xyzt[4];
int index;
char *neib[8];
#ifdef DUAL_LATTICE
char *dneib[16];
char *dneibBC[16];
#endif
/* U(1) link phases ? */
// double phase[4] ;
/* the phi^I and psi fields herein differ from those in the refs by a
simple shift: phi^I --> pi^I = phi^I - x^I ; psi --> pi^3 = psi - mu*t ;
the derivatives take these shifts into account, however */
/* superfluid phase and 1st derivs */
double psi , dpsi[4] ;
double psi_old ;
/* conjugate momentum variable (for MD update) */
double psiCM ;
/* normal fluid fields (comoving coords.) and 1st derivs */
double phi[3] , dphi[3][4] ;
double AImu[3][4] ;
// double Binv[3][3] ;
double phi_old[3] ;
/* conjugate momentum variables */
double phiCM[3] ;
/* normal-fluid velocity: u_mu(x) */
double uu[4] ;
/* local scalar invariants */
double b , X , y ;
} site ;
typedef struct {
/* pi^I = phi^I - x^I ; pi^3 = psi - mu*t ;
phonon field correlator: <pi^a(x) pi^b(x')> */
double dir12[4][4];
} phon_corr;
typedef struct {
/* stress-energy tensor: T_mu,nu(x) */
double dir12[10];
} Ttensor;
typedef struct {
/* stress-energy tensor correlator: <T_mu,nu(x) T_mu',nu'(x')> */
double dir1234[10][10];
} Ttensor_corr;
typedef struct {
/* normal-fluid flow velocities: <u_mu(x)> , <J_mu(x)> */
double u1[4],J1[4],uL1[4],JL1[4];
/* normal-fluid flow tensor: Omega_mu,nu(x) */
double ndir12[10];
/* normal/superfluid relative motion: xi_mu(x) */
double sdir[4];
/* normal-fluid vorticity */
double nvort[6];
/* superfluid vorticity */
double svort[6];
/* phonon fields pi^a and derivs d_mu pi^a */
double pi[4];
// double dpi[4][4];
} flow;
typedef struct {
/* normal-fluid flow velocity correlators: <u_mu(x) u_nu(x')> , <J_mu(x) J_nu(x')> */
double uu12[4][4],JJ12[4][4],uuL12[4][4],JJL12[4][4];
/* normal-fluid flow tensor correlator: <Omega_mu,nu(x) Omega_mu',nu'(x')> */
double ndir1234[10][10];
/* relative flow correlator: <xi_mu(x) xi_nu(x')> */
double sdir12[4][4];
/* normal-fluid vorticity */
double nvort12[6][6];
/* superfluid vorticity */
double svort12[6][6];
/* phonon field correlator: <pi^a(x) pi^b(x')> */
// phon_corr pipi;
// phon_corr dpidpi[10];
/* scalar correlators: <b(x) b(x')> , etc. */
// double bb,XX,yy,xixi,nn,rhorho,pp,TT;
} flow_corr;
typedef struct {
double bb,XX,yy,xixi,nn,rhorho,pp,TT;
} scal_corrs;
#define NUM_LOCAL_OBS 31
#ifdef MAIN
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN int Nsite , Nspace ;
EXTERN double Saction , Hamilto ;
EXTERN latt_params params ;
#ifdef DUAL_LATTICE
EXTERN int dsign[4][16] ;
#endif
EXTERN site *lattice , *latt_bound ;