Skip to content

Commit 88c09ff

Browse files
committed
Updated / corrected holstein to match DMC and PIMC
1 parent ae1c2cc commit 88c09ff

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/HolsteinTheory.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ end
3535
function holstein_interaction_energy_integrand(τ, v, w, α, ω, β; dims = 3)
3636
coupling = holstein_coupling(1, α, ω; dims = dims)
3737
propagator = polaron_propagator(τ, v, w, ω, β)
38-
phonon_propagator(τ, ω, β) * (coupling * erf* sqrt(propagator / 2)) / sqrt(2π * propagator))^dims
38+
phonon_propagator(τ, ω, β) * (coupling * erf* sqrt(propagator * dims)) / sqrt(2π * propagator))^dims
3939
end
4040

4141
"""
@@ -44,7 +44,7 @@ end
4444
function holstein_interaction_energy_integrand(τ, v, w, α, ω; dims = 3)
4545
coupling = holstein_coupling(1, α, ω; dims = dims)
4646
propagator = polaron_propagator(τ, v, w, ω)
47-
phonon_propagator(τ, ω) * (coupling * erf* sqrt(propagator / 2)) / sqrt(2π * propagator))^dims
47+
phonon_propagator(τ, ω) * (coupling * erf* sqrt(propagator * dims / ω)) / sqrt(2π * propagator))^dims
4848
end
4949

5050
"""
@@ -67,9 +67,9 @@ end
6767
Total free energy for the Holstein model. Here the k-space integral is evaluated analytically.
6868
"""
6969
function holstein_energy(v, w, α, ωβ...; dims = 3)
70-
kinetic_energy = -2 * dims - electron_energy(v, w, ωβ...; dims = dims)
71-
potential_energy = -holstein_interaction_energy(v, w, α, ωβ...; dims = dims)
72-
return kinetic_energy + potential_energy, kinetic_energy, potential_energy
70+
kinetic_energy = -2 * dims - electron_energy(v, w, ωβ...; dims = dims) / dims
71+
potential_energy = -holstein_interaction_energy(v, w, α, ωβ...; dims = dims) / 2.0^dims
72+
return (kinetic_energy + potential_energy), kinetic_energy, potential_energy
7373
end
7474

7575
"""
@@ -108,15 +108,15 @@ end
108108
General memory function for a given structure factor with frequency dependence.
109109
"""
110110
function general_memory_function(Ω, structure_factor; limits = [0, Inf])
111-
integral, _ = quadgk(t -> (1 - exp(im * Ω * t)) / Ω * imag(structure_factor(t)), limits[1], limits[2], rtol=1e-4)
111+
integral, _ = quadgk(t -> (1 - exp(im * Ω * t)) / Ω * imag(structure_factor(t)), limits[1], limits[2])
112112
return integral
113113
end
114114

115115
"""
116116
General memory function for a given structure factor in the DC limit.
117117
"""
118118
function general_memory_function(structure_factor; limits = [0, Inf])
119-
integral, _ = quadgk(t -> -im * t * imag(structure_factor(t)), limits[1], limits[2], rtol=1e-4)
119+
integral, _ = quadgk(t -> -im * t * imag(structure_factor(t)), limits[1], limits[2])
120120
return integral
121121
end
122122

src/KSpaceTheory.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ end
116116
Energy associated with the free electron at finite temperature.
117117
"""
118118
function electron_energy(v, w, ω, β; dims = 3)
119-
dims / β / ω * (log(v / w) - 1 / 2 * log(2π * ω * β) - log(sinh(v * ω * β / 2) / sinh(w * ω * β / 2))) + dims / 4 * (v^2 - w^2) / v * (coth(v * ω * β / 2) - 2 / (v * ω * β)) * ω
119+
# dims / β / ω * (log(v / w) - 1 / 2 * log(2π * ω * β) - log(sinh(v * ω * β / 2) / sinh(w * ω * β / 2))) + dims / 4 * (v^2 - w^2) / v * (coth(v * ω * β / 2) - 2 / (v * ω * β)) * ω
120+
(A(v, w, ω, β) + C(v, w, ω, β)) * dims / 3
120121
end
121122

122123
"""

0 commit comments

Comments
 (0)