147c6ae99SBarry Smith 2af0996ceSBarry Smith #include <petsc/private/dmdaimpl.h> /*I "petscdmda.h" I*/ 347c6ae99SBarry Smith 447c6ae99SBarry Smith 547c6ae99SBarry Smith /*@C 6aa219208SBarry Smith DMDACreatePF - Creates an appropriately dimensioned PF mathematical function object 7aa219208SBarry Smith from a DMDA. 847c6ae99SBarry Smith 9*d083f849SBarry Smith Collective on da 1047c6ae99SBarry Smith 1147c6ae99SBarry Smith Input Parameter: 1247c6ae99SBarry Smith . da - initial distributed array 1347c6ae99SBarry Smith 1447c6ae99SBarry Smith Output Parameter: 1547c6ae99SBarry Smith . pf - the mathematical function object 1647c6ae99SBarry Smith 1747c6ae99SBarry Smith Level: advanced 1847c6ae99SBarry Smith 19f5f57ec0SBarry Smith Not supported from Fortran 2047c6ae99SBarry Smith 21aa219208SBarry Smith .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DMCreateGlobalVector() 2247c6ae99SBarry Smith @*/ 237087cfbeSBarry Smith PetscErrorCode DMDACreatePF(DM da,PF *pf) 2447c6ae99SBarry Smith { 2547c6ae99SBarry Smith PetscErrorCode ierr; 2647c6ae99SBarry Smith DM_DA *dd = (DM_DA*)da->data; 2747c6ae99SBarry Smith 2847c6ae99SBarry Smith PetscFunctionBegin; 29a9a02de4SBarry Smith PetscValidHeaderSpecificType(da,DM_CLASSID,1,DMDA); 3047c6ae99SBarry Smith PetscValidPointer(pf,2); 31c73cfb54SMatthew G. Knepley ierr = PFCreate(PetscObjectComm((PetscObject)da),da->dim,dd->w,pf);CHKERRQ(ierr); 3247c6ae99SBarry Smith PetscFunctionReturn(0); 3347c6ae99SBarry Smith } 3447c6ae99SBarry Smith 3547c6ae99SBarry Smith 36