70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# 10.1007/s00601-020-01550-8\n",
|
|
"# Fig. 7\n",
|
|
"# E_R = 4.18(8)\n",
|
|
"\n",
|
|
"#./En.run -d 3 -n 3 -N 16 -c pot=v_shifted_gauss,v0=2.0,r=1.5,a=3.0 -c n_eig=20 -c which=li -c tol=1e-6 -L 16 -c phi=0.3 -v\n",
|
|
"\n",
|
|
"include(\"Hamiltonian.jl\")\n",
|
|
"mode = gpu_cutensor\n",
|
|
"T = Float32 # single-precision mode\n",
|
|
"\n",
|
|
"using Plots\n",
|
|
"\n",
|
|
"V_gauss(r2) =\n",
|
|
" 2 * exp(-((sqrt(r2) - 3) / 1.5) ^ 2)\n",
|
|
"\n",
|
|
"d = 3\n",
|
|
"n = 3\n",
|
|
"N = 14\n",
|
|
"L::T = 16\n",
|
|
"μ::T = 0.5\n",
|
|
"n_imag = 0\n",
|
|
"\n",
|
|
"for ϕ::T in 0.2:0.05:0.4\n",
|
|
" CUDA.reclaim()\n",
|
|
" GC.gc(true)\n",
|
|
" H = Hamiltonian{T}(V_gauss, d, n, N, L, ϕ, μ, n_imag, mode)\n",
|
|
" @time evals, _, info = eig(H, 20)\n",
|
|
" H = nothing\n",
|
|
" CUDA.reclaim()\n",
|
|
" GC.gc(true)\n",
|
|
" \n",
|
|
" print(info.numops, \" operations\")\n",
|
|
" display(evals)\n",
|
|
"\n",
|
|
" scatter(real.(evals), imag.(evals); legend=false)\n",
|
|
" xlabel!(\"Re E\")\n",
|
|
" ylabel!(\"Im E\")\n",
|
|
" xlims!(0, 6)\n",
|
|
" ylims!(-0.6, 0)\n",
|
|
" savefig(\"temp/phi$(Int(round(ϕ * 100))).png\")\n",
|
|
"end"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Julia 1.8.5",
|
|
"language": "julia",
|
|
"name": "julia-1.8"
|
|
},
|
|
"language_info": {
|
|
"file_extension": ".jl",
|
|
"mimetype": "application/julia",
|
|
"name": "julia",
|
|
"version": "1.8.5"
|
|
},
|
|
"orig_nbformat": 4
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|