Run-time from 300 years to 300 min: Lessons learned in large-scale modeling in FEniCS.