How to specify anisotropic exchange in triangular lattice?

12 views
Skip to first unread message

Tharindu Fernando

unread,
Jul 8, 2024, 1:11:13 AMJul 8
to Vampire Users
Hi,

I have a triangular lattice system (of a single atom type) with NN, 2NN and 3NN anisotropic exchange interactions (i.e., tensorial J of form Jxx Jxy Jxz Jyx Jyy Jyz Jzx Jzy Jzz).
I am having a really hard time figuring out how to setup this simulation, specifically the anisotropic exchange.

My first attempt was to use a .ucf file as in code block 1 below. The issue here was that the lattice vectors have to be orthogonal in this case, according to the documentation.
When I asked for help for a different question here, it was recommended I use "create:crystal-structure = hcp" and the shells feature. 

Using this, I was able to generate a 2D triangular lattice with the lattice parameters I wanted. However, I still do not understand how I could specify the 9 matrix elements of J. To my understanding, I could use ""material:exchange-matrix-1st-nn[1]=...", "material:exchange-matrix-2nd-nn[1]=..." and "material:exchange-matrix-3rd-nn[1]=..." to set isotropic exchange values (since the tags are floats). Could you clarify how I could set anisotropic exchange matrix elements? If there aren't direct ways to do this for the triangular lattice system, are there any workarounds? Maybe a way to use my initial .ucf file attempt with the non-orthogonal lattice vectors?

Thank you!
Tharindu



Code block 1 (.ucf file):
###################################
# Unit cell size:
6.5 6.5 25
# Unit cell lattice vectors:
1    0.000000   0
-0.5 0.866025   0
0.0  0.000000   1
# Atoms
1 1
0 0.333333 0.666667 0.5
# Interactions  
18 tensorial
0 0 0 1 0 0 ...
###################################
Reply all
Reply to author
Forward
0 new messages