1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/ReCo.jl.git synced 2024-09-19 19:01:17 +00:00
ReCo.jl/graphics/CairoMakie_graphics/potential.jl

61 lines
1.2 KiB
Julia
Raw Permalink Normal View History

2022-04-05 01:22:39 +00:00
using CairoMakie
using LaTeXStrings: @L_str
2022-04-06 13:37:01 +00:00
include("../../visualization/common_CairoMakie.jl")
2022-04-05 01:22:39 +00:00
const minimum_r_σ_ratio = 2^(1 / 6)
function U_LJ_ϵ_ratio(r_σ_ratio::Real)
σ_r_ratio⁶ = r_σ_ratio^(-6)
return 4 * (σ_r_ratio⁶^2 - σ_r_ratio⁶)
end
function U_WCA_ϵ_ratio(r_σ_ratio::Real)
if r_σ_ratio > minimum_r_σ_ratio
return zero(r_σ_ratio)
else
return U_LJ_ϵ_ratio(r_σ_ratio) + 1
end
end
function plot_potentials()
init_cairomakie!()
fig = gen_figure()
max_x = 2.5
max_y = 1.05
min_y = -max_y
ax = Axis(
fig[1, 1]; xlabel=L"r / σ", ylabel=L"U(r) / ϵ", limits=(0.88, max_x, min_y, max_y)
)
r_σ_ratio = LinRange(0.95, max_x, 1000)
LJ = lines!(ax, r_σ_ratio, U_LJ_ϵ_ratio.(r_σ_ratio))
WCA = lines!(ax, r_σ_ratio, U_WCA_ϵ_ratio.(r_σ_ratio))
minimum_r_σ_ratio_line = lines!(
ax,
[minimum_r_σ_ratio, minimum_r_σ_ratio],
[min_y, max_y];
linestyle=:dash,
linewidth=1,
)
Legend(
fig[1, 2],
[LJ, WCA, minimum_r_σ_ratio_line],
[L"U_{LJ}", L"U_{WCA}", L"\frac{r}{σ} = 2^{1/6}"],
)
set_gaps!(fig)
save_fig("potential.pdf", fig)
return nothing
end