1af0996ceSBarry Smith #include <petsc/private/pcimpl.h> /*I "petscpc.h" I*/
2245f004bSJed Brown
3*cc4c1da9SBarry Smith /*@
4f1580f4eSBarry Smith PCPythonSetType - Initialize a `PC` object implemented in Python, a `PCPYTHON`.
5245f004bSJed Brown
6c3339decSBarry Smith Collective
7245f004bSJed Brown
8d8d19677SJose E. Roman Input Parameters:
9f1580f4eSBarry Smith + 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
17562efe2eSBarry Smith .seealso: [](ch_ksp), `PC`, `PCSHELL`, `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()`
18245f004bSJed Brown @*/
PCPythonSetType(PC pc,const char pyname[])19d71ae5a4SJacob Faibussowitsch PetscErrorCode PCPythonSetType(PC pc, const char pyname[])
20d71ae5a4SJacob Faibussowitsch {
21245f004bSJed Brown PetscFunctionBegin;
22245f004bSJed Brown PetscValidHeaderSpecific(pc, PC_CLASSID, 1);
234f572ea9SToby Isaac PetscAssertPointer(pyname, 2);
24cac4c232SBarry Smith PetscTryMethod(pc, "PCPythonSetType_C", (PC, const char[]), (pc, pyname));
253ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
26245f004bSJed Brown }
27ebead697SStefano Zampini
28*cc4c1da9SBarry Smith /*@
29f1580f4eSBarry Smith PCPythonGetType - Get the type of a `PC` object implemented in Python, a `PCPYTHON`.
30ebead697SStefano Zampini
3120f4b53cSBarry Smith Not Collective
32ebead697SStefano Zampini
33ebead697SStefano Zampini Input Parameter:
34f1580f4eSBarry Smith . pc - the preconditioner (`PC`) context.
35ebead697SStefano Zampini
36ebead697SStefano Zampini Output Parameter:
37ebead697SStefano Zampini . pyname - full dotted Python name [package].module[.{class|function}]
38ebead697SStefano Zampini
39ebead697SStefano Zampini Level: intermediate
40ebead697SStefano Zampini
41562efe2eSBarry Smith .seealso: [](ch_ksp), `PC`, `PCSHELL`, `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()`, `PCPythonSetType()`
42ebead697SStefano Zampini @*/
PCPythonGetType(PC pc,const char * pyname[])43d71ae5a4SJacob Faibussowitsch PetscErrorCode PCPythonGetType(PC pc, const char *pyname[])
44d71ae5a4SJacob Faibussowitsch {
45ebead697SStefano Zampini PetscFunctionBegin;
46ebead697SStefano Zampini PetscValidHeaderSpecific(pc, PC_CLASSID, 1);
474f572ea9SToby Isaac PetscAssertPointer(pyname, 2);
48ebead697SStefano Zampini PetscUseMethod(pc, "PCPythonGetType_C", (PC, const char *[]), (pc, pyname));
493ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS);
50ebead697SStefano Zampini }
51