147c6ae99SBarry Smith 2af0996ceSBarry Smith #include <petsc/private/dmdaimpl.h> /*I "petscdmda.h" I*/ 347c6ae99SBarry Smith 447c6ae99SBarry Smith /*@C 5*dce8aebaSBarry Smith DMDACreatePF - Creates an appropriately dimensioned `PF` mathematical function object 6aa219208SBarry Smith from a DMDA. 747c6ae99SBarry Smith 8d083f849SBarry Smith Collective on da 947c6ae99SBarry Smith 1047c6ae99SBarry Smith Input Parameter: 1147c6ae99SBarry Smith . da - initial distributed array 1247c6ae99SBarry Smith 1347c6ae99SBarry Smith Output Parameter: 1447c6ae99SBarry Smith . pf - the mathematical function object 1547c6ae99SBarry Smith 1647c6ae99SBarry Smith Level: advanced 1747c6ae99SBarry Smith 18*dce8aebaSBarry Smith Fortran Note: 19f5f57ec0SBarry Smith Not supported from Fortran 2047c6ae99SBarry Smith 21*dce8aebaSBarry Smith .seealso: `DM`, `PF`, `DMDA`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDestroy()`, `DMCreateGlobalVector()` 2247c6ae99SBarry Smith @*/ 23d71ae5a4SJacob Faibussowitsch PetscErrorCode DMDACreatePF(DM da, PF *pf) 24d71ae5a4SJacob Faibussowitsch { 2547c6ae99SBarry Smith DM_DA *dd = (DM_DA *)da->data; 2647c6ae99SBarry Smith 2747c6ae99SBarry Smith PetscFunctionBegin; 28a9a02de4SBarry Smith PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA); 2947c6ae99SBarry Smith PetscValidPointer(pf, 2); 309566063dSJacob Faibussowitsch PetscCall(PFCreate(PetscObjectComm((PetscObject)da), da->dim, dd->w, pf)); 3147c6ae99SBarry Smith PetscFunctionReturn(0); 3247c6ae99SBarry Smith } 33