Autoflow
“A feature that may seem appealing to newcomers, but is frowned upon by seasoned
users.” – a possible summary of the diverge.autoflow() function. Very
useful for rapid progress in getting to know the library or having a very quick
look at a model. Quite nice to build your own scripts on, but to do that you
have to dig for the source. Good entry point to see the library in action.
- diverge.autoflow(hoppings=None, vertex=None, nk=None, nkf=None, lattice=array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]), no=1, SU2=1, nspin=1, sites=[[0, 0, 0]], model_output='model.dvg', post_output='post.dvg', flow_output='flow.dat', rs_symmetries=None, orb_symmetries=None, mode='tu', npatches_ibz=6, formfactor_maxdist=2.01, channels='PCD', ibz_path=[], maxvert=50.0, mu=None, nu=None)
Function for the simplest possible FRG flow.
Can be used to get familiar with the library, or to do some extremely rapid coding for a ‘standard’ FRG run. Outputs to three files by default and has some drastic simplifications built in, with no control left to the user. You are strongly advised to (a) build on top of this function or (b) use the actual API for actual (serious) projects.
- Parameters:
hoppings –
rs_hopping_tarray with the hopping elements. Created bydiverge.zeros((n_hop,), dtype=diverge.rs_hopping_t). required.vertex –
rs_vertex_tarray with the interaction elements. Created bydiverge.zeros((n_vert,), dtype=diverge.rs_vertex_t). required.nk – length 3 integer tuple for the momentum mesh. required.
nkf – length 3 integer tuple for the refined momentum mesh, default: refinement factor 15
lattice – (3,3) float64 array for the lattice vectors in C ordering, default:
np.eye(3)no – number of orbitals, default: 1
SU2 – use \(SU(2)\) symmetry, default: 1
nspin – number of spin degrees of freedom (\(n_\mathrm{spin}\)), default: 1 (since SU(2) is active)
sites – (n_orb, 3) float64 array for the positions in C ordering (see
diverge_model_t.positions), default:[[0,0,0]]model_output – string for the model output file (see
diverge_model_to_file()), default:"model.dvg"post_output – string for the postprocessing output file (see
diverge_postprocess_and_write()), default:"post.dvg"flow_output – string for the flow output file (see Flow), default:
"flow.dat"rs_symmetries – (n_sym, 3, 3) array or None. use these matrices as real-space symmetries (see Symmetries), default: None
orb_symmetries – (n_sym, n_orb, n_orb) array or None. use these matrices as orbital symmetries, default: None
mode – string for backend selection, default:
"tu"npatches_ibz – in case
mode == "patch", the number of patches to look for in the IBZ (seediverge_model_internals_patch()), default: 6formfactor_maxdist – in case
mode == "tu", the formfactor cutoff distance (seediverge_model_internals_tu()), default 2.01channels – string that holds the diagrammatic channels that should be included in the FRG flow (see
diverge_flow_step_init()), default:"PCD"ibz_path – array that holds the crystalc coordinates of the high symmetry path for band structures (see
diverge_model_t.ibz_path), default: []maxvert – value of maximum vertex element that is considered ‘diverged’ (see
diverge_euler_t).mu – chemical potential \(\mu\) (see
diverge_model_set_chempot()), default: Nonenu – filling value \(\nu\) between zero and one (see
diverge_model_set_filling()), default: None