AutoBZOC.jl
December 17, 2024 · View on GitHub
This Julia project provides the code used in our preprint on optical conductivity integration: High-order and adaptive optical conductivity calculations using Wannier interpolation. Lorenzo Van Muñoz, Jason Kaye, Alex Barnett and Sophie Beck.
Running the code
This code was originally run using Julia 1.10, which can be installed using juliaup.
Instantiate the Julia project in this repository and then run each of the
scripts separately.
julia -e 'using Pkg; Pkg.activate("."); Pkg.instantiate()'
julia --project fig1.jl > fig1.log
julia --project fig2.jl > fig2.log
julia --project fig3.jl > fig3.log
julia --project fig4.jl > fig4.log # these logs contain the data for Table 1
julia --project --threads `nproc` fig5.jl > fig5.log # Recommended to run this in parallel
Each of the scripts has been set to an easier set of parameters so that
validating that the script runs can be done before performing the calculations
in the paper. The parameters used in the paper are commented and can be
uncommented to use them. The results from the 'warmup' will be saved and reused.
Figures will be saved to files in a figs_t2g directory.
The final figures 1-4 could each take multiple hours to run. Figure 5 may take a week on a node of a cluster.