BergEC-jl/calculations/3body_Berggren_B2R_EC.jl

40 lines
1.2 KiB
Julia

include("../p_space.jl")
include("../EC.jl")
Λ = 0
m = 1.0
V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2)
ϕ = 0.1
vertices = [0, 2 * exp(-2im * ϕ), 3, 4]
subdivisions = [15, 10, 10]
jmax = 4
E_max = 40
μω_global = 0.5
H0, weights = get_3b_H_matrix(jacobi, V_of_r, vertices, subdivisions, jmax, μω_global, E_max, Λ, m)
# Vp = perturbation to make the state artificially bound
Vp_of_r(r) = -exp(-(r/3)^2)
Vp, _ = get_3b_H_matrix(jacobi, Vp_of_r, vertices, subdivisions, jmax, μω_global, E_max, Λ, m, false, true)
training_c = [2.6, 2.4, 2.2, 2.0, 1.8]
extrapolating_c = 0.0 : 0.2 : 1.2
training_ref = -2.22 # complete list not needed because identification is simple
extrapolating_ref = [4.076662025307587-0.012709842443350328im,
3.613318119833891-0.007335804709990623im,
3.1453431847006783-0.004030580410326795im,
2.672967129943755-0.00211498327461944im,
2.196542557810288-0.0010719835443437104im,
1.7164583929199813-0.0005455212208182736im,
1.233088227541505-0.0003070320106485624im]
EC = affine_EC(H0, Vp, weights)
train!(EC, training_c; ref_eval=training_ref, CAEC=true)
extrapolate!(EC, extrapolating_c; ref_eval=extrapolating_ref)
exportCSV(EC, "temp/Berggren_B2R.csv")
plot(EC, "temp/Berggren_B2R.pdf")