Lateral interactions energies
Computation of lateral interactions between adsorbed species is a complicated task. Most of empitical potentials such as COMPASS, AMBER, Dreiding, CHARMM are not fitted to reproduce onsurface structures. Surface influence complicates energy lapndscape. It is especially true for metallic surfaces with nonlocalized electrons. DFT computations may be of utility, but due to longrange surfacemediated interactions in is necessary to conduct computations on very big slabs to avoid interactions between periodic images. For highly symmetric adsoption complexes it is handy to derive pairwise interactions from DFT energies of small slabs with various coverages, but you still need to know how long is the range of interactions and how many nonnegligible members are in the hamiltonian.
SuSMoST provides a calcenergies
utility that can be used for straightforward computation of samples energies. Typical usage is the following:
./utils/calcenergies d <model directory> c <calculator> <calculator arguments>
Here <model directory> is the directory with samples populated by the makeacsamples
utility, and <calculator> is one of the following lateral energy calculators:

Hardsphere calculator. Returns 

HyldgaardPersson potential calculator for surfacemediated longrange oscillating interactions. Also considers dipoledipole interactions (see CO/Pt(111) example) and hardsphere repulsions. This is a radially symmetric potential and the distance is computed between centers of mass of adsoption complexes. 

GPAW calculator from 

Quantum Espresso calculator from 
Also you can use your own calculator providing special Python script that defines function named calc_energy() with the following alguments:
def calc_energy(atoms, args):
...
return atoms_energy
Here atoms
is an ASE’s Atoms object that contains a sample to be calculated. args
contains command line
arguments of the calcenergies
utility, they can be either ignored or used at user’s discretion.
The function should return energy (free or enthalpy) of the atoms
object. To use the custom calculator script, calcenergies
should be invoked in this way:
./utils/calcenergies d <model directory> S custom_script.py
QE
and GPAW
calculators work the same way using calculators/dft.py
script. The file calculators/simple_gpaw_calculator.py
is an example of the simplest custom calculator script.
Command line arguments of calcenergies
can be used to configure calculators.
Arguments for HSPH
calculator

Specify hardsphere radii for adsorbate atoms. Should be done in elementwise manner. For example 
Arguments for HP
calculator

Fermi energy parameter \(\epsilon_F\) in HyldgaardPersson potential. Default value is 0.0, than completely disables this kind of interactions. This parameter is the same for all adsoption complexes. 

Insurface Fermi wavevector \(q_F\) in HyldgaardPersson potential. Default value is 0.2. This parameter is the same for all adsoption complexes. 

Fermilevel phase shift \(d_F\) in HyldgaardPersson potential. Default value is 0.0. This parameter is the same for all adsoption complexes. 

Dipole moment for dipoledipole interactions. It is considered by HP calculator along with HyldgaardPersson potential as the following addition: \(\frac{\mu_1 \mu_2}{r^3}\). Please, note that Coulomb constant is not included. This parameter should be specified for each adsorption complex. For example 
HP calculator also respects HSPS parameters.
Example of energy calculation for a CO/Pt(111) model with two types of adsorption complexes (ontop and bridge):
./utils/calcenergies c HP d COPt111bridge hsphr O=1.3 HPmu ontop=0.4 bridge=0.4
Here ``HPeps`` is taken by default to be zero, so longrange interactions are ignored. ``hsphr O=1.3`` argument forbids too close allocation of adsorbate, that otherwise could happen due to dipoledipole attraction between atop and bridge adsoption complexes.
Arguments for GPAW
and QE
calculators
These calculator are both based on the Density Functional Theory, so they share most of their arguments. Unlike HP and HSPH, these calculators are able to do geometric relaxation of samples. If some particular sample is unstable and geometric relaxation causes too large distortion of adsoption complexes then the sample is considered forbidden and its energy is returned to be inf
.

Local optimizer for structure relaxation or No if relaxation should be skipped. default=BFGS Relaxed structures are saved in subdirectory 

Perturbation of atoms before relaxation to avoid stucking on saddle points. default=0.01 

Maximum force for relaxation stopping criterion 

Maximum atom shift on relaxation. Larger shifts considered as infinite repulsion 

Density mixing coefficient for DFT calculators: larger  faster, smaller  more stable. default=0.01 

XC functional (LDA, PBE, …) 

Cutoff kinetic energy for planewave basis [eV], default=400. 

Smearing width [eV], default=0.1. 
Of course, these set of arguments do not exhaust all parameters of DFT computations, so feel free to modify the calculator script calculators/dft.py
for advanced tuning of DFT calculators.