Skip to content

Discussion: Interaction format #20

@richard-evans

Description

@richard-evans

We probably need to agree how interactions should be defined between sites i and j. The two methods I'm familiar with is lattice vectors and explicit methods.

Lattice vectors
Lattice vectors are simpler to write by hand, link well to DFT but need symmetry operations to expand to full cartesian space. Eg for BCC one might have:

MS1 0.5 0.5 0.5

which implies directions vectors for all +/-x, +/-y, +-z, ie 2^3 = 8 combinations, but other crystals have more restricted symmetry. In general such expansion might need reference implementations (including the correct crystal symmetry) to generate the full list of interactions.

Explicit list
An explicit neighbour list writes all interactions (or only half with symmetric assumed). This leads to larger file sizes, but is very explicit (and if i->j and j->i interactions are included can be checked for symmetry). For example, in VAMPIRE this is done with unit cell offsets in x,y,z, eg for site MS1 in BCC:

# site-i site-j dx dy dz Jij
MS1 MS2 0 0 0
MS1 MS2 -1 0 0
MS1 MS2 -1 -1 0
MS1 MS2 0 -1 0
MS1 MS2 0 0 -1
MS1 MS2 -1 0 -1
MS1 MS2 -1 -1 -1
MS1 MS2 0 -1 -1

This is verbose, but needs no information about crystal symmetry, range of interaction etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions