1af0996ceSBarry Smith #include <petsc/private/dmdaimpl.h> /*I "petscdmda.h" I*/
247c6ae99SBarry Smith
347c6ae99SBarry Smith /*@C
4dce8aebaSBarry Smith DMDACreatePF - Creates an appropriately dimensioned `PF` mathematical function object
520f4b53cSBarry Smith from a `DMDA`.
647c6ae99SBarry Smith
720f4b53cSBarry Smith Collective; No Fortran Support
847c6ae99SBarry Smith
947c6ae99SBarry Smith Input Parameter:
1047c6ae99SBarry Smith . da - initial distributed array
1147c6ae99SBarry Smith
1247c6ae99SBarry Smith Output Parameter:
1347c6ae99SBarry Smith . pf - the mathematical function object
1447c6ae99SBarry Smith
1547c6ae99SBarry Smith Level: advanced
1647c6ae99SBarry Smith
17dce8aebaSBarry Smith .seealso: `DM`, `PF`, `DMDA`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDestroy()`, `DMCreateGlobalVector()`
1847c6ae99SBarry Smith @*/
DMDACreatePF(DM da,PF * pf)19d71ae5a4SJacob Faibussowitsch PetscErrorCode DMDACreatePF(DM da, PF *pf)
20d71ae5a4SJacob Faibussowitsch {
2147c6ae99SBarry Smith DM_DA *dd = (DM_DA *)da->data;
2247c6ae99SBarry Smith
2347c6ae99SBarry Smith PetscFunctionBegin;
24a9a02de4SBarry Smith PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA);
25*4f572ea9SToby Isaac PetscAssertPointer(pf, 2);
269566063dSJacob Faibussowitsch PetscCall(PFCreate(PetscObjectComm((PetscObject)da), da->dim, dd->w, pf));
273ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
2847c6ae99SBarry Smith }
29