static PetscErrorCode KSPDestroy_PGMRES(KSP ksp) { PetscErrorCode ierr; PetscFunctionBegin; ierr = KSPDestroy_GMRES(ksp);CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode KSPDestroy_FGMRES(KSP ksp) { PetscErrorCode ierr; PetscFunctionBegin; ierr = KSPReset_FGMRES(ksp);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)ksp,"KSPFGMRESSetModifyPC_C",NULL);CHKERRQ(ierr); ierr = KSPDestroy_GMRES(ksp);CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode KSPDestroy_LGMRES(KSP ksp) { KSP_LGMRES *lgmres = (KSP_LGMRES*)ksp->data; PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscFree(lgmres->augvecs);CHKERRQ(ierr); if (lgmres->augwork_alloc) { ierr = VecDestroyVecs(lgmres->augwork_alloc,&lgmres->augvecs_user_work[0]);CHKERRQ(ierr); } ierr = PetscFree(lgmres->augvecs_user_work);CHKERRQ(ierr); ierr = PetscFree(lgmres->aug_order);CHKERRQ(ierr); ierr = PetscFree(lgmres->hwork);CHKERRQ(ierr); ierr = KSPDestroy_GMRES(ksp);CHKERRQ(ierr); PetscFunctionReturn(0); }