Solver running out of memory for 'Real' mixed-space formulation

Maybe have a look at this post How to choose the optimal solver for a PDE problem? - #2 by nate

Maybe changing the solver from a direct solver to a iterative one can help:

solver = PETScKrylovSolver('gmres', 'hypre_euclid')
prm    = solver.parameters
prm['absolute_tolerance']  = 1E-10
prm['relative_tolerance']  = 1E-6
prm['maximum_iterations']  = 1000
prm['monitor_convergence'] = False