:orphan: # PFRegister Adds a method to the mathematical function package. ## Synopsis ``` #include "petscpf.h" PetscErrorCode PFRegister(const char sname[], PetscErrorCode (*function)(PF, void *)) ``` Not Collective ## Input Parameters - ***sname -*** name of a new user-defined solver - ***function -*** routine to create method context ## Sample usage ```none PFRegister("my_function", MyFunctionSetCreate); ``` Then, your solver can be chosen with the procedural interface via ```none PFSetType(pf, "my_function") ``` or at runtime via the option ```none -pf_type my_function ``` ## Note `PFRegister()` may be called multiple times to add several user-defined functions ## See Also `PF`, `PFRegisterAll()`, `PFRegisterDestroy()`, `PFRegister()` ## Level advanced ## Location src/vec/pf/interface/pf.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/pf/interface/pf.c) [Index of all PF routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)