/*@C PFCreate - Creates a mathematical function context. Collective on MPI_Comm Input Parameter: + comm - MPI communicator . dimin - dimension of the space you are mapping from - dimout - dimension of the space you are mapping to Output Parameter: . pf - the function context Level: developer .keywords: PF, create, context .seealso: PFSet(), PFApply(), PFDestroy(), PFApplyVec() @*/ PetscErrorCode PFCreate(MPI_Comm comm,PetscInt dimin,PetscInt dimout,PF *pf) { PF newpf; PetscErrorCode ierr; PetscFunctionBegin; PetscValidPointer(pf,1); *pf = PETSC_NULL; #ifndef PETSC_USE_DYNAMIC_LIBRARIES ierr = PFInitializePackage(PETSC_NULL);CHKERRQ(ierr); #endif ierr = PetscHeaderCreate(newpf,_p_PF,struct _PFOps,PF_CLASSID,-1,"PF","Mathematical functions","Vec",comm,PFDestroy,PFView);CHKERRQ(ierr); newpf->data = 0; newpf->ops->destroy = 0; newpf->ops->apply = 0; newpf->ops->applyvec = 0; newpf->ops->view = 0; newpf->dimin = dimin; newpf->dimout = dimout; *pf = newpf; PetscFunctionReturn(0); }
/* PetscDLLibraryRegister - This function is called when the dynamic library it is in is opened. This one registers all the methods that are in the basic PETSc Vec library. */ PETSC_EXTERN PetscErrorCode PetscDLLibraryRegister_petscvec(void) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscSFInitializePackage();CHKERRQ(ierr); ierr = ISInitializePackage();CHKERRQ(ierr); ierr = AOInitializePackage();CHKERRQ(ierr); ierr = VecInitializePackage();CHKERRQ(ierr); ierr = PFInitializePackage();CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@C PFCreate - Creates a mathematical function context. Collective on MPI_Comm Input Parameter: + comm - MPI communicator . dimin - dimension of the space you are mapping from - dimout - dimension of the space you are mapping to Output Parameter: . pf - the function context Level: developer .keywords: PF, create, context .seealso: PFSet(), PFApply(), PFDestroy(), PFApplyVec() @*/ PetscErrorCode PFCreate(MPI_Comm comm,PetscInt dimin,PetscInt dimout,PF *pf) { PF newpf; PetscErrorCode ierr; PetscFunctionBegin; PetscValidPointer(pf,1); *pf = NULL; ierr = PFInitializePackage();CHKERRQ(ierr); ierr = PetscHeaderCreate(newpf,PF_CLASSID,"PF","Mathematical functions","Vec",comm,PFDestroy,PFView);CHKERRQ(ierr); newpf->data = 0; newpf->ops->destroy = 0; newpf->ops->apply = 0; newpf->ops->applyvec = 0; newpf->ops->view = 0; newpf->dimin = dimin; newpf->dimout = dimout; *pf = newpf; PetscFunctionReturn(0); }