Grouping Atoms in GULP

In LAMMPS it is possible to group atoms and use these groups for calculation of properties (e.g. energy) that pertain only to the atoms in the group of interest.

I see within the cartesian command there is a way to define a region for input atoms, is it possible this could be used to achieve something similar in GULP?

In GULP it is possible to group atoms through the “region” label so that some groups can be kept fixed or are treated collectively. However, the easiest way to get the intra-fragment energy of a group is just to cut them out and do a single point calculation on the group as a non-periodic unit using “cartesian” to specify the coordinates. You can also get the per site atom energy (assuming an equal division of energy per interaction) using the “site_energy” keyword.

Okay thanks! Is there a specific function within GULP to cut out the atoms you want, or is it something you have to do yourself with the restart file using python script for example?

Which commands would you use to perform a single point energy calculation, and stop the system being periodic?

Here are answers to the 3 questions:

  1. You have to decide which atoms you want to cut out and so the easiest way to do this is just to cut them out from the file rather than having a command to do this. There is also the option to do it with a graphical visualiser such as GDis or Materials Studio.

  2. To perform a single point calculation you can use the keyword “single”. Alternatively since this is the default a blank keyword line would even do it.

  3. To stop the system from being periodic, just don’t specify a unit cell. Of course you will need to use “cartesian” for the coordinates rather than “fractional” since the latter wouldn’t make any sense if there is no unit cell.

1 Like

Alright thank you very much again!

It says on the cartesian information page that you specify the cartesian coordinates of the unit cell. But I presume if you don’t give it a unit cell it simply contains the atoms inside a none periodic simulation box dictated by the furthest extent of atoms in plus/minus x,y,z?

Apologies for the confusing wording - the reference to the cartesian coordinates inside the cell is only relevant if you have a cell. If you are running a non-periodic cluster then the coordinates are just the coordinates and there is no box or images.


I am trying to compute energy of stacking fault and I need semi-periodic simulation box. To avoid free surfaces I have atoms defined in region 2 (Rigid translation fixed in xyz) but I need energy only from atoms in region 1 (Rigid translation fixed in xy - optimization in z direction) and interaction energy between atoms in region 1 with atoms in region 2 (I can’t cut them out).

I have found two keywords ‘eregion’ and ‘site_energy’ both of them give me confusing results in computation with ‘sm’ keywords and both are zero without ‘sm’.
What information these keywords give?

Thank you for answer