A magnetic system is represented by three files in 𝕍egas:
These files, written in plain text, must be constructed according to specified formats.
The first line of this file is composed by three values separated by spaces or tabs:
num_ions num_interactions num_types
where num_ions, num_interactions and num_types are the total number of ions, interactions and types of ions, respectively.
The following num_types lines correspond to the ion type names. Each line contains a value, which is a string corresponding to an ion type name. For example, in the case of a system composed by two ion types (Fe2 and Fe3+), these lines should look like this:
Fe2+
Fe3+
These lines are used to categorize the ions because some data is saved during the computations according to the types.
The following num_ions lines correspond to the ions parameters. These lines must have the following format:
index px py pz spinNorm hx hy hz type updatePolicy
where:
The following num_interactions lines correspond to the ion interactions in the system. These lines must have the following format:
index_A index_B Jex
This indicates that the site with index index_A has a neighbor with index index_B, and they are coupled with an exchange interaction constant equal to Jex. Therefore, if isotropic exchange coupling is desired, it must be included a line of index_B with neighbor index_A, coupled with an exchange interaction constant equal to Jex.
This file can take two formats, for uniaxial and cubic anisotropy. In both cases the file must contain num_ions lines. In the case of uniaxial anisotropy, the lines must have the following format:
Ax Ay Ay kan
where Ax, Ay and Az are the components of the anisotropy axis and kan is the value of the anisotropy constant. On the other hand, for cubic anisotropy, the lines must have the following format:
Ax Ay Ay Bx By By kan
where Ax, Ay, Az, Bx, By and Bz are the components of two perpendicular vectors, and , and kan is the anisotropy constant. The third vector is calculated by the cross product between and . Therefore, the cubic anisotropy is composed by these three vectors.
This file must contain num_ions lines, which must have the following format:
Sx Sy Sz
where Sx, Sy and Sz are the x, y and z components of the spin moment directions, respectively. must be equal to the spinNorm of the respective ion.
Here you can download a typical sample file for a bulk material of edge length equal to and periodic boundary conditions. The type of the ions is generic and the spin is equal to . The first line (
1000 6000 1
) indicates that there are ions and interactions, because each ion has neighbors, and ion type. All ions have a magnetic field axis equal to and they are going to be updated with a random spin update policy. All the ions are coupled with an exchange interaction constant equal to . It is possible to verify the line number of the last line, which must be the line . Here you can download an anisotropy file for uniaxial anisotropy along the axis and an anisotropy consant equal to . Finally, here you can download an initial state file where all the ions spin moments are pointing along the direction.
𝕍egas has a python-based tool, 𝕍egas-lattice, for building systems with different shapes, structures and magnetic properties. 𝕍egas lattice provides the essential routines to generate regular graph lattices in linear time, as well as some cuts of those lattices for nanoparticles and randomly depleted lattices. Detailed documentation of 𝕍egas lattice can be found at its GitHub repository. However, it is also possible to build systems using simple python scripts. Examples of sample, anisotropy and initial state files created using python scripts can be found in the Tutorials section.