firedrake: an automated finite element system