1af0996ceSBarry Smith #include <petsc/private/snesimpl.h> /*I "petscsnes.h" I*/ 2c4aff060SBarry Smith 3c4aff060SBarry Smith /*@C 4f6dfbefdSBarry Smith SNESPythonSetType - Initialize a `SNES` object implemented in Python. 5c4aff060SBarry Smith 6c3339decSBarry Smith Collective 7c4aff060SBarry Smith 8d8d19677SJose E. Roman Input Parameters: 9f6dfbefdSBarry Smith + snes - the nonlinear solver (`SNES`) context. 10c4aff060SBarry Smith - pyname - full dotted Python name [package].module[.{class|function}] 11c4aff060SBarry Smith 12c4aff060SBarry Smith Options Database Key: 1367b8a455SSatish Balay . -snes_python_type <pyname> - python class 14c4aff060SBarry Smith 15c4aff060SBarry Smith Level: intermediate 16c4aff060SBarry Smith 17f6dfbefdSBarry Smith .seealso: `SNESCreate()`, `SNESSetType()`, `SNESPYTHON`, `PetscPythonInitialize()`, `SNESPythonGetType()` 18c4aff060SBarry Smith @*/ 19d71ae5a4SJacob Faibussowitsch PetscErrorCode SNESPythonSetType(SNES snes, const char pyname[]) 20d71ae5a4SJacob Faibussowitsch { 21c4aff060SBarry Smith PetscFunctionBegin; 220700a824SBarry Smith PetscValidHeaderSpecific(snes, SNES_CLASSID, 1); 23*4f572ea9SToby Isaac PetscAssertPointer(pyname, 2); 24cac4c232SBarry Smith PetscTryMethod(snes, "SNESPythonSetType_C", (SNES, const char[]), (snes, pyname)); 253ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 26c4aff060SBarry Smith } 27ebead697SStefano Zampini 28ebead697SStefano Zampini /*@C 29f6dfbefdSBarry Smith SNESPythonGetType - Get the type of a `SNES` object implemented in Python. 30ebead697SStefano Zampini 3120f4b53cSBarry Smith Not Collective 32ebead697SStefano Zampini 33ebead697SStefano Zampini Input Parameter: 34f6dfbefdSBarry Smith . snes - the nonlinear solver (`SNES`) 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 41ebead697SStefano Zampini .seealso: `SNESCreate()`, `SNESSetType()`, `SNESPYTHON`, `PetscPythonInitialize()`, `SNESPythonSetType()` 42ebead697SStefano Zampini @*/ 43d71ae5a4SJacob Faibussowitsch PetscErrorCode SNESPythonGetType(SNES snes, const char *pyname[]) 44d71ae5a4SJacob Faibussowitsch { 45ebead697SStefano Zampini PetscFunctionBegin; 46ebead697SStefano Zampini PetscValidHeaderSpecific(snes, SNES_CLASSID, 1); 47*4f572ea9SToby Isaac PetscAssertPointer(pyname, 2); 48ebead697SStefano Zampini PetscUseMethod(snes, "SNESPythonGetType_C", (SNES, const char *[]), (snes, pyname)); 493ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 50ebead697SStefano Zampini } 51