xref: /petsc/src/dm/impls/da/dapf.c (revision aa219208eb917bd19131074bb4a8ba9a77520058)
147c6ae99SBarry Smith #define PETSCDM_DLL
247c6ae99SBarry Smith 
347c6ae99SBarry Smith #include "private/daimpl.h"    /*I   "petscda.h"   I*/
447c6ae99SBarry Smith 
547c6ae99SBarry Smith 
647c6ae99SBarry Smith #undef __FUNCT__
7*aa219208SBarry Smith #define __FUNCT__ "DMDACreatePF"
847c6ae99SBarry Smith /*@C
9*aa219208SBarry Smith    DMDACreatePF - Creates an appropriately dimensioned PF mathematical function object
10*aa219208SBarry Smith       from a DMDA.
1147c6ae99SBarry Smith 
12*aa219208SBarry Smith    Collective on DMDA
1347c6ae99SBarry Smith 
1447c6ae99SBarry Smith    Input Parameter:
1547c6ae99SBarry Smith .  da - initial distributed array
1647c6ae99SBarry Smith 
1747c6ae99SBarry Smith    Output Parameter:
1847c6ae99SBarry Smith .  pf - the mathematical function object
1947c6ae99SBarry Smith 
2047c6ae99SBarry Smith    Level: advanced
2147c6ae99SBarry Smith 
2247c6ae99SBarry Smith 
2347c6ae99SBarry Smith .keywords:  distributed array, grid function
2447c6ae99SBarry Smith 
25*aa219208SBarry Smith .seealso: DMDACreate1d(), DMDACreate2d(), DMDACreate3d(), DMDestroy(), DMCreateGlobalVector()
2647c6ae99SBarry Smith @*/
27*aa219208SBarry Smith PetscErrorCode PETSCDM_DLLEXPORT DMDACreatePF(DM da,PF *pf)
2847c6ae99SBarry Smith {
2947c6ae99SBarry Smith   PetscErrorCode ierr;
3047c6ae99SBarry Smith   DM_DA          *dd = (DM_DA*)da->data;
3147c6ae99SBarry Smith 
3247c6ae99SBarry Smith   PetscFunctionBegin;
3347c6ae99SBarry Smith   PetscValidHeaderSpecific(da,DM_CLASSID,1);
3447c6ae99SBarry Smith   PetscValidPointer(pf,2);
3547c6ae99SBarry Smith   ierr = PFCreate(((PetscObject)da)->comm,dd->dim,dd->w,pf);CHKERRQ(ierr);
3647c6ae99SBarry Smith   PetscFunctionReturn(0);
3747c6ae99SBarry Smith }
3847c6ae99SBarry Smith 
3947c6ae99SBarry Smith 
40