API Reference

Analyzer(sample, config[, dimension, ...])

Class for analyzing correlation functions.

Config()

Class for representing TBPM parameters.

DiagSolver(model[, overlap, enable_mpi, ...])

Base class for solvers based on exact diagonalization.

FakeOverlap(num_orb)

Base class for fake overlap holding the analytical overlap matrix.

FakePC(num_orb[, lat_vec, unit])

Base class for fake primitive cell holding the analytical Hamiltonian.

HopDict(num_orb)

Class for holding hopping terms.

Lindhard(cell, kmesh_size[, energy_min, ...])

Lindhard function calculator.

MPIEnv([enable_mpi, echo_details])

Wrapper over MPI4PY APIs.

Overlap(model)

Container for orbital overlap in real space.

PCInterHopping(pc_bra, pc_ket)

Class for holding hopping terms between different primitive cells in hetero-structure.

ParamFit(k_points[, weights])

Class for fitting on-site energies and hopping parameters to reference band data.

PrimitiveCell([lat_vec, origin, unit])

Class for representing the primitive cell.

ProgressBar(num_tasks[, num_scales])

Class for reporting the progress for a time-consuming task.

SCInterHopping(sc_bra, sc_ket)

Container class for hopping terms between different supercells within the sample.

SK()

Class for evaluating hopping integrals using Slater-Koster formula.

SOC()

Class for evaluating spin-orbital coupling terms.

SOCTable()

Hard-coded spin-orbital coupling term table, generated using the 'print_soc_table' method of 'SOC' class.

SOCTable2()

Hard-coded spin-orbital coupling term table, taking from https://journals.aps.org/prb/abstract/10.1103/PhysRevB.82.245412

Sample(*args)

Interface class to FORTRAN backend.

Solver(sample, config[, enable_mpi, ...])

Wrapper class over FORTRAN TBPM subroutines.

SpinTexture(cell, k_grid[, spin_major])

Spin texture calculator.

SuperCell(prim_cell, dim[, pbc, vacancies, ...])

Class for representing a supercell from which the sample is constructed.

TestHelper(tester)

Helper class that makes unittest easier.

Timer()

Class for measuring the time usage of function calls within programs.

Visualizer([enable_mpi, echo_details])

Class for quick data visualization.

Z2(cell, num_occ, **kwargs)

Class for evaluating the Z2 topological invariant.

cart2frac(lattice_vectors, cartesian_coordinates)

Convert Cartesian coordinates to fractional coordinates.

extend_prim_cell(prim_cell[, dim])

Extend primitive cell along a, b and c directions.

find_neighbors(cell_bra[, cell_ket, a_max, ...])

Find neighbours between the (0, 0, 0) cell of model_bra and nearby cells of cell_ket up to given cutoff distance.

frac2cart(lattice_vectors, ...[, origin])

Convert fractional coordinates to Cartesian coordinates.

gen_kdist(lattice_vectors, kpoints)

Convert k_path generated by gen_path into distances in reciprocal space.

gen_kmesh(grid_size)

Generate uniform mesh grid in the first Brillouin zone.

gen_kpath(hs_kpoints, num_interp)

Generate path in the reciprocal space connecting highly symmetric k-points.

gen_lattice_vectors([a, b, c, alpha, beta, ...])

Generate lattice vectors from given lattice parameters.

gen_reciprocal_vectors(lattice_vectors)

Generate reciprocal lattice vectors from real-space lattice vectors.

gen_seeds(num_seeds)

Generate a list of random numbers from /dev/urandom as seeds for Python random number generator.

get_datetime([fmt])

Return current date and time.

get_lattice_area(lattice_vectors[, direction])

Calculate the area along given direction.

get_lattice_volume(lattice_vectors)

Calculate the volume formed by lattice vectors.

make_antimonene([with_soc, soc_lambda, c])

Make antimonene primitive cell.

make_black_phosphorus([c])

Make black phosphorus primitive cell.

make_graphene_diamond([c, t])

Make graphene primitive cell in diamond shape.

make_graphene_rect([from_scratch, c, t])

Make graphene primitive cell in rectangular shape.

make_graphene_soc([is_qsh])

Set up the primitive cell of graphene with Rashba and Kane-Mele SOC.

make_graphene_sp([c])

Make graphene primitive cell in rectangular shape.

make_hetero_layer(prim_cell, hetero_lattice, ...)

Make one layer in the hetero-structure by reshaping primitive cell to given lattice vectors.

make_mos2_soc()

Make MoS2 primitive cell with SOC.

make_tmdc([material])

Make TMDC primitive cell.

merge_prim_cell(*args)

Merge primitive cells and inter-hopping dictionaries to build a large primitive cell.

print_banner_block(text[, width, mark, end])

Print a banner like #----------------------------------# # FOO # #----------------------------------# to stdout.

print_banner_line(text[, width, mark, end])

Print a banner like '#--------------- FOO ---------------#' to stdout.

read_config(filename)

Read configuration from a .pkl file.

reshape_prim_cell(prim_cell, lat_frac[, ...])

Reshape primitive cell to given lattice vectors.

rotate_coord(coord[, angle, axis, center])

Rotate Cartesian coordinates according to Euler angles.

spiral_prim_cell(prim_cell[, angle, center, ...])

Rotate and shift primitive cell with respect to z-axis.

split_list(raw_list, num_group[, algorithm])

Split given list into different groups.

split_range(n_max[, num_group])

Split range(n_max) into different groups.

wan2pc([seed_name, correct_hop, hop_eng_cutoff])

Create primitive cell from output of Wannier90.

window_exp(i, tnr)

Exponential window function.

window_exp_ten(i, tnr)

Exponential window function with base 10.

window_hanning(i, tnr)

Hanning window function.