147c6ae99SBarry Smith #define PETSCDM_DLL 247c6ae99SBarry Smith 3e1589f56SBarry Smith #include "private/daimpl.h" /*I "petscdm.h" I*/ 447c6ae99SBarry Smith 547c6ae99SBarry Smith 647c6ae99SBarry Smith #undef __FUNCT__ 7aa219208SBarry Smith #define __FUNCT__ "DMDACreatePF" 847c6ae99SBarry Smith /*@C 9aa219208SBarry Smith DMDACreatePF - Creates an appropriately dimensioned PF mathematical function object 10aa219208SBarry Smith from a DMDA. 1147c6ae99SBarry Smith 12aa219208SBarry Smith Collective on DMDA 1347c6ae99SBarry Smith 1447c6ae99SBarry Smith Input Parameter: 1547c6ae99SBarry Smith . da - initial distributed array 1647c6ae99SBarry Smith 1747c6ae99SBarry Smith Output Parameter: 1847c6ae99SBarry Smith . pf - the mathematical function object 1947c6ae99SBarry Smith 2047c6ae99SBarry Smith Level: advanced 2147c6ae99SBarry Smith 2247c6ae99SBarry Smith 2347c6ae99SBarry Smith .keywords: distributed array, grid function 2447c6ae99SBarry Smith 25aa219208SBarry Smith .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DMCreateGlobalVector() 2647c6ae99SBarry Smith @*/ 27*7087cfbeSBarry Smith PetscErrorCode DMDACreatePF(DM da,PF *pf) 2847c6ae99SBarry Smith { 2947c6ae99SBarry Smith PetscErrorCode ierr; 3047c6ae99SBarry Smith DM_DA *dd = (DM_DA*)da->data; 3147c6ae99SBarry Smith 3247c6ae99SBarry Smith PetscFunctionBegin; 3347c6ae99SBarry Smith PetscValidHeaderSpecific(da,DM_CLASSID,1); 3447c6ae99SBarry Smith PetscValidPointer(pf,2); 3547c6ae99SBarry Smith ierr = PFCreate(((PetscObject)da)->comm,dd->dim,dd->w,pf);CHKERRQ(ierr); 3647c6ae99SBarry Smith PetscFunctionReturn(0); 3747c6ae99SBarry Smith } 3847c6ae99SBarry Smith 3947c6ae99SBarry Smith 40