
Welcome to the homepage of TBPLaS (Tight-Binding Package for Large-scale Simulation) !
As indicated by its name, TBPLaS is a package for setting up and solving tight-binding models, with emphasis on handling large systems. It implements the tight-binding propagation method (TBPM) and achieves linear scaling in CPU time and RAM costs with respect to the model size. The highly efficient C++ core, hybrid OpenMP+MPI parallelization and GPU acceleration makes solving extra-large models with billions of orbitals on computers with moderate hardware possible. Exact diagonalization, Green’s function and kernel polynomial methods are also implemented. The user API is designed following the object-oriented paradigm and provides both Python and C++ implementations, offering both user friendliness and efficiency.
See Features for a summary of the features, or have look at the Gallery for demonstrations. If you are interested, you can Install it and start learning following the Tutorials.
Contents
- About
- Install
- Tutorials
- API Reference
- tbplas.Analyzer
- tbplas.Berry
- tbplas.BerryData
- tbplas.CachedSample
- tbplas.ConfigParser
- tbplas.DiagConfig
- tbplas.DiagSolver
- tbplas.GeneralOrbitalMap
- tbplas.HopDict
- tbplas.JobInfo
- tbplas.Lindhard
- tbplas.MPIEnv
- tbplas.PCHopNotFoundError
- tbplas.PCInterHopping
- tbplas.ParamFit
- tbplas.PrimitiveCell
- tbplas.ProgressBar
- tbplas.RegularOrbitalMap
- tbplas.RegularOrbitalMapVac
- tbplas.SCInterHopping
- tbplas.SK
- tbplas.SOC
- tbplas.SOCTable
- tbplas.SOCTable2
- tbplas.Sample
- tbplas.SpinData
- tbplas.SpinTexture
- tbplas.SuperCell
- tbplas.TBPMConfig
- tbplas.TBPMSolver
- tbplas.TestHelper
- tbplas.Timer
- tbplas.Visualizer
- tbplas.Z2
- tbplas.calc_bands
- tbplas.calc_dos
- tbplas.cart2frac
- tbplas.cart2frac_s
- tbplas.extend_prim_cell
- tbplas.find_neighbors
- tbplas.flatten_matrix
- tbplas.frac2cart
- tbplas.frac2cart_s
- tbplas.gen_kdist
- tbplas.gen_kmesh
- tbplas.gen_kpath
- tbplas.gen_lattice_vectors
- tbplas.gen_reciprocal_vectors
- tbplas.gen_seeds
- tbplas.get_datetime
- tbplas.get_lattice_area
- tbplas.get_lattice_volume
- tbplas.get_qe_indices
- tbplas.h5_load_complex
- tbplas.h5_load_double
- tbplas.h5_repack_directory
- tbplas.h5_repack_file
- tbplas.load_ac_cond
- tbplas.load_bands
- tbplas.load_berry
- tbplas.load_corr_ac_cond
- tbplas.load_corr_bands
- tbplas.load_corr_dc_cond
- tbplas.load_corr_dos
- tbplas.load_corr_dyn_pol
- tbplas.load_dos
- tbplas.load_dyn_pol
- tbplas.load_epsilon
- tbplas.load_hall_cond
- tbplas.load_ldos_haydock
- tbplas.load_quasi_eigen
- tbplas.load_spin
- tbplas.load_states
- tbplas.load_wft
- tbplas.load_z2
- tbplas.make_antimonene
- tbplas.make_bismuth
- tbplas.make_black_phosphorus
- tbplas.make_graphene_diamond
- tbplas.make_graphene_rect
- tbplas.make_graphene_soc
- tbplas.make_graphene_sp
- tbplas.make_hetero_layer
- tbplas.make_mos2_soc
- tbplas.make_tmdc
- tbplas.merge_prim_cell
- tbplas.mpienv_finalize
- tbplas.mpienv_init
- tbplas.np_load_complex
- tbplas.np_load_double
- tbplas.print_banner_block
- tbplas.print_banner_line
- tbplas.reshape_prim_cell
- tbplas.rotate_coord
- tbplas.spiral_prim_cell
- tbplas.split_list
- tbplas.split_range
- tbplas.wan2pc
- tbplas.window_exp
- tbplas.window_exp_ten
- tbplas.window_hanning
- tbplas.write_item
- Release Notes
- Contact
- Developers
- Publications