1*47c6ae99SBarry Smith #define PETSCDM_DLL 2*47c6ae99SBarry Smith 3*47c6ae99SBarry Smith #include "private/daimpl.h" /*I "petscda.h" I*/ 4*47c6ae99SBarry Smith 5*47c6ae99SBarry Smith 6*47c6ae99SBarry Smith #undef __FUNCT__ 7*47c6ae99SBarry Smith #define __FUNCT__ "DACreatePF" 8*47c6ae99SBarry Smith /*@C 9*47c6ae99SBarry Smith DACreatePF - Creates an appropriately dimensioned PF mathematical function object 10*47c6ae99SBarry Smith from a DA. 11*47c6ae99SBarry Smith 12*47c6ae99SBarry Smith Collective on DA 13*47c6ae99SBarry Smith 14*47c6ae99SBarry Smith Input Parameter: 15*47c6ae99SBarry Smith . da - initial distributed array 16*47c6ae99SBarry Smith 17*47c6ae99SBarry Smith Output Parameter: 18*47c6ae99SBarry Smith . pf - the mathematical function object 19*47c6ae99SBarry Smith 20*47c6ae99SBarry Smith Level: advanced 21*47c6ae99SBarry Smith 22*47c6ae99SBarry Smith 23*47c6ae99SBarry Smith .keywords: distributed array, grid function 24*47c6ae99SBarry Smith 25*47c6ae99SBarry Smith .seealso: DACreate1d(), DACreate2d(), DACreate3d(), DADestroy(), DACreateGlobalVector() 26*47c6ae99SBarry Smith @*/ 27*47c6ae99SBarry Smith PetscErrorCode PETSCDM_DLLEXPORT DACreatePF(DA da,PF *pf) 28*47c6ae99SBarry Smith { 29*47c6ae99SBarry Smith PetscErrorCode ierr; 30*47c6ae99SBarry Smith DM_DA *dd = (DM_DA*)da->data; 31*47c6ae99SBarry Smith 32*47c6ae99SBarry Smith PetscFunctionBegin; 33*47c6ae99SBarry Smith PetscValidHeaderSpecific(da,DM_CLASSID,1); 34*47c6ae99SBarry Smith PetscValidPointer(pf,2); 35*47c6ae99SBarry Smith ierr = PFCreate(((PetscObject)da)->comm,dd->dim,dd->w,pf);CHKERRQ(ierr); 36*47c6ae99SBarry Smith PetscFunctionReturn(0); 37*47c6ae99SBarry Smith } 38*47c6ae99SBarry Smith 39*47c6ae99SBarry Smith 40