Understanding cracking failures of coatings: A fracture mechanics approach