Computational Methods for Fatigue and Fracture