Suppose we are making the surface reciprocal lattice of Si(111) 1x1 ideal surface and Si(111) r3xr3-In, r7xr3-In, 4x1-In, r7xr7-In.
The reciprocal unit cell vector of Si(111) 1x1 is
a* = (r3/2 G, -1/2G) .....eq. (1)
b* = (0, G) .....eq. (2)
where G is the absolute value of the Si(111) 1x1 reciprocal unit cell vectors.
The r3xr3 reciprocal unit cell vectors can be expressed as
as* = 2/3 a* + 1/3 a* .....eq. (3)
bs* = -1/3 a* + 1/3 b* .....eq. (4)
The reciprocal unit cell vectors for all the other surface structures above can be found in the following comprehensive book.
"Surface phases on Silicon -preparations, Structures and Properties "
by V. G. Lifshits, A. A. Saranin, and A. V. Zotov, Wiley
Now, what we want to do now is
1. obtain the reciprocal lattice point set Gs(k, l) = k * as* + l * bs*
over k= -25 to 25 and l = -25 to 25 for the surface structures.
-25 to 25 can be a very big range for 1x1, but appropriate for big unit cells such as 7x7.
2. Express the point sets in terms of x and y.
3. Display the data point set on x-y graph.
Let Igor do that.
Copy and paste the following lines to the Igor command line.
----------------------------------------
Make/N=(2601,2)/D indices,r7xr3A,r7xr3Axy, r7xr3Bxy,r7xr3Cxy,'4x1A','4x1Axy','4x1Bxy','4x1Cxy',r3xr3, r3xr3xy
Make/N=(2601,2)/D '1x1', '1x1xy', r7xr7A, r7xr7xy, r7xr7Bxy
indices[][0] = round((p-1300)/51) // set k = -25 to 25
indices[][1]= mod((p),51)-25 // set l = -25 to 25
// r3xr3------------------------
r3xr3[][0]= 2/3*indices[p][0] -1/3 * indices[p][1] //a* component of Gs(k, l) according to eqs. (3) and (4)
r3xr3[][1]= 1/3*indices[p][0] +1/3 * indices[p][1] //b* component of Gs(k, l) according to eqs. (3) and (4)
r3xr3xy[][0]= r3xr3[p][0]*sqrt(3)/2 //x component of Gs(k, l) according to eqs. (1) and (2)
r3xr3xy[][1]= -r3xr3[p][0]*1/2+r3xr3[p][1] //y component of Gs(k, l) according to eqs. (1) and (2)
// r7xr3------------------------
r7xr3A[][0]= 3/5*indices[p][0]-1/5*indices[p][1]
r7xr3A[][1]= 2/5*indices[p][0]+1/5*indices[p][1]
r7xr3Axy[][0]=r7xr3A[p][0]*sqrt(3)/2 //x component of Gs(k, l) for r7xr3 domain A
r7xr3Axy[][1]= -r7xr3A[p][0]*1/2+r7xr3A[p][1] //y component of Gs(k, l) for r7xr3 domain A
r7xr3Bxy[][0]= r7xr3A[p][0]*sqrt(3)/2-r7xr3A[p][1]*sqrt(3)/2 //x component of Gs(k, l) for r7xr3 domain B
r7xr3Bxy[][1]= r7xr3A[p][0]*1/2+r7xr3A[p][1]*1/2 //y component of Gs(k, l) for r7xr3 domain B
r7xr3Cxy[][0]= -r7xr3A[p][1]*sqrt(3)/2 //x component of Gs(k, l) for r7xr3 domain C
r7xr3Cxy[][1]= r7xr3A[p][0]-r7xr3A[p][1]/2 //y component of Gs(k, l) for r7xr3 domain C
// 4x1------------------------
'4x1A'[][0]= indices[p][0]
'4x1A'[][1]= 1/4*indices[p][1]
'4x1Axy'[][0]='4x1A'[p][0]*sqrt(3)/2
'4x1Axy'[][1]=-'4x1A'[p][0]*1/2+'4x1A'[p][1]
'4x1Bxy'[][0]= '4x1A'[p][0]*sqrt(3)/2-'4x1A'[p][1]*sqrt(3)/2
'4x1Bxy'[][1]= '4x1A'[p][0]*1/2+'4x1A'[p][1]*1/2
'4x1Cxy'[][0]= -'4x1A'[p][1]*sqrt(3)/2
'4x1Cxy'[][1]= '4x1A'[p][0]-'4x1A'[p][1]/2
//1x1------------------------
'1x1'[][0]= indices[p][0]
'1x1'[][1]= indices[p][1]
'1x1xy'[][0]= '1x1'[p][0]*sqrt(3)/2
'1x1xy'[][1]= -'1x1'[p][0]*1/2+'1x1'[p][1]
//r7xr7------------------------
r7xr7A[][0]= indices[p][0]*3/7-indices[p][1]*1/7
r7xr7A[][1]=indices[p][0]*1/7+indices[p][1]*2/7
r7xr7Axy[][0]= r7xr7A[p][0]*sqrt(3)/2
r7xr7Axy[][1]= -r7xr7A[p][0]*1/2+r7xr7A[p][1]
r7xr7Bxy[][0]= r7xr7A[p][0]*sqrt(3)/2
r7xr7Bxy[][1]= r7xr7A[p][0]*1/2-r7xr7A[p][1]
//Display------------------------
Display r3xr3xy[][1] vs r3xr3xy[][0]
ModifyGraph mode=3,marker=8
AppendToGraph r7xr3Axy[][1] vs r7xr3Axy[][0]
AppendToGraph r7xr7Bxy[][1] vs r7xr7Bxy[][0]
ModifyGraph mode=3,marker(r7xr7Bxy)=19,msize(r7xr7Bxy)=2,rgb(r7xr7Bxy)=(1,34817,52428)
//add the reciprocal lattices you are interested in. change color and size of the markers as you want.
//don' to forget to set the x axis and y axis have the same scale. Otherwise, the figure will be distorted.
ModifyGraph margin(left)=56,margin(bottom)=56
ModifyGraph margin(right)=14,margin(top)=14
ModifyGraph width=425.197,height=425.197
SetAxis left -2,2;DelayUpdate
SetAxis bottom -2,2
----------------------------------------------------------------------------------------------------------------