# SuSMoST models review

SuSMoST can be used for simulation with both **abstract** and **specific** models. Abstract models, such as Ising, Langmuir adsorption, hard hexagons, hard disks, *k*-mers, are usefull for qualitative investigation of properties of wide classes of real-life systems. Specific models are meant be used for investigation of particular systems, for example: adsorption of CO on Pt(111), terephthalic acid on Cu(100), porphyrin on Au(111), 1, 4-cyclohexadiene on Si (001)-2×1, *etc*. Of course, this stratification is approximate and there are marginal cases that are hard to classify decisively.

SuSMoST is based on a generalized lattice model that is able to describe systems with any crystalline lattice, with arbitrary number of lattice site states and with any pairwise interactions, including long-range and directional ones. SuSMoST uses the following pairwise directional form of the Hamiltonian:

Here \(\sigma_i\) is the state of \(i\)-th lattice site; \(\mu(\sigma)\) is the adsorption energy of state \(\sigma\); \(\lambda(\sigma_i, \sigma_j, \vec{\boldsymbol{r}}_{ij})\) is the lateral interaction energy between \(i\)-th and \(j\)-th lattice sites separated by radius-vector \(\vec{\boldsymbol{r}}_{ij}\).

Robust mathematical description of the model can be found in paper PhysRevE.93.062804 in Section II - General Model.

In SuSMoST the lattice model description is stored as objects of the class `susmost.LatticeTask`

. These objects can be created with functions `susmost.normal_lattice_task()`

or `susmost.load_lattice_task()`

. The first one is better be used for abstract models, the second one - for specific models, although it is not required and inverse usages are possible. One should choose the way to create the `susmost.LatticeTask`

object based on convenience of model parameters specification. `susmost.load_lattice_task()`

builds the `susmost.LatticeTask`

object from data provided as a set of files. `susmost.normal_lattice_task()`

builds the `susmost.LatticeTask`

object from other objects created by Python code.