I am using the ASE library to compute the distance matrix with minimum image convention. In that, I have got the positions of all atoms in the cell.
Now I wish to calculate the distance between each of them by considering the translation vector on the three Bravais lattice vectors. For example the position of atom is pos1 = [0.11 , 0.23 , 0.156]
now I have to translate this using the combinations of the three lattice vectors (t1,t2,t3)
with cell size (a,b,c)
respectively. That will be, like
pos1_1 = [0.11+a*t1 , 0.23 , 0.156]
pos1_2 =...
And so on.
How can this be done with ASE?
get_distance()
,get_distances()
, andget_all_distances()
methods ofase.Atoms
? All of those allow a bool flag for the use of MIC as input. $\endgroup$ase.Atoms
object. Then calling itsget_all_distances()
returns the full all-to-all distances matrix. $\endgroup$