Atomistic Simulation of Dislocation Motion and Interaction with Crack Tips and Voids