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,
SpaceGroupIrepandMSGCoreppackage needed to be installed. - Add two functions
getMSGElemFromMSGCorepandgetTBBandCorep, both two funcitons are depending on theMSGCoreppackage. getMSGElemFromMSGCorep[{N1, N2}]gives the magnetic space group element fromMSGCoreppackage, where N1.N2 is the BNS magnetic space group number.getTBBandCorep[BNSNo, Hamiltonian, paramaters, kset], give the co-representations of tight-binding model, whereBNSNois the BNS magnetic space group number,Hamiltonianis the Hamiltonian generated by MagneticTB,parametersis the parameter in the tight-binding model,ksetis 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
getMSGElemFromMSGCorepto get the magnetic space group elements rather thanmsgop. For other lattices bothmsgopandgetMSGElemFromMSGCorepshould OK. - See Examples/Co-representationOfTBModel.nb for concrete example.
- Please also consider to cite
MSGCoreppackage (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
v.1.06 2025/12/11
- Support Spin sapce groups (beta verson, see Examples/SSG-Example.nb)
- Support show Wyckoff positions of magnetic space groups; show symmetry operations of Magnetic Layer Groups and Magnetic Rod Groups(see Examples/GeneralExamples.nb)