spirit-code / spirit

Atomistic Spin Simulation Framework
http://spirit-code.github.io
MIT License
117 stars 52 forks source link

Query regarding the translation integers #621

Closed Sayan611 closed 2 years ago

Sayan611 commented 2 years ago

Dear SPIRIT developers, I have a question regarding the specification of translation integers (da db dc) in SPIRIT. Suppose I have a unit cell containing four atoms, and I have set up

################### Geometry #####################

Lattice constant for basis and translations

lattice_constant 1.0

The bravais lattice type

bravais_vectors 1.00 0.000000 0.0 0.00 0.707107 0.0 0.00 0.000000 1.0 basis 4 0.25 0.0000 0.0 0.50 0.5000 0.0 0.00 0.5000 0 0.75 0.0000 0.0

Number of basis cells along principal directions (a b c)

n_basis_cells 40 40 1 ################# End Geometry ###################

then in the case of heisenberg_pairs Hamiltonian how should I define "da db" to specify the interactions within the atoms inside the unit cell (as the values become fractional)? Below I have given the interaction of 0 th atom with the other 3 atoms inside one unit cell. i j da db dc Dijx Dijy Dijz Jij 0 1 0 0 0 -3.5e-03 2.8e-01 8.3e-02 17.5 0 2 0 0 0 -3.1e-02 1.4e-01 -7.7e-01 30.7 0 3 0 0 0 -1.6e-10 -8.9e-01 4.4e-11 -36.5 Is this correct? I will be grateful if you kindly help me in this matter. Thank you.

Regards Sayan Banik

MSallermann commented 2 years ago

Hi Sayan,

to define pairs acting within the unit cell set da=db=dc=0 and use the indices i and j. See for example the little ascii picture below, where pair A acts between two different unit cells and therefore da=1. On the other hand, pair B acts within the same unit cell but with different indices within the unit cell. The index of the basis atoms depends on the order in which you specify their position in the input file.

              A
         ┌──────────┐
         │          │
        ┌┴─────┬────▼─┐
     ┌──┤0   1 │0   1 │
   B │  │      │      │
     └──►2   3 │2   3 │
        └──────┴──────┘

        i j da db dc

pair A: 0 1 1  0  0

pair B: 0 2 0  0  0
Sayan611 commented 2 years ago

Dear @MSallermann, thank you for the clarification.