petsc deallocations must be done before PetscFinalize()