PETsc example