Export basis data

This commit is contained in:
Nuwan Yapa 2024-08-22 19:42:52 -04:00
parent 8358ea5d5f
commit c61adf6f2b
1 changed files with 6 additions and 1 deletions

View File

@ -4,6 +4,7 @@ include("../p_space.jl")
# contour # contour
p, w = get_mesh([0, 0.4 - 0.08im, 0.8, 6], [128, 128, 128]) p, w = get_mesh([0, 0.4 - 0.08im, 0.8, 6], [128, 128, 128])
contour_E = p.^2
# ResonanceEC: Eq. (20) # ResonanceEC: Eq. (20)
V_system(c) = (p, q) -> c*(-5*g0(sqrt(3), p, q) + 2*g0(sqrt(10), p, q)) V_system(c) = (p, q) -> c*(-5*g0(sqrt(3), p, q) + 2*g0(sqrt(10), p, q))
@ -11,6 +12,7 @@ V_system(c) = (p, q) -> c*(-5*g0(sqrt(3), p, q) + 2*g0(sqrt(10), p, q))
# generating a Berggren basis with a pole using the same system # generating a Berggren basis with a pole using the same system
basis_c = 0.6 basis_c = 0.6
basis_E, berg_basis = eigen(get_H_matrix(V_system(basis_c), p, w); permute=false, scale=false) basis_E, berg_basis = eigen(get_H_matrix(V_system(basis_c), p, w); permute=false, scale=false)
pole_E = quick_pole_E(V_system(basis_c)) # basis only has 1 pole
basis_p = sqrt.(basis_E) basis_p = sqrt.(basis_E)
N_berg = sqrt.(diag(transpose(berg_basis .* w) * berg_basis)) N_berg = sqrt.(diag(transpose(berg_basis .* w) * berg_basis))
berg_basis = berg_basis ./ transpose(N_berg) berg_basis = berg_basis ./ transpose(N_berg)
@ -50,7 +52,10 @@ for (j, c) in enumerate(extrapolate_points)
extrapolate_E[j] = evals[i] extrapolate_E[j] = evals[i]
end end
exportCSV("temp/2b_GSM_R2R.csv", (training_E, exact_E, extrapolate_E), ("training", "exact", "extrapolated")) exportCSV("temp/2b_GSM_R2R.csv", (training_E, exact_E, extrapolate_E, [pole_E]), ("training", "exact", "extrapolated", "basis"))
contour_E_export = contour_E[real.(contour_E) .< 1] # to trim unnecessary data outside axis limits
exportCSV("temp/2b_GSM_R2R_contour.csv", contour_E_export)
scatter(real.(training_E), imag.(training_E), label="training") scatter(real.(training_E), imag.(training_E), label="training")
scatter!(real.(exact_E), imag.(exact_E), label="exact") scatter!(real.(exact_E), imag.(exact_E), label="exact")