Fast C-routines to calculate distance arrays from coordinate arrays.
Calculate all distances d_ij between the coordinates ref[i] and conf[j] in the numpy arrays ref and conf. If an orthorhombic box is supplied then a minimum image convention is used before calculating distances.
If a 2D numpy array of dtype numpy.float64 with the shape (len(ref), len(conf)) is provided in result then this preallocated array is filled. This can speed up calculations.
Calculate all distances d_ij between atoms i and j in the reference coordinates ref for all N coordinates. Other options as in distance_array().
If a 1D numpy array of dtype numpy.float64 with N*(N-1)/2 elements is provided in result then this preallocated array is filled. This can speed up calculations.
Take a box input and deduce what type of system it represents based on the shape of the array and whether all angles are 90.
Arguments : |
|
---|---|
Returns : |
|
Calculate all distances between a pair of atoms. atom1 and atom2 are both arrays of coordinates, where atom1[i] and atom2[i] represent a bond.
In comparison to distance_array and self_distance_array which calculate distances between all combinations of coordinates, calc_bonds can be used to calculate distance between pairs of objects, similar to:
numpy.linalg.norm(a - b) for a, b in zip(coords1, coords2)
The optional argument box applies minimum image convention if supplied. box can be either orthogonal or triclinic
If a 1D numpy array of dtype numpy.float64 with len(atom1) elements is provided in result then this preallocated array is filled. This can speed up calculations.
bondlengths = calc_bonds(coords1, coords2 [, box [,result=bondlengths]])
Arguments : |
|
---|---|
Returns : |
|
New in version 0.8.
Calculates the angle formed between three atoms, over a list of coordinates. All atom inputs are lists of coordinates of equal length, with atom2 representing the apex of the angle.
If a 1D numpy array of dtype numpy.float64 with len(atom1) elements is provided in result then this preallocated array is filled. This can speed up calculations.
The optional argument box ensures that periodic boundaries are taken into account when constructing the connecting vectors between atoms, ie that the vector between atoms 1 & 2 goes between coordinates in the same image.
angles = calc_angles(coords1, coords2, coords3, [[box=None],result=angles])
Arguments : |
|
---|---|
Returns : |
|
New in version 0.8.
Changed in version 0.9.0: Added optional box argument to account for periodic boundaries in calculation
Calculate the torsional angle formed by four atoms, over a list of coordinates.
Torsional angle around axis connecting atoms 1 and 2 (i.e. the angle between the planes spanned by atoms (0,1,2) and (1,2,3)):
3
|
1-----2
/
0
If a 1D numpy array of dtype numpy.float64 with len(atom1) elements is provided in result then this preallocated array is filled. This can speed up calculations.
The optional argument box ensures that periodic boundaries are taken into account when constructing the connecting vectors between atoms, ie that the vector between atoms 1 & 2 goes between coordinates in the same image.
angles = calc_torsions(coords1, coords2, coords3, coords4 [,box=box, result=angles])
Arguments : |
|
---|---|
Returns : |
|
New in version 0.8.
Changed in version 0.9.0: Added optional box argument to account for periodic boundaries in calculation
Moves a set of coordinates to all be within the primary unit cell
newcoords = applyPBC(coords, box)
Arguments : |
|
---|---|
Returns : |
|
New in version 0.8.
Transform an array of coordinates from real space to S space (aka lambda space)
S space represents fractional space within the unit cell for this system
Reciprocal operation to transform_StoR()
Arguments : |
|
---|---|
Returns : |
|
Transform an array of coordinates from S space into real space.
S space represents fractional space within the unit cell for this system
Reciprocal operation to transform_RtoS()
Arguments : |
|
---|---|
Returns : |
|