Geometry Utilities#
- cgbind.geom.calc_com(atoms)#
- Calculate the centre of mass for a list of xyzs - Parameters:
- atoms – (list(cgbind.atoms.Atom)) 
- Returns:
- (np.ndarray) shape: 3 
 
- cgbind.geom.calc_normalised_vector(coord1, coord2)#
- cgbind.geom.is_geom_reasonable(molecule)#
- For an xyz list check to ensure the geometry is sensible, before an optimisation is carried out. There should be no distances smaller than - 0.7 Å - Parameters:
- molecule – (cgbind.molecule.BaseStruct) 
- Returns:
- (bool) 
 
- cgbind.geom.rotation_matrix(axis, theta)#
- Return the rotation matrix associated with counterclockwise rotation about the given axis by theta radians. - Parameters:
- axis – (np.ndarray) Unit vector in 3D to rotate around 
- theta – (float) Angle in radians 
 
 
- cgbind.geom.get_rot_mat_kabsch(p_matrix, q_matrix)#
- Get the optimal rotation matrix with the Kabsch algorithm. Notation is from https://en.wikipedia.org/wiki/Kabsch_algorithm - Parameters:
- p_matrix – (np.ndarray) 
- q_matrix – (np.ndarray) 
 
- Returns:
- (np.ndarray) rotation matrix 
 
- cgbind.geom.get_centered_matrix(mat)#
- For a list of coordinates n.e. a n_atoms x 3 matrix as a np array translate to the center of the coordinates - Parameters:
- mat – (np.ndarray) 
- Returns:
- (np.ndarray) translated coordinates 
 
- cgbind.geom.spherical_to_cart(r, theta, phi)#