Codebase to calculate bare susceptiblity of a lattice model (using TRIQS), and then perform general random phase approximation (RPA) on it to get instabilities of the model.
- Install the TRIQS and triqs_tprf package in a Python venv (with default name "triqs"). On Ubuntu there are precompiled packages. Otherwise this requires compilation described here.
- Add the julia repo locally in Package mode.
- Create the free Hamiltonian first. This is done using the TightBindingToolbox.jl interface. Some examples are given in ./examples/models.
- Define the interactions which are to be used for the RPA. This can also done in the same interface, with examples given in ./examples/interactions.
- Write a parent input file with details of parameters required for the calculation such as the inverse temperature, number of k-points, and number of matsubara frequencies. Refer to ./Inputs for formatting.
- Run the following command
julia --project=../Project.toml --heap-size-hint=4G --input="../Inputs/name_of_input.yml" --run_bare=true
- Preferred scan input is
fillings, with either explicit values:or a compact range:fillings: values: [0.2, 0.4, 0.6]
fillings: min: 0.0 max: 1.0 n: 51
- Legacy
musinputs are still supported, and are converted tofillingsduring the bare stage. k_pointscan be either explicit coordinates or HighSymPoints labels understood by the model Brillouin zone. Example mixed format:k_points: - G - [0.666666666667, 0.333333333333, 0.0] - M2 k_points_labels: ["\\Gamma", "K_1", "M_2"]
- If
k_points_labelsis omitted, labels are inferred fromk_points.