Software used in 'Invariant preserving schemes for Hamiltonian problems' - firedrake-zenodo (2020)