Guest User

code for https://mathematica.stackexchange.com/q/193218

a guest
Mar 13th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. t = 1; nk = 1; J = 1; \[Lambda] = 0.3; \[Alpha] = 0.3;
  2. Kx = -\[Pi]; Kx1 = \[Pi]; Ky = -\[Pi]; Ky1 = \[Pi];
  3. sp1 = 0.01; d = 30;
  4. G[A0_, \[Omega]0_] := (
  5. \[Omega] = \[Omega]0;
  6. T = 2 Pi/\[Omega];
  7. ClearAll[H, Hk, F];
  8. A = A0;
  9. E1[l_] := (\[Phi] = l \[Pi]; {Cos[\[Phi]], Sin[\[Phi]]}/2);
  10. E2[l_] := (\[Phi] = l \[Pi] + \[Pi]/2; {Cos[\[Phi]], Sin[\[Phi]]}/2);
  11. E\[Alpha][
  12. l_] := (\[Phi] =
  13. l \[Pi]/2 + \[Pi]/4; {Cos[\[Phi]], Sin[\[Phi]]} Sqrt[2]/2);
  14. H[k_] := H[k] = Sum[({
  15. {0,
  16. J BesselJ[k, A/2] Exp[-I {kx, ky}.E1[l]] Exp[
  17. I k (l \[Pi] + \[Pi]/2)],
  18. J BesselJ[k, A/2] Exp[-I {kx, ky}.E2[l]] Exp[I k (l \[Pi])]},
  19. {J BesselJ[k, -A/2] Exp[I {kx, ky}.E1[l]] Exp[
  20. I k (l \[Pi] + \[Pi]/2)], 0, 0},
  21. {J BesselJ[k, -A/2] Exp[I {kx, ky}.E2[l]] Exp[I k (l \[Pi])],
  22. 0, 0}
  23. }), {l, 0, 1}] + Sum[({
  24. {0, \[Alpha] BesselJ[k, A/2] Exp[-I {kx, ky}.E1[l]] Exp[
  25. I k (l \[Pi] + \[Pi]/2)], \[Alpha] BesselJ[k,
  26. A/2] Exp[-I {kx, ky}.E2[l]] Exp[I k (l \[Pi])]},
  27. {\[Alpha] BesselJ[k, -A/2] Exp[I {kx, ky}.E1[l]] Exp[
  28. I k (l \[Pi] + \[Pi]/2)], 0, 0},
  29. {\[Alpha] BesselJ[k, -A/2] Exp[I {kx, ky}.E2[l]] Exp[
  30. I k (l \[Pi])], 0, 0}
  31. }), {l, 0}] - ({
  32. {0, \[Alpha] BesselJ[k, A/2] Exp[-I {kx, ky}.E1[1]] Exp[
  33. I k (1 \[Pi] + \[Pi]/2)], \[Alpha] BesselJ[k,
  34. A/2] Exp[-I {kx, ky}.E2[1]] Exp[I k (1 \[Pi])]},
  35. {\[Alpha] BesselJ[k, -A/2] Exp[I {kx, ky}.E1[1]] Exp[
  36. I k (1 \[Pi] + \[Pi]/2)], 0, 0},
  37. {\[Alpha] BesselJ[k, -A/2] Exp[I {kx, ky}.E2[1]] Exp[
  38. I k (1 \[Pi])], 0, 0}
  39. })+ Sum[({
  40. {0, 0, 0},
  41. {0,
  42. 0, -I \[Lambda] BesselJ[k,
  43. Sqrt[2] A/2] Exp[-I {kx, ky}.E\[Alpha][l]] Exp[
  44. I k (l \[Pi]/2 - \[Pi]/4)]},
  45. {0,
  46. I \[Lambda] BesselJ[k, -Sqrt[2] A/2] Exp[
  47. I {kx, ky}.E\[Alpha][l]] Exp[I k (l \[Pi]/2 - \[Pi]/4)], 0}
  48. }), {l, 0, 3, 3}] - Sum[({
  49. {0, 0, 0},
  50. {0,
  51. 0, -I \[Lambda] BesselJ[k,
  52. Sqrt[2] A/2] Exp[-I {kx, ky}.E\[Alpha][l]] Exp[
  53. I k (l \[Pi]/2 - \[Pi]/4)]},
  54. {0,
  55. I \[Lambda] BesselJ[k, -Sqrt[2] A/2] Exp[
  56. I {kx, ky}.E\[Alpha][l]] Exp[I k (l \[Pi]/2 - \[Pi]/4)], 0}
  57. }), {l, 1, 2}];
  58.  
  59. Hk = Table[
  60. H[j - i] + IdentityMatrix[3] If[i == j, i \[Omega], 0], {i, -nk,
  61. nk}, {j, -nk, nk}];
  62. Hk = ArrayFlatten[Hk];
  63. F[x_, y_] := (
  64. SA = Eigensystem[N[Hk /. kx -> x /. ky -> y]];
  65. SA = Table[{Chop[SA[[1]][[i]]], SA[[2]][[i]]}, {i, (2 nk + 1) 3}];
  66. SA = Sort[SA, #1[[1]] < #2[[1]] &];
  67. SA1 = SA[[1 ;; (3 nk + 1)]][[All, 2]]);
  68. s1 = Table[
  69. F[x, y], {x, Kx + sp1, Kx1 + sp1, (Kx1 - Kx)/d}, {y, Ky + sp1,
  70. Ky1 + sp1, (Ky1 - Ky)/d}];
  71. s2 = Total[
  72. Table[Im[
  73. Log[Diagonal[(Conjugate[s1[[i, j]]].Transpose[
  74. s1[[i + 1, j]]]) (Conjugate[s1[[i + 1, j]]].Transpose[
  75. s1[[i + 1, j + 1]]]) (Conjugate[
  76. s1[[i + 1, j + 1]]].Transpose[
  77. s1[[i, j + 1]]]) (Conjugate[s1[[i, j + 1]]].Transpose[
  78. s1[[i, j]]])]]], {i, d}, {j, d}], 2]/(2 Pi);
  79. -Total[s2])
  80. G[12, 10]
Add Comment
Please, Sign In to add comment