Precursory Stress Changes and Fault Dilation Lead to Fault Rupture: Insights From Discrete Element Simulations