A Mathematica program package MagneticTB, which can generate the tight-binding model for arbitrary magnetic space group. The only input parameters in MagneticTB are the (magnetic) space group number and the orbital information in each Wyckoff positions. Some useful functions including getting the matrix expression for symmetry operators, manipulating the energy band structure by parameters and interfacing with other software are also developed.
Unzip the "MagneticTB-main.zip" file and copy the MagneticTB directory to any of the following four paths:
FileNameJoin[{$UserBaseDirectory, "Applications"}]
FileNameJoin[{$BaseDirectory, "Applications"}]
FileNameJoin[{$InstallationDirectory, "AddOns", "Packages"}]
FileNameJoin[{$InstallationDirectory, "AddOns", "Applications"}]
Then one can use the package after running Needs["MagneticTB`"]
.
The version of Mathematica should higher or equal to 11.0.
- Construct the tight-binding model for arbitrary magnetic space group
- Get the matrix expression for symmetry operators
- Interface with other software
- Manipulate the energy band structure by parameters
- Calculate the band co-representations of tight-binding model
See Comput. Phys. Commun. 270, 108153 (2022) (arXiv:2012.08871) for detail (please cite this paper if you use our code for your research).
See Examples.
v1.00b
- Add a new example for Charge-4 Weyl point in double magnetic space group PRB 105, 104426 (2022)(arXiv:2112.10479).
v1.00c
- Add Chinese manual.
- Fix a bug for displaying the lattice vector of monoclinic lattice.
v1.01 2022/07/22
- Fixed an issue where in very rare cases the order of basis functions would change due to the automatic unitarization.
v1.02 2022/12/1
-
MagneticTB now has the capability to calculate the band co-representations of a tight-binding model!
- Before using this capability,
SpaceGroupIrep
andMSGCorep
package needed to be installed. - Add two functions
getMSGElemFromMSGCorep
andgetTBBandCorep
, both two funcitons are depending on theMSGCorep
package. getMSGElemFromMSGCorep[{N1, N2}]
gives the magnetic space group element fromMSGCorep
package, where N1.N2 is the BNS magnetic space group number.getTBBandCorep[BNSNo, Hamiltonian, paramaters, kset]
, give the co-representations of tight-binding model, whereBNSNo
is the BNS magnetic space group number,Hamiltonian
is the Hamiltonian generated by MagneticTB,parameters
is the parameter in the tight-binding model,kset
is the list contains several k points.- For Orthorhombic and Monoclinic lattices, if you want to calculate the co-representations of tight-binding model please use
getMSGElemFromMSGCorep
to get the magnetic space group elements rather thanmsgop
. For other lattices bothmsgop
andgetMSGElemFromMSGCorep
should OK. - See Examples/Co-representationOfTBModel.nb for concrete example.
- Please also consider to cite
MSGCorep
package (Comput. Phys. Commun.288, 108722 (2023) arXiv:2211.10740) if you are using this capability.
- Before using this capability,
v1.02b 2023/2/14
- Add an example for getting the TB parameters by hand, see Examples/ObtainTheTBParametersByHand.nb.
- Add English manual.
v.1.03 2023/2/17
- Using a greedy algorithm to automatically find the generators of a space group, significantly improves computational efficiency.
v.1.04 2024/6/21
- Add "CartesianCoordinates" option to generate the TB model in Cartesian coordinates for symham function . See MoS2 for example.
- Add banddata to generate band.dat file. See MoS2 for example.
v.1.05 2024/12/4
- Fix a bug for hop function (thanks Chaoxi Cui).
- Add readHR function to import wannier90_hr.dat file