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