Actual source code: pythonsnes.c
1: #include <petsc/private/snesimpl.h>
3: /*@
4: SNESPythonSetType - Initialize a `SNES` object implemented in Python.
6: Collective
8: Input Parameters:
9: + snes - the nonlinear solver (`SNES`) context.
10: - pyname - full dotted Python name [package].module[.{class|function}]
12: Options Database Key:
13: . -snes_python_type <pyname> - python class
15: Level: intermediate
17: .seealso: [](ch_snes), `SNES`, `SNESCreate()`, `SNESSetType()`, `SNESPYTHON`, `PetscPythonInitialize()`, `SNESPythonGetType()`
18: @*/
19: PetscErrorCode SNESPythonSetType(SNES snes, const char pyname[])
20: {
21: PetscFunctionBegin;
23: PetscAssertPointer(pyname, 2);
24: PetscTryMethod(snes, "SNESPythonSetType_C", (SNES, const char[]), (snes, pyname));
25: PetscFunctionReturn(PETSC_SUCCESS);
26: }
28: /*@
29: SNESPythonGetType - Get the type of a `SNES` object implemented in Python set with `SNESPythonSetType()`
31: Not Collective
33: Input Parameter:
34: . snes - the nonlinear solver (`SNES`) context.
36: Output Parameter:
37: . pyname - full dotted Python name [package].module[.{class|function}]
39: Level: intermediate
41: .seealso: [](ch_snes), `SNES`, `SNESCreate()`, `SNESSetType()`, `SNESPYTHON`, `PetscPythonInitialize()`, `SNESPythonSetType()`
42: @*/
43: PetscErrorCode SNESPythonGetType(SNES snes, const char *pyname[])
44: {
45: PetscFunctionBegin;
47: PetscAssertPointer(pyname, 2);
48: PetscUseMethod(snes, "SNESPythonGetType_C", (SNES, const char *[]), (snes, pyname));
49: PetscFunctionReturn(PETSC_SUCCESS);
50: }