Hi all,
In the lattice I am working on, there are N (N>2) equivalent sites in primitive unit cell. All the bonds are equivalent, but have different orientation. e.g. kagome lattice, the three bonds have different directions. Now I need to write down the Dzyloshiski-Moriya interaction for this lattice, the D vector depends on the direction of the bond, or more specifically, D vector depends on the relative coordinates of the two sites. My question is how to specify the bond operator for different bonds, or, how to specify the coordinate-dependence of the bond operators?
The second question is about how to specify unit cell of the lattice. Here are two concrete examples from the library. I think if i can understand them, i won't have trouble with my lattice.
1. triangular,
<UNITCELL name="triangular" dimension="2"> <VERTEX/> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="0 1"/></EDGE> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="1 0"/></EDGE> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="-1 1"/></EDGE> </UNITCELL>
I am confused about this. I don't why it is specified as this. It doesn't seem natural to me. Just from the offset, it will form a right triangle, rather than an equilateral triangle. Also, does the length of the offset matter?
2, kagome,
<UNITCELL name="Kagome" dimension="2"> <VERTEX><COORDINATE>0 0</COORDINATE></VERTEX> <VERTEX><COORDINATE>0.5 0</COORDINATE></VERTEX> <VERTEX><COORDINATE>0 0.5</COORDINATE></VERTEX>
<EDGE><SOURCE vertex="1"/><TARGET vertex="2"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="3"/></EDGE> <EDGE><SOURCE vertex="2"/><TARGET vertex="3"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="2" offset="-1 0"/></EDGE> <EDGE><SOURCE vertex="2"/><TARGET vertex="3" offset="1 -1"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="3" offset="0 -1"/></EDGE> </UNITCELL>
Why specify the coordinates as this? Why rewrite the <EDGE> once more with offset? I cannot draw a unit cell from just looking this. Could some one explain this for me?
THanks very much!
Gang Chen
On 23 Aug 2007, at 04:01, GANG CHEN wrote:
Hi all,
In the lattice I am working on, there are N (N>2) equivalent sites in primitive unit cell. All the bonds are equivalent, but have different orientation. e.g. kagome lattice, the three bonds have different directions. Now I need to write down the Dzyloshiski- Moriya interaction for this lattice, the D vector depends on the direction of the bond, or more specifically, D vector depends on the relative coordinates of the two sites. My question is how to specify the bond operator for different bonds, or, how to specify the coordinate-dependence of the bond operators?
If they point in different directions you will need to give them different types. Also, be careful that not all codes actually allow for non-reflection invariant interactions on bonds. Which code do you want to use?
The second question is about how to specify unit cell of the lattice. Here are two concrete examples from the library. I think if i can understand them, i won't have trouble with my lattice.
- triangular,
<UNITCELL name="triangular" dimension="2"> <VERTEX/> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="0 1"/></EDGE> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="1 0"/></EDGE> <EDGE><SOURCE vertex="1" offset="0 0"/><TARGET vertex="1" offset="-1 1"/></EDGE> </UNITCELL>
I am confused about this. I don't why it is specified as this. It doesn't seem natural to me. Just from the offset, it will form a right triangle, rather than an equilateral triangle. Also, does the length of the offset matter?
The coordinates and offsets are in units of the lattice basis vectors. If you check the lattice definition then these are (1,0) and (1/2, sqrt(3)/2). When you use these basis vectors then it should be understandable.
And yes, the length of the offset matters: (0,1) is one cell up, (0,2) is the same vertex 2 cells up.
2, kagome,
<UNITCELL name="Kagome" dimension="2"> <VERTEX><COORDINATE>0 0</COORDINATE></VERTEX> <VERTEX><COORDINATE>0.5 0</COORDINATE></VERTEX> <VERTEX><COORDINATE>0 0.5</COORDINATE></VERTEX>
<EDGE><SOURCE vertex="1"/><TARGET vertex="2"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="3"/></EDGE> <EDGE><SOURCE vertex="2"/><TARGET vertex="3"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="2" offset="-1 0"/></EDGE> <EDGE><SOURCE vertex="2"/><TARGET vertex="3" offset="1 -1"/></EDGE> <EDGE><SOURCE vertex="1"/><TARGET vertex="3" offset="0 -1"/></EDGE>
</UNITCELL>
Why specify the coordinates as this?
These are again in units of the lattice basis vectors which are again tilted.
Why rewrite the <EDGE> once more with offset?
Because the unit cell has 3 vertices and 6 edges
I cannot draw a unit cell from just looking this. Could some one explain this for me?
Just use the basis vectors when drawing and it will become clear. From your e-mail address it seems that you are at UCSB. I'll be there for a week from Thursday of next week, in case you have more questions.
Matthias
comp-phys-alps-users@lists.phys.ethz.ch