Make group

From TurboGAP
Jump to navigation Jump to search

make_group creates a group for the atoms within the simulation system which are designated by one of the various styles (presently seven) described below. One or more atoms can be combined into groups on which different physical processes can be made to act while doing an MD simulation. For example, a thermostat can be applied to the sides of a cubic box when another process can be active on rest of the atoms inside the side walls. There are several ways by which different groups of atoms can be made. This keyword can be used more than once in the input script as more than one group may need to be defined for modeling specific setups. The general format for using the make_group command is as follows:

make_group = group_ID group_Style Number_specific_to_group_style Entries_specific_to_group_style

So, there are four kinds of input data that are required in order to define a group of atom(s). Each of these are explained in the following.

group_ID – it is the ID (or name) of the present group that is being defined. The atoms in the group will be identified by this name. For any subsequent operation on this group of atoms this group ID has to be referred. The name can be a combination of characters and numbers up to length 16.

group_Style – it is one of various styles by which a group of atoms can be defined. The available group styles are block, add, subtract, id, sphere, atomtype, dynamic. The group style all is already defined for all atoms in the simulation box and cannot be re-defined. Each of these group styles are explained below which will help to understand the third and fourth kinds of input data (Number_specific_to_group_style and Entries_specific_to_group_style) specific to the style.

Note: a group of all atoms with group style all and group ID all is defined by default. At present, a maximum of additional 16 groups can be made.

Group style block

This style is used to define a block of atoms. The block is built with the lower and upper limits of values along the x-, y- and z-axes (i.e., xlow, xhigh, ylow, yhigh, etc.) specified in the input. Here Number_specific_to_group_style is the number of values that will be provided to define block (or blocks together). One block is defined by 6 limits, so when a block style group is being made this number should be equal to a multiple of 6. The Entries_specific_to_group_style are real numbers denoting the limits of the block (or blocks together).

Examples

make_group = blk1 block 6 xlow xhigh ylow yhigh zlow zhigh

This will make a group named blk1 containing the atoms whose coordinates are within the limits (including the limiting values).

make_group = blk2 block 12
xlow1 xhigh1 ylow1 yhigh1 zlow1 zhigh1
xlow2 xhigh2 ylow2 yhigh2 zlow2 zhigh2

This will make a group of atoms whose coordinates are within any of the two blocks defined by the limits.

make_group = blk3 block 36
xlow1 xhigh1 ylow1 yhigh1 zlow1 zhigh1
xlow2 xhigh2 ylow2 yhigh2 zlow2 zhigh2
…… ……. ……. ……. ……. …….
xlow6 xhigh6 ylow6 yhigh6 zlow6 zhigh6

This makes a single group of atoms named as blk3 where six block are defined together (they can be all the sides of the simulation box, etc.)

Group style add

This style is used to add the atoms in two or more groups to the group that is presently being defined. So, necessarily the Number_specific_to_group_style should be at least equal to 2, followed those many Entries_specific_to_group_style, which are now just the IDs of the groups whose atoms should be added into the present group. The groups to be considered for adding should be already defined before performing this operation.

Example

make_group = blk123 add 3 blk1 blk2 blk3

This will make group blk123 contain all the atoms that are in groups blk1, blk2 and blk3.

Group style id

This style is used to make a group of atoms with the mentioned atom IDs. The Number_specific_to_group_style is the number of IDs that will be provided and the Entries_specific_to_group_style are the IDs of the atoms.

Example

make_group = grp1 id 5 21 33 212 300 100

This will make a group named grp1 with five atoms whose IDs are as given.

Group style subtract

This style is used to form a group of the atoms which is only in one group and none of the other groups. Here again, the Number_specific_to_group_style should be at least equal to 2, followed those many Entries_specific_to_group_style, which are the IDs of the groups. The present group will be made with those atoms which are in the group mentioned first and in none of the subsequent groups.

Examples

make_group = sub1 subtract 2 all blk3

This makes a group named sub1 containing all atoms in the simulation box which are not in the group blk3.

make_group = sub subtract 4 all blk1 blk2 blk3

This makes a group named sub where those atoms only are present which are not in any of the groups blk1 blk2 blk3.

Group style sphere

This style is used to define a group of atoms which fall within a sphere of a given radius. The Number_specific_to_group_style here is 4 and the Entries_specific_to_group_style are first the radius of the sphere and then followed by the x, y and z coordinates of the centre of the sphere.

Example

make_group = sph1 sphere 4 3.2 4.2 5.0 4.2

This makes a group sph1 for the atoms which are within a sphere of radius 3.2 Å and centred at (4.2, 5.0, 4.2).

Group style atomtype

This style is used to group atoms by their types. The Number_specific_to_group_style should be at least equal to 1 and can be maximum equal to the number of species of atoms in the simulation box. The Entries_specific_to_group_style are just the symbols of the elements or species. This may be required only when the simulation system consists of many types of atoms.

Example

make_group = grp2 atomtype 1 H

This makes a group named grp2 of all the H atoms in the system, provided there are multiple species in the system and H is one of them.

Group style dynamic

This style is used to designate an already defined group as dynamic, meaning that the atoms in this group will be checked if they still belong to the geometrical region that was originally defined for them as the MD time has evolved. This check is performed at an interval of MD steps provided through the Number_specific_to_group_style. The update of the specified group is performed at the specified interval after the inter-atomic forces have been computed. Note that defining groups as dynamic is computation expensive and doing too frequent an update of the dynamic groups will also increase computation times.

Examples

make_group =  blk2 dynamic 1000
make_group =  sph1 dynamic 100

In example 1, the group blk2 of style block defined earlier will be checked for update of its constituent atoms, which means it will be remade, after every 1000 MD time-steps. In example 2, the group sph1 of style sphere defined earlier will undergo the same update after every 100 steps.

Summary

Summary for make_group keyword
Required/optional Type See also
Optional Various adapt_time_groupID, optimize_groupID, thermostat_groupID, eel_groupID, eph_groupID