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 9aa219208SBarry Smith Collective on DMDA 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 19*f5f57ec0SBarry Smith Not supported from Fortran 2047c6ae99SBarry Smith 2147c6ae99SBarry Smith .keywords: distributed array, grid function 2247c6ae99SBarry Smith 23aa219208SBarry Smith .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DMCreateGlobalVector() 2447c6ae99SBarry Smith @*/ 257087cfbeSBarry Smith PetscErrorCode DMDACreatePF(DM da,PF *pf) 2647c6ae99SBarry Smith { 2747c6ae99SBarry Smith PetscErrorCode ierr; 2847c6ae99SBarry Smith DM_DA *dd = (DM_DA*)da->data; 2947c6ae99SBarry Smith 3047c6ae99SBarry Smith PetscFunctionBegin; 3147c6ae99SBarry Smith PetscValidHeaderSpecific(da,DM_CLASSID,1); 3247c6ae99SBarry Smith PetscValidPointer(pf,2); 33c73cfb54SMatthew G. Knepley ierr = PFCreate(PetscObjectComm((PetscObject)da),da->dim,dd->w,pf);CHKERRQ(ierr); 3447c6ae99SBarry Smith PetscFunctionReturn(0); 3547c6ae99SBarry Smith } 3647c6ae99SBarry Smith 3747c6ae99SBarry Smith 38