147c6ae99SBarry Smith 24035e84dSBarry Smith #include <petsc-private/dmdaimpl.h> /*I "petscdmda.h" I*/ 347c6ae99SBarry Smith 447c6ae99SBarry Smith 547c6ae99SBarry Smith #undef __FUNCT__ 6aa219208SBarry Smith #define __FUNCT__ "DMDACreatePF" 747c6ae99SBarry Smith /*@C 8aa219208SBarry Smith DMDACreatePF - Creates an appropriately dimensioned PF mathematical function object 9aa219208SBarry Smith from a DMDA. 1047c6ae99SBarry Smith 11aa219208SBarry Smith Collective on DMDA 1247c6ae99SBarry Smith 1347c6ae99SBarry Smith Input Parameter: 1447c6ae99SBarry Smith . da - initial distributed array 1547c6ae99SBarry Smith 1647c6ae99SBarry Smith Output Parameter: 1747c6ae99SBarry Smith . pf - the mathematical function object 1847c6ae99SBarry Smith 1947c6ae99SBarry Smith Level: advanced 2047c6ae99SBarry Smith 2147c6ae99SBarry Smith 2247c6ae99SBarry Smith .keywords: distributed array, grid function 2347c6ae99SBarry Smith 24aa219208SBarry Smith .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DMCreateGlobalVector() 2547c6ae99SBarry Smith @*/ 267087cfbeSBarry Smith PetscErrorCode DMDACreatePF(DM da,PF *pf) 2747c6ae99SBarry Smith { 2847c6ae99SBarry Smith PetscErrorCode ierr; 2947c6ae99SBarry Smith DM_DA *dd = (DM_DA*)da->data; 3047c6ae99SBarry Smith 3147c6ae99SBarry Smith PetscFunctionBegin; 3247c6ae99SBarry Smith PetscValidHeaderSpecific(da,DM_CLASSID,1); 3347c6ae99SBarry Smith PetscValidPointer(pf,2); 34*c73cfb54SMatthew G. Knepley ierr = PFCreate(PetscObjectComm((PetscObject)da),da->dim,dd->w,pf);CHKERRQ(ierr); 3547c6ae99SBarry Smith PetscFunctionReturn(0); 3647c6ae99SBarry Smith } 3747c6ae99SBarry Smith 3847c6ae99SBarry Smith 39