use Whale as wrapper to PETSc