-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add getters for (1 - ds), (1 + dm), and 1/(1 + dm).
- Loading branch information
Showing
18 changed files
with
796 additions
and
762 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.