Skip to content

Commit

Permalink
Plotting
Browse files Browse the repository at this point in the history
  • Loading branch information
ddahlbom committed Nov 1, 2023
1 parent ace9537 commit 39c6f28
Show file tree
Hide file tree
Showing 5 changed files with 185 additions and 104 deletions.
8 changes: 7 additions & 1 deletion Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

julia_version = "1.9.3"
manifest_format = "2.0"
project_hash = "7cbd73c66787226c01aa6b7e61648ec1f91590fe"
project_hash = "9244608f48b9dd104f10d759f75a21b5ee2b079c"

[[deps.AbstractFFTs]]
deps = ["LinearAlgebra"]
Expand Down Expand Up @@ -266,6 +266,12 @@ git-tree-sha1 = "bea7984f7e09aeb28a3b071c420a0186cb4fabad"
uuid = "927a84f5-c5f4-47a5-9785-b46e178433df"
version = "0.8.8"

[[deps.DelimitedFiles]]
deps = ["Mmap"]
git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae"
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
version = "1.9.1"

[[deps.DiffResults]]
deps = ["StaticArraysCore"]
git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621"
Expand Down
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name = "FiniteTemperatureFeI2"
authors = ["ddahlbom"]

[deps]
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1"
GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a"
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
Expand Down
201 changes: 100 additions & 101 deletions data/instrument_data/sequoia_FWHM_per_energy.csv
Original file line number Diff line number Diff line change
@@ -1,101 +1,100 @@
energy,FWHM
-1.200000000000000000e+01,3.884550769806265902e-01
-1.176363636363636367e+01,3.847646284311661002e-01
-1.152727272727272734e+01,3.810941750527386263e-01
-1.129090909090909101e+01,3.774438522658777884e-01
-1.105454545454545467e+01,3.738137978892622226e-01
-1.081818181818181834e+01,3.702041521912310396e-01
-1.058181818181818201e+01,3.666150579421081357e-01
-1.034545454545454568e+01,3.630466604673128761e-01
-1.010909090909090935e+01,3.594991077012260061e-01
-9.872727272727273018e+00,3.559725502417814269e-01
-9.636363636363636687e+00,3.524671414057417573e-01
-9.400000000000000355e+00,3.489830372846186024e-01
-9.163636363636364024e+00,3.455203968011869020e-01
-8.927272727272727693e+00,3.420793817665371273e-01
-8.690909090909091361e+00,3.386601569376094800e-01
-8.454545454545455030e+00,3.352628900751356000e-01
-8.218181818181818699e+00,3.318877520019172800e-01
-7.981818181818181479e+00,3.285349166613583671e-01
-7.745454545454545148e+00,3.252045611761556487e-01
-7.509090909090908816e+00,3.218968659070524096e-01
-7.272727272727272485e+00,3.186120145115436397e-01
-7.036363636363636154e+00,3.153501940024137640e-01
-6.799999999999999822e+00,3.121115948059772216e-01
-6.563636363636363491e+00,3.088964108198829495e-01
-6.327272727272727160e+00,3.057048394703318350e-01
-6.090909090909090828e+00,3.025370817685418268e-01
-5.854545454545454497e+00,2.993933423662891724e-01
-5.618181818181818166e+00,2.962738296103361590e-01
-5.381818181818181834e+00,2.931787555955464586e-01
-5.145454545454545503e+00,2.901083362164746382e-01
-4.909090909090909172e+00,2.870627912172046270e-01
-4.672727272727272840e+00,2.840423442391962205e-01
-4.436363636363636509e+00,2.810472228668910444e-01
-4.200000000000000178e+00,2.780776586708087472e-01
-3.963636363636362958e+00,2.751338872478595321e-01
-3.727272727272726627e+00,2.722161482585833681e-01
-3.490909090909090295e+00,2.693246854610155117e-01
-3.254545454545453964e+00,2.664597467408714171e-01
-3.018181818181817633e+00,2.636215841377326230e-01
-2.781818181818181301e+00,2.608104538669123174e-01
-2.545454545454544970e+00,2.580266163366758403e-01
-2.309090909090908639e+00,2.552703361604879984e-01
-2.072727272727272307e+00,2.525418821639681677e-01
-1.836363636363635976e+00,2.498415273862375219e-01
-1.599999999999999645e+00,2.471695490753591240e-01
-1.363636363636363313e+00,2.445262286775893301e-01
-1.127272727272726982e+00,2.419118518201872348e-01
-8.909090909090906507e-01,2.393267082875668861e-01
-6.545454545454543194e-01,2.367710919906181322e-01
-4.181818181818179880e-01,2.342453009290843269e-01
-1.818181818181816567e-01,2.317496371469566496e-01
5.454545454545467464e-02,2.292844066809287540e-01
2.909090909090910060e-01,2.268499195020675652e-01
5.272727272727273373e-01,2.244464894509774489e-01
7.636363636363636687e-01,2.220744341668924315e-01
1.000000000000000000e+00,2.197340750113090102e-01
1.236363636363636331e+00,2.174257369869850853e-01
1.472727272727272663e+00,2.151497486533868186e-01
1.709090909090908994e+00,2.129064420399527091e-01
1.945454545454545325e+00,2.106961525588990358e-01
2.181818181818181657e+00,2.085192189196897194e-01
2.418181818181817988e+00,2.063759830477707169e-01
2.654545454545454319e+00,2.042667900107226486e-01
2.890909090909090651e+00,2.021919879556315081e-01
3.127272727272726982e+00,2.001519280622368890e-01
3.363636363636363313e+00,1.981469645173010996e-01
3.599999999999999645e+00,1.961774545166901917e-01
3.836363636363635976e+00,1.942437583028741865e-01
4.072727272727274084e+00,1.923462392470070559e-01
4.309090909090908639e+00,1.904852639864533792e-01
4.545454545454546746e+00,1.886612026306612178e-01
4.781818181818181301e+00,1.868744290507169670e-01
5.018181818181819409e+00,1.851253212708243723e-01
5.254545454545453964e+00,1.834142619834801258e-01
5.490909090909092072e+00,1.817416392143940684e-01
5.727272727272726627e+00,1.801078471684454396e-01
5.963636363636364734e+00,1.785132872944253102e-01
6.199999999999999289e+00,1.769583696143515461e-01
6.436363636363637397e+00,1.754435143732244740e-01
6.672727272727271952e+00,1.739691540778499912e-01
6.909090909090910060e+00,1.725357360096891890e-01
7.145454545454544615e+00,1.711437253178016704e-01
7.381818181818182723e+00,1.697936088255649623e-01
7.618181818181817277e+00,1.684858997214427057e-01
7.854545454545455385e+00,1.672211433531894942e-01
8.090909090909089940e+00,1.659999244118375572e-01
8.327272727272728048e+00,1.648228758845263764e-01
8.563636363636362603e+00,1.636906902860091051e-01
8.800000000000000711e+00,1.626041338667778002e-01
9.036363636363635266e+00,1.615640647724932988e-01
9.272727272727273373e+00,1.605714565469987809e-01
9.509090909090907928e+00,1.596274290198285428e-01
9.745454545454546036e+00,1.587332896608834865e-01
9.981818181818180591e+00,1.578905902247304815e-01
1.021818181818181870e+01,1.571012065500062838e-01
1.045454545454545325e+01,1.563674550067292446e-01
1.069090909090909136e+01,1.556922702286202831e-01
1.092727272727272592e+01,1.550794928362530523e-01
1.116363636363636402e+01,1.545343741190182418e-01
1.139999999999999858e+01,1.540645699823800230e-01
-1.200000000000000000e+01 3.884550769806265902e-01
-1.176363636363636367e+01 3.847646284311661002e-01
-1.152727272727272734e+01 3.810941750527386263e-01
-1.129090909090909101e+01 3.774438522658777884e-01
-1.105454545454545467e+01 3.738137978892622226e-01
-1.081818181818181834e+01 3.702041521912310396e-01
-1.058181818181818201e+01 3.666150579421081357e-01
-1.034545454545454568e+01 3.630466604673128761e-01
-1.010909090909090935e+01 3.594991077012260061e-01
-9.872727272727273018e+00 3.559725502417814269e-01
-9.636363636363636687e+00 3.524671414057417573e-01
-9.400000000000000355e+00 3.489830372846186024e-01
-9.163636363636364024e+00 3.455203968011869020e-01
-8.927272727272727693e+00 3.420793817665371273e-01
-8.690909090909091361e+00 3.386601569376094800e-01
-8.454545454545455030e+00 3.352628900751356000e-01
-8.218181818181818699e+00 3.318877520019172800e-01
-7.981818181818181479e+00 3.285349166613583671e-01
-7.745454545454545148e+00 3.252045611761556487e-01
-7.509090909090908816e+00 3.218968659070524096e-01
-7.272727272727272485e+00 3.186120145115436397e-01
-7.036363636363636154e+00 3.153501940024137640e-01
-6.799999999999999822e+00 3.121115948059772216e-01
-6.563636363636363491e+00 3.088964108198829495e-01
-6.327272727272727160e+00 3.057048394703318350e-01
-6.090909090909090828e+00 3.025370817685418268e-01
-5.854545454545454497e+00 2.993933423662891724e-01
-5.618181818181818166e+00 2.962738296103361590e-01
-5.381818181818181834e+00 2.931787555955464586e-01
-5.145454545454545503e+00 2.901083362164746382e-01
-4.909090909090909172e+00 2.870627912172046270e-01
-4.672727272727272840e+00 2.840423442391962205e-01
-4.436363636363636509e+00 2.810472228668910444e-01
-4.200000000000000178e+00 2.780776586708087472e-01
-3.963636363636362958e+00 2.751338872478595321e-01
-3.727272727272726627e+00 2.722161482585833681e-01
-3.490909090909090295e+00 2.693246854610155117e-01
-3.254545454545453964e+00 2.664597467408714171e-01
-3.018181818181817633e+00 2.636215841377326230e-01
-2.781818181818181301e+00 2.608104538669123174e-01
-2.545454545454544970e+00 2.580266163366758403e-01
-2.309090909090908639e+00 2.552703361604879984e-01
-2.072727272727272307e+00 2.525418821639681677e-01
-1.836363636363635976e+00 2.498415273862375219e-01
-1.599999999999999645e+00 2.471695490753591240e-01
-1.363636363636363313e+00 2.445262286775893301e-01
-1.127272727272726982e+00 2.419118518201872348e-01
-8.909090909090906507e-01 2.393267082875668861e-01
-6.545454545454543194e-01 2.367710919906181322e-01
-4.181818181818179880e-01 2.342453009290843269e-01
-1.818181818181816567e-01 2.317496371469566496e-01
5.454545454545467464e-02 2.292844066809287540e-01
2.909090909090910060e-01 2.268499195020675652e-01
5.272727272727273373e-01 2.244464894509774489e-01
7.636363636363636687e-01 2.220744341668924315e-01
1.000000000000000000e+00 2.197340750113090102e-01
1.236363636363636331e+00 2.174257369869850853e-01
1.472727272727272663e+00 2.151497486533868186e-01
1.709090909090908994e+00 2.129064420399527091e-01
1.945454545454545325e+00 2.106961525588990358e-01
2.181818181818181657e+00 2.085192189196897194e-01
2.418181818181817988e+00 2.063759830477707169e-01
2.654545454545454319e+00 2.042667900107226486e-01
2.890909090909090651e+00 2.021919879556315081e-01
3.127272727272726982e+00 2.001519280622368890e-01
3.363636363636363313e+00 1.981469645173010996e-01
3.599999999999999645e+00 1.961774545166901917e-01
3.836363636363635976e+00 1.942437583028741865e-01
4.072727272727274084e+00 1.923462392470070559e-01
4.309090909090908639e+00 1.904852639864533792e-01
4.545454545454546746e+00 1.886612026306612178e-01
4.781818181818181301e+00 1.868744290507169670e-01
5.018181818181819409e+00 1.851253212708243723e-01
5.254545454545453964e+00 1.834142619834801258e-01
5.490909090909092072e+00 1.817416392143940684e-01
5.727272727272726627e+00 1.801078471684454396e-01
5.963636363636364734e+00 1.785132872944253102e-01
6.199999999999999289e+00 1.769583696143515461e-01
6.436363636363637397e+00 1.754435143732244740e-01
6.672727272727271952e+00 1.739691540778499912e-01
6.909090909090910060e+00 1.725357360096891890e-01
7.145454545454544615e+00 1.711437253178016704e-01
7.381818181818182723e+00 1.697936088255649623e-01
7.618181818181817277e+00 1.684858997214427057e-01
7.854545454545455385e+00 1.672211433531894942e-01
8.090909090909089940e+00 1.659999244118375572e-01
8.327272727272728048e+00 1.648228758845263764e-01
8.563636363636362603e+00 1.636906902860091051e-01
8.800000000000000711e+00 1.626041338667778002e-01
9.036363636363635266e+00 1.615640647724932988e-01
9.272727272727273373e+00 1.605714565469987809e-01
9.509090909090907928e+00 1.596274290198285428e-01
9.745454545454546036e+00 1.587332896608834865e-01
9.981818181818180591e+00 1.578905902247304815e-01
1.021818181818181870e+01 1.571012065500062838e-01
1.045454545454545325e+01 1.563674550067292446e-01
1.069090909090909136e+01 1.556922702286202831e-01
1.092727272727272592e+01 1.550794928362530523e-01
1.116363636363636402e+01 1.545343741190182418e-01
1.139999999999999858e+01 1.540645699823800230e-01
73 changes: 73 additions & 0 deletions scripts/04_plot_results.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
using DrWatson
@quickactivate "FiniteTemperatureFeI2"

using Sunny, GLMakie
include(srcdir("instrument_corrections.jl"))

# Load the data calculated in the previous script.
data_renormalized = load(datadir("dssf", "renormalized.jld2"))
data_unrenormalized = load(datadir("dssf", "unrenormalized.jld2"))

# Define a path through reciprocal space.
cryst = data_renormalized["cryst"]
points = [[0, 0, 0], # List of wave vectors that define a path
[1, 0, 0],
[0, 1, 0],
[1/2, 0, 0],
[0, 1, 0],
[0, 0, 0]]
density = 60
path, xticks = reciprocal_space_path(cryst, points, density)

# Set up figure for spaghetti plots
fig = Figure()
ax1 = Axis(fig[1,1]; xticks, xlabel = "[H,K,L]", ylabel="Energy (meV)", title="Unrenormalized")
ax2 = Axis(fig[1,2]; xticks, xlabel = "[H,K,L]", ylabel="Energy (meV)", title="Renormalized")

# Plot unrenormalized results
sc = data_unrenormalized["sc"]
energies = available_energies(sc)
formula = intensity_formula(sc, :perp; kT=kT_meV, formfactors = [FormFactor("Fe2"; g_lande=3/2)])

is = intensities_interpolated(sc, path, formula)
is = convolve_sequoia(is, energies) # Add instrumental broadening
heatmap!(ax1, 1:size(is, 1), energies, is; colorrange=(0.0, 0.5))

# Plot renormalized results
sc_rn = data_renormalized["sc"]

is = intensities_interpolated(sc_rn, path, formula)
is = convolve_sequoia(is, energies) # Add instrumental broadening
heatmap!(ax2, 1:size(is, 1), energies, is; colorrange=(0.0, 0.5))
fig


# Calculate intensities an individual wave vectors and broaden
qs = [[1/2, 0, 0], [3/4, 0, 0], [1, 0, 0]]
σ = σ_from_FWHM(0.47)
gauss(x, x₀) = 1/*√2π)*exp(-(x-x₀)^2 / (2σ^2))

cuts = intensities_interpolated(sc, qs, formula)
cuts = broaden_energy(sc, cuts, gauss)

cuts_rn = intensities_interpolated(sc_rn, qs, formula)
cuts_rn = broaden_energy(sc, cuts_rn, gauss)

# Plot comparisons at individual wave vectors
fig = Figure()

ax1 = Axis(fig[1,1]; ylabel = "Intensity (a.u.)", xlabel = "Energy (meV)", title="Q=(1/2, 0, 0)")
ax2 = Axis(fig[1,2]; xlabel = "Energy (meV)", title="Q=(3/4, 0, 0)")
ax3 = Axis(fig[1,3]; xlabel = "Energy (meV)", title="Q=(1, 0, 0)")
color = :blue

lines!(ax1, energies, cuts[1,:]; linestyle=:dash, color)
lines!(ax1, energies, cuts_rn[1,:]; color)
lines!(ax2, energies, cuts[2,:]; linestyle=:dash, color)
lines!(ax2, energies, cuts_rn[2,:]; color)
ln = lines!(ax3, energies, cuts[3,:]; linestyle=:dash, color)
ln_rn = lines!(ax3, energies, cuts_rn[3,:]; color)

Legend(fig[1,4], [ln, ln_rn], ["Unrenromalized", "Renormalized"])

fig
6 changes: 4 additions & 2 deletions src/instrument_corrections.jl
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
using DelimitedFiles

σ_from_FWHM(FWHM) = FWHM / (2*√2log(2))

function convolve_sequoia(slice, ωs)
@assert length(ωs) == size(slice)[end] "Number of enegy values does not match slice dimension"

# Load sequoia resolution data
data = CSV.read(datadir("instrument_data", "sequoia_FWHM_per_energy.csv"), DataFrame)
Es, FWHMs = data.energy, data.FWHM
data = readdlm(datadir("instrument_data", "sequoia_FWHM_per_energy.csv"))
Es, FWHMs = data[:,1], data[:,2]
σs = σ_from_FWHM.(FWHMs)
println(σs)
σ_seq = LinearInterpolation(Es, σs)
Expand Down

0 comments on commit 39c6f28

Please sign in to comment.