Dear all,
first I would like to thank Matthias for the new release. Its really wonderful :)
You need to define a lattice with bonds up to the shall you want. I think Fritz Koermann has already done that for a bcc lattice, maybe he could post it?
Yes, here's the example for the bcc lattice in the lattice.xml-file. You may first define your lattice cell, for instance like:
<LATTICE name="body-centered cubic lattice" dimension="3"> <PARAMETER name="a" default="1"/> <BASIS> <VECTOR> a/2 a/2 -a/2</VECTOR> <VECTOR> a/2 -a/2 a/2</VECTOR> <VECTOR>-a/2 a/2 a/2</VECTOR> </BASIS> <RECIPROCALBASIS> <VECTOR> 2*pi/a 2*pi/a 0</VECTOR> <VECTOR> 2*pi/a 0 2*pi/a</VECTOR> <VECTOR> 0 2*pi/a 2*pi/a</VECTOR> </RECIPROCALBASIS> </LATTICE>
The interactions can than be defined as <VERTEX> in an approperiate <UNITCELL>. Please note that the positions of the nearest neighbors defining your interactions are defined in terms of the lattice vectors defined above. Including the first 3 shells the interactions may be defined as below.
<UNITCELL name="body-centered cubic lattice" dimension="3"> <VERTEX/> <EDGE type="0"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 0 0"/></EDGE> <EDGE type="0"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="0 1 0"/></EDGE> <EDGE type="0"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="0 0 1"/></EDGE> <EDGE type="0"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 1 1"/></EDGE> <EDGE type="1"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 1 0"/></EDGE> <EDGE type="1"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 0 1"/></EDGE> <EDGE type="1"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="0 1 1"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="2 1 1"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 2 1"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 1 2"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 0 -1"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="1 -1 0"/></EDGE> <EDGE type="2"><SOURCE vertex="1" offset="0 0 0"/><TARGET vertex="1" offset="0 1 -1"/></EDGE> </UNITCELL>
Here the interactions are always between the centered atom at position "0 0 0" and his neighbors at "1 0 0", e.g. the first 8 neighbors in the first shell (Be aware of the avoided double counting, i.e. here the interactions to "-1 0 0", "0 -1 0" etc. are neglected. It might be that therefor the interactions have to be scaled by a factor of 2 depending on the used Hamiltonian).
The interactions may be finally defined in your parameter-file like
J0=5 J1=4 J2=-2 J3=7 J4=...
where Jk corresponds to the 'type="k"' defined in the Unitcell above.
Best, Fritz Koermann
--- Max-Planck-Institut für Eisenforschung GmbH Max-Planck-Straße 1 D-40237 Düsseldorf
Handelsregister B 2533 Amtsgericht Düsseldorf
Geschäftsführung Prof. Dr. Jörg Neugebauer Prof. Dr. Anke R. Pyzalla Prof. Dr. Dierk Raabe Prof. Dr. Martin Stratmann Dipl.-Kfm. Herbert Wilk
Ust.-Id.-Nr.: DE 11 93 58 514 Steuernummer: 105 5891 1000 -------------------------------------------------