Skip to content

Commit 0366dee

Browse files
committed
Added W_y measurement
1 parent 02fd2ee commit 0366dee

3 files changed

Lines changed: 18 additions & 8 deletions

File tree

generalD_1_2.code.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ GeneralD12Code::GeneralD12Code(Spins & sigma, const HyperCube & cube, const doub
7878

7979
sigma.resize(N1); //these are the degrees of freedom (1 cells)
8080
//sigma.randomize();
81+
//for (int i=0; i<L_; i++) sigma.flip(D_*i+1); //Wy = -1
8182

8283
//use it to built the sigma-z plaquettes
8384
vector <int> temp;

measure.h

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ class Measure
2020
double TOT_energy2; //energy^2
2121
double TOT_Mag; //magnetization s
2222
double TOT_Mag2; //magnetization squared
23-
double TOT_WilX; //magnetization squared
23+
double TOT_WilX; //Wilson loop in the x-direction
24+
double TOT_WilY; //Wilson loop in the k-direction
2425

2526
//vector <double> Wilson_RunningAvg;
2627

@@ -43,6 +44,7 @@ Measure::Measure(const int & N, const PARAMS & p){
4344
TOT_Mag = 0.0;
4445
TOT_Mag2 = 0.0;
4546
TOT_WilX= 0.0;
47+
TOT_WilY= 0.0;
4648

4749
//Wilson_RunningAvg.assign(p.Dim_,0.0);
4850
}
@@ -55,6 +57,7 @@ void Measure::zero(){
5557
TOT_Mag = 0.0;
5658
TOT_Mag2 = 0.0;
5759
TOT_WilX= 0.0;
60+
TOT_WilY= 0.0;
5861

5962
//for (int d=0; d<Wilson_RunningAvg.size(); d++)
6063
//Wilson_RunningAvg[d] = 0.0;
@@ -74,12 +77,17 @@ void Measure::record(double & energy, Spins & sigma, const array_2t & WilsonLoop
7477
TOT_Mag += 1.0*mag;
7578
TOT_Mag2 += 1.0*mag*mag;
7679

77-
int prod = 1;
80+
int prodx = 1;
81+
int prody = 1;
7882
int L = WilsonLoops[0].size();
79-
for (int i=0; i<L; i++)
80-
prod *= sigma.spin[WilsonLoops[0][i]];
83+
for (int i=0; i<L; i++){
84+
prodx *= sigma.spin[WilsonLoops[0][i]];
85+
prody *= sigma.spin[WilsonLoops[1][i]];
86+
}
87+
8188

82-
TOT_WilX += 1.0*prod;
89+
TOT_WilX += 1.0*prodx;
90+
TOT_WilY += 1.0*prody;
8391

8492
}//update
8593

@@ -108,7 +116,8 @@ void Measure::output(const double & T, const double & H, const int & SimNum){
108116
cfout<<TOT_Mag2/(1.0*MCS * Nspin*Nspin)<<" ";
109117
double susc = TOT_Mag2/(1.0*MCS) - TOT_Mag*TOT_Mag/(1.0*MCS*MCS);
110118
cfout<<susc/(T*1.0*Nspin)<<" ";
111-
cfout<<TOT_WilX/(1.0*MCS)<<"\n";
119+
cfout<<TOT_WilX/(1.0*MCS)<<" ";
120+
cfout<<TOT_WilY/(1.0*MCS)<<"\n";
112121

113122
cfout.close();
114123

param.dat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
4
22
3
3-
-0.4
3+
0.0
44
0.2
55
2.0
66
0.1
7-
500
7+
0
88
1000
99
1
1010
109844

0 commit comments

Comments
 (0)