Refactoring

This commit is contained in:
Nuwan Yapa 2024-07-01 17:00:47 -04:00
parent be6ada203e
commit df1600cc6f
4 changed files with 10 additions and 6 deletions

View File

@ -7,6 +7,7 @@ println("No of threads = ", Threads.nthreads())
atol = 10^-5 atol = 10^-5
maxevals = 10^5 maxevals = 10^5
R_cutoff = 16
Λ = 0 Λ = 0
m = 1.0 m = 1.0
@ -16,7 +17,7 @@ m = 1.0
Va = -2 Va = -2
Ra = 2 Ra = 2
V_of_r(r) = Va * exp(-r^2 / Ra^2) V_of_r(r) = Va * exp(-r^2 / Ra^2)
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
vertices = [0, 0.5 - 0.3im, 1, 4] vertices = [0, 0.5 - 0.3im, 1, 4]
subdivisions = [10, 10, 10] subdivisions = [10, 10, 10]

View File

@ -6,6 +6,7 @@ include("berggren.jl")
println("No of threads = ", Threads.nthreads()) println("No of threads = ", Threads.nthreads())
atol = 10^-5 atol = 10^-5
maxevals = 10^5 maxevals = 10^5
R_cutoff = 16
Λ = 0 Λ = 0
m = 1.0 m = 1.0
@ -15,7 +16,7 @@ m = 1.0
target = 4.0766890719636875 - 0.012758927741074495im target = 4.0766890719636875 - 0.012758927741074495im
V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2) V_of_r(r) = 2 * exp(-(r-3)^2 / (1.5)^2)
V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) V_l(j, k, kp) = Vl_mat_elem(V_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
vertices = [0, 2 - 0.2im, 3, 4] vertices = [0, 2 - 0.2im, 3, 4]
subdivisions = [15, 10, 10] subdivisions = [15, 10, 10]

View File

@ -8,6 +8,7 @@ println("No of threads = ", Threads.nthreads())
atol = 10^-5 atol = 10^-5
maxevals = 10^5 maxevals = 10^5
R_cutoff = 16
exact_ref = reverse([4.076662025307587-0.012709842443350328im, exact_ref = reverse([4.076662025307587-0.012709842443350328im,
3.613318119833891-0.007335804709990623im, 3.613318119833891-0.007335804709990623im,
@ -46,13 +47,13 @@ println("Basis size = $basis_size")
end end
@time "Va1" begin @time "Va1" begin
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js] Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
Va1 = blockdiag(sparse.(Va1_blocks)...) Va1 = blockdiag(sparse.(Va1_blocks)...)
end end
@time "Vb1" begin @time "Vb1" begin
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js] Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
Vb1 = blockdiag(sparse.(Vb1_blocks)...) Vb1 = blockdiag(sparse.(Vb1_blocks)...)
end end

View File

@ -8,6 +8,7 @@ println("No of threads = ", Threads.nthreads())
atol = 10^-5 atol = 10^-5
maxevals = 10^5 maxevals = 10^5
R_cutoff = 16
training_c = [1.1, 0.9, 0.7, 0.5] training_c = [1.1, 0.9, 0.7, 0.5]
extrapolating_c = 0.0 : 0.2 : 1.2 extrapolating_c = 0.0 : 0.2 : 1.2
@ -54,13 +55,13 @@ println("Basis size = $basis_size")
end end
@time "Va1" begin @time "Va1" begin
Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) Va_l(j, k, kp) = Vl_mat_elem(Va_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js] Va1_blocks = [kron(get_V_matrix((k, kp) -> Va_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
Va1 = blockdiag(sparse.(Va1_blocks)...) Va1 = blockdiag(sparse.(Va1_blocks)...)
end end
@time "Vb1" begin @time "Vb1" begin
Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=16) Vb_l(j, k, kp) = Vl_mat_elem(Vb_of_r, j, k, kp; atol=atol, maxevals=maxevals, R_cutoff=R_cutoff)
Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js] Vb1_blocks = [kron(get_V_matrix((k, kp) -> Vb_l(j1, k, kp), ks, ws), I(length(ks))) for (j1, _) in js]
Vb1 = blockdiag(sparse.(Vb1_blocks)...) Vb1 = blockdiag(sparse.(Vb1_blocks)...)
end end