Numerical methods for brittle fracture propagation with application to hydraulic fracture