1af0996ceSBarry Smith #include <petsc/private/pcimpl.h> /*I "petscpc.h" I*/ 2245f004bSJed Brown 3245f004bSJed Brown /*@C 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 17f1580f4eSBarry Smith .seealso: `PC`, `PCSHELL`, `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()` 18245f004bSJed Brown @*/ 19d71ae5a4SJacob Faibussowitsch PetscErrorCode PCPythonSetType(PC pc, const char pyname[]) 20d71ae5a4SJacob Faibussowitsch { 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)); 253ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 26245f004bSJed Brown } 27ebead697SStefano Zampini 28ebead697SStefano Zampini /*@C 29f1580f4eSBarry Smith PCPythonGetType - Get the type of a `PC` object implemented in Python, a `PCPYTHON`. 30ebead697SStefano Zampini 31*20f4b53cSBarry 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 41f1580f4eSBarry Smith .seealso: `PC`, `PCSHELL`, `PCCreate()`, `PCSetType()`, `PCPYTHON`, `PetscPythonInitialize()`, `PCPythonSetType()` 42ebead697SStefano Zampini @*/ 43d71ae5a4SJacob Faibussowitsch PetscErrorCode PCPythonGetType(PC pc, const char *pyname[]) 44d71ae5a4SJacob Faibussowitsch { 45ebead697SStefano Zampini PetscFunctionBegin; 46ebead697SStefano Zampini PetscValidHeaderSpecific(pc, PC_CLASSID, 1); 47ebead697SStefano Zampini PetscValidPointer(pyname, 2); 48ebead697SStefano Zampini PetscUseMethod(pc, "PCPythonGetType_C", (PC, const char *[]), (pc, pyname)); 493ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 50ebead697SStefano Zampini } 51