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:
  • hoppingsrs_hopping_t array with the hopping elements. Created by diverge.zeros((n_hop,), dtype=diverge.rs_hopping_t). required.

  • vertexrs_vertex_t array with the interaction elements. Created by diverge.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 (see diverge_model_internals_patch()), default: 6

  • formfactor_maxdist – in case mode == "tu", the formfactor cutoff distance (see diverge_model_internals_tu()), default 2.01

  • channels – 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: None

  • nu – filling value \(\nu\) between zero and one (see diverge_model_set_filling()), default: None