How to simulate a triangular lattice?

32 views
Skip to first unread message

Tharindu Fernando

unread,
Jul 3, 2024, 10:49:27 AMJul 3
to Vampire Users
Hi all,

Is it possible for me to simulate a 2D triangular lattice using VAMPIRE? For instance, with lattice vectors:

# 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

But the lattice vectors are not orthogonal, which I take as a requirement from the manual. I ran a field cooling simulation for a setup as above, but the resulting atom configuration is a square lattice when plotted.
 
If I cannot create a triangular lattice directly, are there any workarounds to achieving this? Naively, perhaps using a square lattice with 3 atoms? I have up to 3NN interactions in my triangular lattice, and want to do field cooling and curie temperature simulations.

I would appreciate any advice on this matter, including recommendations for other software that could help me with this if this is not possible in VAMPIRE.

Thank you so much!

Best,
Tharindu

Richard Evans

unread,
Jul 3, 2024, 11:02:01 AMJul 3
to Tharindu Fernando, Vampire Users
Hi Tharindu,

Yes this is built-in - just use create:crystal-structure = hcp and a small z-height for the system so you only have 2D. You can use the shells feature for the longer range interactions.

Best,

Richard

--
You received this message because you are subscribed to the Google Groups "Vampire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vampire-users/809f4952-7479-4107-8fa4-ade36515fd50n%40googlegroups.com.

Tharindu Fernando

unread,
Jul 3, 2024, 12:52:54 PMJul 3
to Vampire Users
Hi Richard,

Thank you very much for your prompt response! Would you mind helping me further? I have a lot of questions, and so I would appreciate your patience. I do not have anyone in my university to talk about VAMPIRE with. I have run several calculations (which are now incorrect due to this blunder), and I want to make sure I don't make more errors going forward.

I am a bit confused about how hcp applies here, because it has 4 atoms per unit cell instead of the 1 expected for the triangular lattice; and a coordination number of 12 (instead of 6 for triangular NN). I would appreciate clarification here.

Is there a way for me to visualize the resulting structure, so that I can make sure I have what I need? In particular, the DFT calculations which I used to calculate anisotropic exchange interactions were done for a triangular lattice with 120 degrees between the a and b lattice vectors (which are the vectors I specified in my previous post, but multiplied by 6.5 A; figure attached at the end). I want to make sure this is the case in what I create in VAMPIRE, and I would very much prefer to not redo my DFT calculations with a different lattice, since they took several months to complete.

I had done several calculations using the following .ucf file, and gotten a lot of results. But then I realized my code is wrong since the lattice vectors are not orthogonal:
###################################
# 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 ...
###################################

Here is my attempt at following your suggestion, for creating the structure. Is this correct? I would put the following in the input file:
###################################
create:crystal-structure = hcp
create:unit-cell-size-x = 6.5 !A
create:unit-cell-size-y = 6.5 !A
create:unit-cell-size-z = 1 !A

material:unit-cell-file = sample.ucf
create:periodic-boundaries-x
create:periodic-boundaries-y

dimensions:unit-cell-size-x = 6.5 !A
dimensions:unit-cell-size-y = 6.5 !A
dimensions:unit-cell-size-z = 1 !A
dimensions:system-size-x = 32.5 !nm
dimensions:system-size-y = 32.5 !nm
dimensions:system-size-z = 1 !A
###################################

I am not sure how the .ucf file (which I have pasted above), would change. Any advice?

I had 25 A in the c direction initially because that's what I used as the vacuum spacing in my DFT calculation. When you mentioned using a small z-height, what would an appropriate value be? I put 1 A above, but I don't know whether this is right. As in the code above, I don't specify create:periodic-boundaries in the z direction. Only x and y.

Next, I originally specified my exchange interactions using "IID i j dx dy dz Jxx Jxy Jxz Jyx Jyy Jyz Jzx Jzy Jzz" in the .ucf file (above). I am quite lost on how to instead use the 'shells feature' you mentioned. From the manual, is it a matter of setting "material:exchange-matrix-1st-nn[index]" (and 2nd-nn and 3rd-nn) in the input file? Along with "exchange:interaction-range = R" (what exactly is the double value R; in what units?) and "exchange:function = shell"? But I don't think I have exponential decay, just different constant Jxx, Jxy, ... between different pairs of NN/2NN/3NN links.
If so, I am not sure how I can set my anisotropic exchange (with 9 matrix elements "Jxx Jxy Jxz Jyx Jyy Jyz Jzx Jzy Jzz"), because the manual states the type for "material:exchange-matrix-1st-nn[index]" options is "float" (which I assume is a single number and not a list like Jxx, Jxy...). 
Would you mind telling me which tags I should use? I would really appreciate this.
Additionally, I have DMI in this case too, which I took as being automatically considered by specifying anisotropic Jij in the .ucf file. Would this have to be explicitly specified if I change this? I recall seeing a VAMPIRE video on Skyrmions that sets DMI using the in-built function, but again, my DMI vector rotates and is different between each NN pair (so, I am not sure about the applicability of "exchange:dmi-cutoff-range").

Again, I apologize for the many questions. I would sincerely appreciate any help.

Best,
Tharindu
Screenshot 2024-07-03 at 9.06.56 AM.png
Reply all
Reply to author
Forward
0 new messages