1dba47a55SKris Buschelman 24b9ad928SBarry Smith /* 34b9ad928SBarry Smith Identity preconditioner, simply copies vector x to y. 44b9ad928SBarry Smith */ 5*b45d2f2cSJed Brown #include <petsc-private/pcimpl.h> /*I "petscpc.h" I*/ 64b9ad928SBarry Smith 74b9ad928SBarry Smith #undef __FUNCT__ 84b9ad928SBarry Smith #define __FUNCT__ "PCApply_None" 9dfbe8321SBarry Smith PetscErrorCode PCApply_None(PC pc,Vec x,Vec y) 104b9ad928SBarry Smith { 11dfbe8321SBarry Smith PetscErrorCode ierr; 124b9ad928SBarry Smith 134b9ad928SBarry Smith PetscFunctionBegin; 144b9ad928SBarry Smith ierr = VecCopy(x,y);CHKERRQ(ierr); 154b9ad928SBarry Smith PetscFunctionReturn(0); 164b9ad928SBarry Smith } 174b9ad928SBarry Smith 184b9ad928SBarry Smith /*MC 194b9ad928SBarry Smith PCNONE - This is used when you wish to employ a nonpreconditioned 204b9ad928SBarry Smith Krylov method. 214b9ad928SBarry Smith 224b9ad928SBarry Smith Level: beginner 234b9ad928SBarry Smith 244b9ad928SBarry Smith Concepts: preconditioners 254b9ad928SBarry Smith 264b9ad928SBarry Smith Notes: This is implemented by a VecCopy() 274b9ad928SBarry Smith 284b9ad928SBarry Smith .seealso: PCCreate(), PCSetType(), PCType (for list of available types), PC 294b9ad928SBarry Smith M*/ 304b9ad928SBarry Smith 314b9ad928SBarry Smith EXTERN_C_BEGIN 324b9ad928SBarry Smith #undef __FUNCT__ 334b9ad928SBarry Smith #define __FUNCT__ "PCCreate_None" 347087cfbeSBarry Smith PetscErrorCode PCCreate_None(PC pc) 354b9ad928SBarry Smith { 364b9ad928SBarry Smith PetscFunctionBegin; 374b9ad928SBarry Smith pc->ops->apply = PCApply_None; 384b9ad928SBarry Smith pc->ops->applytranspose = PCApply_None; 394b9ad928SBarry Smith pc->ops->destroy = 0; 404b9ad928SBarry Smith pc->ops->setup = 0; 414b9ad928SBarry Smith pc->ops->view = 0; 424b9ad928SBarry Smith pc->ops->applysymmetricleft = PCApply_None; 434b9ad928SBarry Smith pc->ops->applysymmetricright = PCApply_None; 444b9ad928SBarry Smith 454b9ad928SBarry Smith pc->data = 0; 464b9ad928SBarry Smith PetscFunctionReturn(0); 474b9ad928SBarry Smith } 484b9ad928SBarry Smith EXTERN_C_END 49