Skip to content

Commit c4aa55f

Browse files
shinaokaclaude
andcommitted
BgG_jl: tighten the RSCG tolerance for the eta = 0.01 local DOS
The two local-DOS figures of the topological superconductor (c55, c57) now call greensfunctions with eps = 1e-60. RSCG stops when |r|^2 max_j |rho_j| < eps, so the default eps = 1e-12 stopped long before convergence at eta = 0.01. Compared with exact diagonalization of the same 1024 x 1024 BdG Hamiltonian (peak height about 0.9): | eps | center | edge | |--------|----------|----------| | 1e-12 | 6.0e-2 | 5.6e-2 | | 1e-20 | 2.5e-3 | 1.1e-3 | | 1e-40 | 6.5e-7 | 3.1e-7 | | 1e-60 | 1.8e-12 | 7.9e-12 | A relative change of 1e-8 in Delta now changes the RSCG local DOS by at most 7e-8 (it was 7e-2), the size of the change of the exact local DOS. The cells take about 1 s each. The self-consistent loops and the s-wave local DOS (eta = 0.05) are not changed. Refs #10 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 623531c commit c4aa55f

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

‎src/BgG_jl.ipynb‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,18 +1094,22 @@
10941094
"end\n",
10951095
"\n",
10961096
"\n",
1097+
"# RSCG stops when |r|^2 max_j|rho_j| < eps. The default eps = 1e-12 is too loose at eta = 0.01:\n",
1098+
"# the local DOS then deviates from exact diagonalization by up to 0.06. With eps = 1e-60 it agrees to 1e-11.\n",
1099+
"eps_rscg = 1e-60\n",
1100+
"\n",
10971101
"ix = Nx ÷ 2\n",
10981102
"iy = Ny ÷ 2\n",
10991103
"ispin =1\n",
11001104
"\n",
11011105
"i = (( iy-1)*Nx + ix-1)*2 + ispin\n",
11021106
"j = i\n",
1103-
"Gij1 = greensfunctions(i,j,σ,Htsc) \n",
1107+
"Gij1 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n",
11041108
"\n",
11051109
"ispin =2\n",
11061110
"i = (( iy-1)*Nx + ix-1)*2 + ispin\n",
11071111
"j = i\n",
1108-
"Gij2 = greensfunctions(i,j,σ,Htsc) \n",
1112+
"Gij2 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n",
11091113
"plot(real.(σ),(-1/π)*imag.(Gij1 .+ Gij2),\n",
11101114
" xlabel = \"Energy [t]\",\n",
11111115
" ylabel = \"Local DOS\",)\n"
@@ -1132,12 +1136,12 @@
11321136
"\n",
11331137
"i = (( iy-1)*Nx + ix-1)*2 + ispin\n",
11341138
"j = i\n",
1135-
"Gij1 = greensfunctions(i,j,σ,Htsc) \n",
1139+
"Gij1 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n",
11361140
"\n",
11371141
"ispin =2\n",
11381142
"i = (( iy-1)*Nx + ix-1)*2 + ispin\n",
11391143
"j = i\n",
1140-
"Gij2 = greensfunctions(i,j,σ,Htsc) \n",
1144+
"Gij2 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n",
11411145
"plot(real.(σ),(-1/π)*imag.(Gij1 .+ Gij2),\n",
11421146
" xlabel = \"Energy [t]\",\n",
11431147
" ylabel = \"Local DOS\",)"

0 commit comments

Comments
 (0)