principia_materia.translation_group.cluster module
- class principia_materia.translation_group.cluster.Cluster(atoms, orbitals=None, tol=1e-06)
- Bases: - object- A cluster of atoms or particles. - We will only refer to them as atoms for now. - Parameters:
- atoms (dict of str as keys and array of float as values) – A dictionary of names of atoms and their positions. 
- orbitals (str or array of str) – Orbital names to assign to the atoms. 
- tol (float) – Tolerance. 
 
 - dim
- Dimension of the cluster. - Type:
- int 
 
 - natoms
- Number of atoms in the cluster. - Type:
- int 
 
 - nspecies
- Number of different species in the cluster. - Type:
- int 
 
 - positions
- Positions of atoms in the cluster. - Type:
- array of float, shape(natoms, dim) 
 
 - orbitals
- A list of all orbitals of the all the atoms in the cluster. - Type:
- array of tuple<int, str> 
 
 - norbitals
- Total number of orbitals in the cluster. - Type:
- float 
 
 - atoms
- A dictionary of names of atoms and their positions. - Type:
- dict of str as keys and array of float as values 
 
 - species
- A dictionary of names of atoms and their index in all the atoms in the cluster. - Type:
- dict of str as keys and array of int as values 
 
 - center
- The averanged positions of all the atoms in the cluster. - Type:
- array of float, shape(dim, ) 
 
 - property atoms
- A dictionary of atoms and their positions. 
 - property atoms_species_map
- A list of indices of species of each atom. 
 - axial_strain(strain)
- Apply axial strain to the cluster. - Parameters:
- strain (array of float, shape(dim, dim) or shape(dim, )) – The strain matrix or the diagonal of the diaongal strain matrix. 
 
 - property center
- The center of the cluster. - This center is defined as average positions of all atoms. 
 - check_atoms_overlap(tol=None)
- Check if atoms overlap with each other. 
 - copy()
- Return a copy of the object. - Returns:
- new – A copy of the object itself. 
- Return type:
 
 - property dim
- Dimension of the cluster. 
 - find_atoms(positions)
- Find the indices of atoms of the same position. - If an atom is not found, in return index will be -1. - Parameters:
- positions (array of float, shape (dim, ) or (N, dim)) – Positions of atoms to be found. If input shape is (dim, ), it will be reshaped into (1, dim) and N = 1. 
- Returns:
- atoms_index – The indices of atoms. 
- Return type:
- array of int, shape (N, ) 
 
 - property natoms
- Number of atoms in the cluster. 
 - property norbitals
- Number of orbitals in the cluster. 
 - property nspecies
- Number of species in the cluster. 
 - property orbitals
- A list of all orbitals of atoms in the cluster. 
 - property positions
- The coordinates of all atoms. 
 - rotate(rotation)
- Rotate atoms (in place). - Parameters:
- rotation (arrat of floats, shape(dim, dim)) – The rotation matrix in column convention. 
 
 - rotate_atoms(rotation)
- Return the rotated positions of atoms. - Parameters:
- rotation (arrat of floats, shape(dim, dim)) – The rotation matrix in column convention. 
 
 - shift_atom(atom_index, shift)
- Shift an atom. - Parameters:
- atom_index (int) – Index of the atom to shift. 
- shift (float or array of float, shape(dim, )) – The shift amount. 
 
 
 - shift_atoms(shift)
- Shift all atoms. - Parameters:
- shift (float or array of float, shape(dim, ), or array of float shape(natoms, dim)) – The shift amount. 
 
 - shift_origin(shift)
- Shift the origin of the cluster. - Parameters:
- shift (arrat of floats, shape(dim, )) – The shift amount. 
 
 - property species
- The dictionary of species and the indices of atoms of each species. 
 - property species_names
- A list of names of species. 
 - strain(strain)
- Apply strain to the cluster. - Parameters:
- strain (array of float, shape(dim, dim) or shape(dim, )) – The strain matrix. 
 
 - to_dict()
- Return a dictionary containing key information about the cluster. 
 
- principia_materia.translation_group.cluster.get_cluster_io_wrapper(title='Cluster')
- YAML data wrapper for Cluster class.