Ensure that all lattice sites are within the central periodic image of the simulation cell.
        Sites that are outside the central simulation cell are mapped back into this cell.
        
        Args:
            None

        Returns:
            None

def enforce_periodic_boundary_conditions( self ):
        """
        Ensure that all lattice sites are within the central periodic image of the simulation cell.
        Sites that are outside the central simulation cell are mapped back into this cell.
        
        Args:
            None

        Returns:
            None
        """
        for s in self.sites:
            for i in range(3):
                if s.r[i] < 0.0:
                    s.r[i] += self.cell_lengths[i]
                if s.r[i] > self.cell_lengths[i]:
                    s.r[i] -= self.cell_lengths[i]