diff --git a/3b_res_from_paper.jl b/3b_res_from_paper.jl new file mode 100644 index 0000000..eaa1b42 --- /dev/null +++ b/3b_res_from_paper.jl @@ -0,0 +1,37 @@ +# 10.1007/s00601-020-01550-8 +# Fig. 7 +# E_R = 4.18(8) + +#./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 + +include("Hamiltonian.jl") +mode = gpu_cutensor +T = Float32 # single-precision mode + +using Plots + +V_gauss(r2) = + 2 * exp(-((sqrt(r2) - 3) / 1.5) ^ 2) + +d = 3 +n = 3 +N = 14 +L = 16 +μ = 0.5 +n_imag = 0 + +for ϕ::T in 0.2:0.05:0.4 + s = system{T}(d, n, N, L) + H = Hamiltonian{T}(s, V_gauss, ϕ, n_imag, mode) + @time evals, _, info = eig(H, 20) + + print(info.numops, " operations") + display(evals) + + scatter(real.(evals), imag.(evals); legend=false) + xlabel!("Re E") + ylabel!("Im E") + xlims!(0, 6) + ylims!(-0.6, 0) + savefig("temp/phi$(Int(round(ϕ * 100))).png") +end \ No newline at end of file diff --git a/calculations.ipynb b/calculations.ipynb deleted file mode 100644 index e94cc84..0000000 --- a/calculations.ipynb +++ /dev/null @@ -1,65 +0,0 @@ -{ - "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 = 16\n", - "μ = 0.5\n", - "n_imag = 0\n", - "\n", - "for ϕ::T in 0.2:0.05:0.4\n", - " s = system{T}(d, n, N, L)\n", - " H = Hamiltonian{T}(s, V_gauss, ϕ, n_imag, mode)\n", - " @time evals, _, info = eig(H, 20)\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 -}