xref: /petsc/src/dm/impls/da/dapf.c (revision 47c6ae997ffd1b2afd66b6474dff5950ae8613d1)
1*47c6ae99SBarry Smith #define PETSCDM_DLL
2*47c6ae99SBarry Smith 
3*47c6ae99SBarry Smith #include "private/daimpl.h"    /*I   "petscda.h"   I*/
4*47c6ae99SBarry Smith 
5*47c6ae99SBarry Smith 
6*47c6ae99SBarry Smith #undef __FUNCT__
7*47c6ae99SBarry Smith #define __FUNCT__ "DACreatePF"
8*47c6ae99SBarry Smith /*@C
9*47c6ae99SBarry Smith    DACreatePF - Creates an appropriately dimensioned PF mathematical function object
10*47c6ae99SBarry Smith       from a DA.
11*47c6ae99SBarry Smith 
12*47c6ae99SBarry Smith    Collective on DA
13*47c6ae99SBarry Smith 
14*47c6ae99SBarry Smith    Input Parameter:
15*47c6ae99SBarry Smith .  da - initial distributed array
16*47c6ae99SBarry Smith 
17*47c6ae99SBarry Smith    Output Parameter:
18*47c6ae99SBarry Smith .  pf - the mathematical function object
19*47c6ae99SBarry Smith 
20*47c6ae99SBarry Smith    Level: advanced
21*47c6ae99SBarry Smith 
22*47c6ae99SBarry Smith 
23*47c6ae99SBarry Smith .keywords:  distributed array, grid function
24*47c6ae99SBarry Smith 
25*47c6ae99SBarry Smith .seealso: DACreate1d(), DACreate2d(), DACreate3d(), DADestroy(), DACreateGlobalVector()
26*47c6ae99SBarry Smith @*/
27*47c6ae99SBarry Smith PetscErrorCode PETSCDM_DLLEXPORT DACreatePF(DA da,PF *pf)
28*47c6ae99SBarry Smith {
29*47c6ae99SBarry Smith   PetscErrorCode ierr;
30*47c6ae99SBarry Smith   DM_DA          *dd = (DM_DA*)da->data;
31*47c6ae99SBarry Smith 
32*47c6ae99SBarry Smith   PetscFunctionBegin;
33*47c6ae99SBarry Smith   PetscValidHeaderSpecific(da,DM_CLASSID,1);
34*47c6ae99SBarry Smith   PetscValidPointer(pf,2);
35*47c6ae99SBarry Smith   ierr = PFCreate(((PetscObject)da)->comm,dd->dim,dd->w,pf);CHKERRQ(ierr);
36*47c6ae99SBarry Smith   PetscFunctionReturn(0);
37*47c6ae99SBarry Smith }
38*47c6ae99SBarry Smith 
39*47c6ae99SBarry Smith 
40