grid
Usage
The tetrahedral grid: ideal bond directions, angles, and lengths.
Attributes
| Name | Description |
|---|---|
| TETRAHEDRAL_ANGLE | The ideal tetrahedral angle, arccos(-1/3) (about 109.47 degrees), in radians. |
| XH_LENGTH | Ideal bond length to hydrogen, in Angstroms. |
| XY_LENGTH | Ideal bond length between heavy atoms, in Angstroms. |
TETRAHEDRAL_ANGLE
The ideal tetrahedral angle, arccos(-1/3) (about 109.47 degrees), in radians.
TETRAHEDRAL_ANGLE=float(np.arccos(-1 / 3))
XH_LENGTH
Ideal bond length to hydrogen, in Angstroms.
XH_LENGTH=1.1
XY_LENGTH
Ideal bond length between heavy atoms, in Angstroms.
XY_LENGTH=1.5
Functions
| Name | Description |
|---|---|
| tetrahedral_basis() | Get the four bond directions of a tetrahedral grid. |
tetrahedral_basis()
Get the four bond directions of a tetrahedral grid.
Usage
tetrahedral_basis(
up=(0.0, 0.0, 1.0),
left=(-1.0, 0.0, 0.0),
)Direction 0 points along up. Direction 1 lies in the plane of up and left, on the side of left. Directions 2 and 3 follow by rotating direction 1 about up by 120 and 240 degrees (counterclockwise, looking down from the tip of up).
Parameters
up: ArrayLike = (0.0, 0.0, 1.0)-
Direction 0.
left: ArrayLike = (-1.0, 0.0, 0.0)-
Direction in the plane of directions 0 and 1. Only its component perpendicular to
upmatters.
Returns
np.ndarray-
Unit vectors, one per row, shape
(4, 3). Each pair makes thetetrahedral angle.
tetrahedral angle.
Raises
ValueError-
If
upis zero orleftis parallel toup.
Examples
>>> basis = tetrahedral_basis()
>>> basis.round(6).tolist()[:2][[0.0, 0.0, 1.0], [-0.942809, 0.0, -0.333333]]