Firedrake: Automating the finite element method by composing abstractionsFlorian RathgeberDavid A. Hamet al.2016ACM TOMS