xref: /petsc/src/dm/impls/da/dapf.c (revision e8e8640d1cb9a3a2f50c0c0d7b26e5c4d521e2e4)
1 #include <petsc/private/dmdaimpl.h> /*I   "petscdmda.h"   I*/
2 
3 /*@C
4   DMDACreatePF - Creates an appropriately dimensioned `PF` mathematical function object
5   from a `DMDA`.
6 
7   Collective; No Fortran Support
8 
9   Input Parameter:
10 . da - initial distributed array
11 
12   Output Parameter:
13 . pf - the mathematical function object
14 
15   Level: advanced
16 
17 .seealso: `DM`, `PF`, `DMDA`, `DMDACreate1d()`, `DMDACreate2d()`, `DMDACreate3d()`, `DMDestroy()`, `DMCreateGlobalVector()`
18 @*/
DMDACreatePF(DM da,PF * pf)19 PetscErrorCode DMDACreatePF(DM da, PF *pf)
20 {
21   DM_DA *dd = (DM_DA *)da->data;
22 
23   PetscFunctionBegin;
24   PetscValidHeaderSpecificType(da, DM_CLASSID, 1, DMDA);
25   PetscAssertPointer(pf, 2);
26   PetscCall(PFCreate(PetscObjectComm((PetscObject)da), da->dim, dd->w, pf));
27   PetscFunctionReturn(PETSC_SUCCESS);
28 }
29