How to model anisotropic exchange J, single-ion anisotropy and DMI for DMRG?
Posted: 11 Oct 2023, 18:45
Hi,
Currently, I am able to run DMRG calculations for the with isotropic exchange J parameters J1 and J2 for NN, and NNN using:
However, I now want to include anisotropic terms like Jxx, Jyy, Jzz, Jxz, Jzx, Jyz, Jzx, ...(including antisymmetric); Dx, Dy, Dz; Axy, Axz, Azz-Axx, etc for anisotropic exchange J, DMI D and single-ion anisotropy A. I want to do this for NN, NNN and NNNN couplings; using the spin-1/2 Heisenberg model for a 2D triangular lattice.
Would someone mind clarifying how I could go about setting this up in TeNPy?
Apologies if this is a newbie question, I am still getting familiar with this.
Currently, I am able to run DMRG calculations for the
Code: Select all
CouplingMPOModel
Code: Select all
def init_terms(self, model_params):
J1 = model_params.get('J1', 1.0)
J2 = model_params.get('J2', 0.0)
for u1, u2, dx in self.lat.pairs['nearest_neighbors']:
self.add_coupling(J1, u1, coupling_axis, u2, coupling_axis, dx)
for u1, u2, dx in self.lat.pairs['next_nearest_neighbors']:
self.add_coupling(J2, u1, coupling_axis, u2, coupling_axis, dx)
Would someone mind clarifying how I could go about setting this up in TeNPy?
Apologies if this is a newbie question, I am still getting familiar with this.