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.
angles = calc_angles(coords1, coords2, coords3 [,result=angles])
Arguments: |
|
---|---|
Returns: |
|
New in version 0.8.
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.
angles = calc_torsions(coords1, coords2, coords3, coords4 [,result=angles])
Arguments: |
|
---|---|
Returns: |
|
New in version 0.8.
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: |
|