# Bond Create

- Mode
- Length
- Type
- View

Define here the criterium used to create new bonds.

### Direct

Selecting the Direct, the Atom entries become active, to enter the name and number of two atoms. If GAMGI identifies the atoms, a bond is created between them, after pressing Ok.

An easy technique to select an atom is to click the mouse over its visual representation: if GAMGI recognises the atom (it must be in the current layer), its identification is transported to the first empty Atom entry. If both entries were occupied before, the mouse action is ignored. If both entries are occupied after, GAMGI tries to create the bond.

The writing and clicking techniques can be combined. For example, the user can write an atom identification in the second Atom entry and then click on the visual representation of the other atom: GAMGI writes its identification in the first Atom entry, previously empty, and attempts to create the bond.

The only information that matters is the information writen in the dialog when the Ok button is pressed. For example, if a user clicks on an atom to get its identification (in the first Atom entry), then writes another atom in the second Atom entry and finally deletes the first atom identification before pressing Ok, an error is shown, as the first atom is not found.

### Length

This method is based only on the distance between atoms and the elements of the atoms, thus Element and Length entries become active and Atom entries become inactive. If both Element and Length entries are left empty, GAMGI attempts to create bonds for all atoms, using the following procedures.

For each atom pair, GAMGI checks whether specific minimum and maximum bond length limits have been configured. If the atoms distance is in the configured interval, a new bond is created. To configure bond length limits for specific element pairs, select Bond->Config.

If no bond length interval has been configured for this element pair, GAMGI attempts to calculate automatic minimum and maximum limits, summing the two atom radius and multiplying by lower and upper factors (currently 0.80 and 1.10 by default). If the atoms distance is in the calculated interval, a new bond is created. To configure these lower and upper factors, valid for all element pairs, select Bond->Config.

If no radius is defined for at least one of the elements, then no bond is created. To configure the atom radius, for specific elements, select Atom->Config.

When both Element entries are occupied, GAMGI tries to identify its contents as valid element names, which can be, for example, "Si", " Si", "Si " but not "si", "S i" or "14". When both elements are recognized, minimum and maximum bond length limits for this element pair - calculated according to the rules described above - are automatically writen in the Length entries, otherwise these entries are set empty.

After pressing Ok, if both elements are recognized, GAMGI attempts to create bonds only between atoms of these elements, using the bond length limits writen in the Length entries (if the elements are invalid, an error is shown). If the Length entries are empty, GAMGI uses the default minimum and maximum limits for this element pair, calculated as described above.

If the Element entries are empty when the user presses the Ok button, but the Length entries are not, GAMGI attempts to create bonds between all atoms, independently of its elements, using the bond length limits writen in the Length entries. The values writen in the Length entries must be valid lengths, and the minimum value cannot excede the maximum, otherwise an error is shown.

In all cases, when pressing Ok, the Element entries must be both empty or valid and the Length entries must be both empty or valid, otherwise an error dialog is shown.

### Delaunay

In this method, a Voronoi polyhedron is determined for each atom, and bonds are created between atoms whose polyhedrons share a common face, forming a Delaunay connection.

The Delaunay method is based on topological considerations only, so Element, Length and Atom entries are disabled.

Bonds that already exist are never created again: in Length and Delaunay methods, these cases are silently ignored, while in the Direct method an error is produced.
Home