tightbinder.topology.calculate_wannier_centre_flow#

calculate_wannier_centre_flow(system, number_of_points, full_BZ=False, additional_k=None, nk_subpath=50, refine_mesh=True, pos_tol=0.05, max_iterations=20)[source]#

Routine to compute the evolution of the Wannier Charge Centres (WCC) through Wilson loop calculation. TODO: Add parameter to toggle on/off using half/full BZ.

Parameters:
  • system (System) – System used to compute the WCC evolution.

  • number_of_points (int) – Number of points where the WCC are computed.

  • full_BZ (bool) – Boolean to toggle WCC calculation on full BZ instead of half the BZ. Useful for Chern number calculations (full_BZ=True). Defaults to False (for Z2 TIs).

  • additional_k (ndarray) – Array corresponding to kpoints to displace the closed paths by that vector.

  • nk_subpath (int) – Number of points for each closed path for which we compute the Wilson loop. Defaults to 50.

  • refine_mesh (bool) – Boolean to toggle mesh refinement. Defaults to True.

  • pos_tol (float) – Value of the maximum difference allowed between two consecutive WCCs. Used as criteria for mesh refinement.

  • max_iterations (int) – Maximum number of times the refinement loop is allowed to be repeated. Usually, if the algorithm times out it means that the Z2 calculation can’t converge (due to band crossings). Defaults to 20.

Return type:

ndarray

Returns:

Array with the WCCs evaluated at each kpoint.