xref: /petsc/src/ksp/pc/impls/python/pythonpc.c (revision ebead697dbf761eb322f829370bbe90b3bd93fa3)
1af0996ceSBarry Smith #include <petsc/private/pcimpl.h>          /*I "petscpc.h" I*/
2245f004bSJed Brown 
3245f004bSJed Brown /*@C
4a5b23f4aSJose E. Roman    PCPythonSetType - Initialize a PC object implemented in Python.
5245f004bSJed Brown 
6245f004bSJed Brown    Collective on PC
7245f004bSJed Brown 
8d8d19677SJose E. Roman    Input Parameters:
9245f004bSJed Brown +  pc - the preconditioner (PC) context.
10245f004bSJed Brown -  pyname - full dotted Python name [package].module[.{class|function}]
11245f004bSJed Brown 
12245f004bSJed Brown    Options Database Key:
1367b8a455SSatish Balay .  -pc_python_type <pyname> - python class
14245f004bSJed Brown 
15245f004bSJed Brown    Level: intermediate
16245f004bSJed Brown 
17db781477SPatrick Sanan .seealso: `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()`
18245f004bSJed Brown @*/
19245f004bSJed Brown PetscErrorCode  PCPythonSetType(PC pc,const char pyname[])
20245f004bSJed Brown {
21245f004bSJed Brown   PetscFunctionBegin;
22245f004bSJed Brown   PetscValidHeaderSpecific(pc,PC_CLASSID,1);
23245f004bSJed Brown   PetscValidCharPointer(pyname,2);
24cac4c232SBarry Smith   PetscTryMethod(pc,"PCPythonSetType_C",(PC, const char[]),(pc,pyname));
25245f004bSJed Brown   PetscFunctionReturn(0);
26245f004bSJed Brown }
27*ebead697SStefano Zampini 
28*ebead697SStefano Zampini /*@C
29*ebead697SStefano Zampini    PCPythonGetType - Get the type of a PC object implemented in Python.
30*ebead697SStefano Zampini 
31*ebead697SStefano Zampini    Not collective
32*ebead697SStefano Zampini 
33*ebead697SStefano Zampini    Input Parameter:
34*ebead697SStefano Zampini .  pc - the preconditioner (PC) context.
35*ebead697SStefano Zampini 
36*ebead697SStefano Zampini    Output Parameter:
37*ebead697SStefano Zampini .  pyname - full dotted Python name [package].module[.{class|function}]
38*ebead697SStefano Zampini 
39*ebead697SStefano Zampini    Level: intermediate
40*ebead697SStefano Zampini 
41*ebead697SStefano Zampini .seealso: `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()`, `PCPythonSetType()`
42*ebead697SStefano Zampini @*/
43*ebead697SStefano Zampini PetscErrorCode  PCPythonGetType(PC pc,const char *pyname[])
44*ebead697SStefano Zampini {
45*ebead697SStefano Zampini   PetscFunctionBegin;
46*ebead697SStefano Zampini   PetscValidHeaderSpecific(pc,PC_CLASSID,1);
47*ebead697SStefano Zampini   PetscValidPointer(pyname,2);
48*ebead697SStefano Zampini   PetscUseMethod(pc,"PCPythonGetType_C",(PC, const char*[]),(pc,pyname));
49*ebead697SStefano Zampini   PetscFunctionReturn(0);
50*ebead697SStefano Zampini }
51