From c61adf6f2bc371054f4cd9aa4c4633c8e902c92b Mon Sep 17 00:00:00 2001 From: Nuwan Yapa Date: Thu, 22 Aug 2024 19:42:52 -0400 Subject: [PATCH] Export basis data --- calculations/R2R_Berggren_poles.jl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/calculations/R2R_Berggren_poles.jl b/calculations/R2R_Berggren_poles.jl index b6e9bff..3586afe 100644 --- a/calculations/R2R_Berggren_poles.jl +++ b/calculations/R2R_Berggren_poles.jl @@ -4,6 +4,7 @@ include("../p_space.jl") # contour p, w = get_mesh([0, 0.4 - 0.08im, 0.8, 6], [128, 128, 128]) +contour_E = p.^2 # ResonanceEC: Eq. (20) 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 basis_c = 0.6 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) N_berg = sqrt.(diag(transpose(berg_basis .* w) * berg_basis)) berg_basis = berg_basis ./ transpose(N_berg) @@ -50,7 +52,10 @@ for (j, c) in enumerate(extrapolate_points) extrapolate_E[j] = evals[i] 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.(exact_E), imag.(exact_E), label="exact")