find dimensionality of a periodic bond network
Syntax
l = sw_bonddim(c, {natom})
Description
l = sw_bonddim(c, {natom})
splits the given periodic bond network into
disjunct subsystems and determines the dimensionality of each subsystem.
Examples
Check the bond dimensionality of the triangular lattice:
tri = sw_model('triAF')
Output
Preparing 'triAF' model ...
Creating the bond list (maxDistance = 10 Å, nCell = 7x5x2)...
...25 bonds are retained out of 440 generated!
... ready!
tri =
SpinW object, spinw class:
Chemical formula: A1
Space group: P 0
Lattice:
a= 3.0000 Å, b= 3.0000 Å, c= 9.0000 Å
α= 90.00°, β= 90.00°, γ=120.00°
Magnetic atoms in the unit cell: 1
Mode:
symbolic: off, symmetry: off, textoutput: "stdout"
sw_bonddim(tri.intmatrix.all)
Output
0×0 empty struct array with fields:
D
base
site
Input Arguments
C
- Bond list in a matrix with dimensions of , where the meaning of
the rows are:
#1:#3
Lattice translations between the coupled atoms in lattice units (always integer).#4
Index of the bond starting atom.#5
Index of the bond end atom.
For example for a chain along b-axis on a Bravais lattice:
C = [1;1;0;1;0]
nAtom
- Number of atoms in the unit cell. If not given, the maximum atom index from the bond list is taken.
Output Arguments
L
- Struct with the number of elements equal to the number of
subsystems, it has the following fields:
D
Dimensionality of the subsystem .base
Basis vectors spanning the subsystem stored in a matrix where each column denotes a basis vector.site
List of sites that belong to the subsystem.