Skip to content

Commit

Permalink
Refactor input.jl and plot scripts.
Browse files Browse the repository at this point in the history
Add getters for (1 - ds), (1 + dm), and 1/(1 + dm).
  • Loading branch information
dcerkoney committed Nov 16, 2023
1 parent 7383d78 commit ca08458
Show file tree
Hide file tree
Showing 18 changed files with 796 additions and 762 deletions.
106 changes: 49 additions & 57 deletions example/input.jl
Original file line number Diff line number Diff line change
@@ -1,75 +1,67 @@
dim = 3 # dimension of the problem
rs = [5.0]
mass2 = [0.875] # screening parameter
rs = [1.0]
mass2 = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.5, 3.0, 3.5, 4.0] # screening parameter
# rs = [5.0]
# mass2 = [0.375, 0.5, 0.625, 0.75, 0.8125, 0.875, 0.9375, 1.0, 1.125, 1.25, 1.5] # screening parameter
Fs = [-0.0] # Fermi liquid parameter with zero angular momentum
beta = [40.0] # inverse temperature beta = β*E_F
# order = [4] # order of diagrams
order = [5] # order of diagrams
neval = 1e11 # number of Monte Carlo samples
isDynamic = false # whether to use effective field theory with dynamic screening or not
isFock = false # whether to use Fock renormalization or not

diagGenerate = :Parquet # :GV or :Parquet, algorithm to generate diagrams
# diagGenerate = :GV # :GV or :Parquet, algorithm to generate diagrams
# diagGenerate = :Parquet # :GV or :Parquet, algorithm to generate diagrams
diagGenerate = :GV # :GV or :Parquet, algorithm to generate diagrams
isLayered2D = false # whether to use layered 2D system or not

spin = 2 # 2 for unpolarized, 1 for polarized
spinPolarPara = 2 / spin - 1 # spin-polarization parameter (n_up - n_down) / (n_up + n_down) ∈ [0,1]
ispolarized = spinPolarPara != 0.0

# Whether or not we are benchmarking the diagrams
benchmark = :Parquet
# benchmark = :GV_new
# benchmark = :GV_old
# benchmark = nothing
if benchmark == :Parquet
data_directory = joinpath(@__DIR__, "sigma/data$(dim)d/parquet")
res_directory = joinpath(@__DIR__, "sigma/benchmark/parquet")
para_directory = res_directory
elseif benchmark == :GV_new
data_directory = joinpath(@__DIR__, "sigma/data$(dim)d/gv_new")
res_directory = joinpath(@__DIR__, "sigma/benchmark/gv_new")
para_directory = res_directory
elseif benchmark == :GV_old
data_directory = joinpath(@__DIR__, "sigma/data$(dim)d/gv_old")
res_directory = joinpath(@__DIR__, "sigma/benchmark/gv_old")
para_directory = res_directory
else
data_directory = joinpath(@__DIR__, "sigma/data$(dim)d")
res_directory = joinpath(@__DIR__, "sigma")
para_directory = ""
end

if isLayered2D
const parafilename = joinpath(para_directory, "para_wn_1minus0_layered2d.csv")
const simga_z_filename = joinpath(data_directory, "data$(dim)d_Z_$(diagGenerate)_layered.jld2")
const sigma_k_filename = joinpath(data_directory, "data$(dim)d_K_$(diagGenerate)_layered.jld2")
if spin == 2
const meff_filename = joinpath(res_directory, "meff_$(dim)d_$(diagGenerate)_layered.dat")
const zfactor_filename = joinpath(res_directory, "zfactor_layered2d.dat")
else
const meff_filename = joinpath(res_directory, "meff_$(dim)d_$(diagGenerate)_layered_spin$(spin).dat")
const zfactor_filename = joinpath(res_directory, "zfactor_layered2d_spin$(spin).dat")
# Build file base names
basenames = [
"para_wn_1minus0",
"data$(dim)d_Z",
"data$(dim)d_K",
"meff_$(dim)d",
"zfactor_$(dim)d",
"inverse_zfactor_$(dim)d",
"dispersion_ratio_$(dim)d",
"inverse_dispersion_ratio_$(dim)d",
]
for i in eachindex(basenames)
if spin != 2
basenames[i] *= "_spin$(spin)"
end
elseif ispolarized
const parafilename = joinpath(para_directory, "para_wn_1minus0_GV_spin_polarized.csv")
if spin == 2
const meff_filename = joinpath(res_directory, "meff_$(dim)d_GV_spin_polarized.dat")
const zfactor_filename = joinpath(res_directory, "zfactor_$(dim)d_GV_spin_polarized.dat")
else
const meff_filename = joinpath(res_directory, "meff_$(dim)d_spin$(spin)_GV_spin_polarized.dat")
const zfactor_filename = joinpath(res_directory, "zfactor_$(dim)d_spin$(spin)_GV_spin_polarized.dat")
if ispolarized
basenames[i] *= "_polarized"
end
const sigma_z_filename = joinpath(data_directory, "data$(dim)d_Z_GV_spin_polarized.jld2")
const sigma_k_filename = joinpath(data_directory, "data$(dim)d_K_GV_spin_polarized.jld2")
else
const parafilename = joinpath(para_directory, "para_wn_1minus0.csv")
if spin == 2
const meff_filename = joinpath(res_directory, "meff_$(dim)d.dat")
const zfactor_filename = joinpath(res_directory, "zfactor_$(dim)d.dat")
else
const meff_filename = joinpath(res_directory, "meff_$(dim)d_spin$(spin).dat")
const zfactor_filename = joinpath(res_directory, "zfactor_$(dim)d_spin$(spin).dat")
if isLayered2D
@assert dim == 2 "Layered 2D mode is only available for dim = 2!"
basenames[i] *= "_layered2d"
end
const sigma_z_filename = joinpath(data_directory, "data$(dim)d_Z_$(diagGenerate).jld2")
const sigma_k_filename = joinpath(data_directory, "data$(dim)d_K_$(diagGenerate).jld2")
end
para_basename,
sigma_z_basename,
sigma_k_basename,
meff_basename,
zfactor_basename,
inverse_zfactor_basename,
dispersion_ratio_basename,
inverse_dispersion_ratio_basename = basenames

# Directory paths
data_directory = joinpath(@__DIR__, "sigma/data$(dim)d")
res_directory = joinpath(@__DIR__, "sigma")
para_directory = "" # src directory

# File paths
const parafilename = joinpath(para_directory, para_basename * ".csv")
const simga_z_filename = joinpath(data_directory, sigma_z_basename * ".jld2")
const sigma_k_filename = joinpath(data_directory, sigma_k_basename * ".jld2")
const meff_filename = joinpath(res_directory, meff_basename * ".dat")
const zfactor_filename = joinpath(res_directory, zfactor_basename * ".dat")
const zinv_filename = joinpath(res_directory, inverse_zfactor_basename * ".dat")
const dispersion_ratio_filename = joinpath(res_directory, dispersion_ratio_basename * ".dat")
const inverse_dispersion_ratio_filename = joinpath(res_directory, inverse_dispersion_ratio_basename * ".dat")
36 changes: 0 additions & 36 deletions example/sigma/benchmark/gv_new/para_wn_1minus0.csv

This file was deleted.

36 changes: 0 additions & 36 deletions example/sigma/benchmark/gv_old/para_wn_1minus0.csv

This file was deleted.

36 changes: 0 additions & 36 deletions example/sigma/benchmark/parquet/para_wn_1minus0.csv

This file was deleted.

Loading

0 comments on commit ca08458

Please sign in to comment.