xref: /petsc/src/snes/impls/python/pythonsnes.c (revision 5fd668637986a8d8518383a9159eebc368e1d5b4)
1b45d2f2cSJed Brown #include <petsc-private/snesimpl.h>          /*I "petscsnes.h" I*/
2c4aff060SBarry Smith 
3c4aff060SBarry Smith #undef __FUNCT__
4c4aff060SBarry Smith #define __FUNCT__ "SNESPythonSetType"
5c4aff060SBarry Smith /*@C
6c4aff060SBarry Smith    SNESPythonSetType - Initalize a SNES object implemented in Python.
7c4aff060SBarry Smith 
8c4aff060SBarry Smith    Collective on SNES
9c4aff060SBarry Smith 
10c4aff060SBarry Smith    Input Parameter:
11c4aff060SBarry Smith +  snes - the nonlinear solver (SNES) context.
12c4aff060SBarry Smith -  pyname - full dotted Python name [package].module[.{class|function}]
13c4aff060SBarry Smith 
14c4aff060SBarry Smith    Options Database Key:
15c4aff060SBarry Smith .  -snes_python_type <pyname>
16c4aff060SBarry Smith 
17c4aff060SBarry Smith    Level: intermediate
18c4aff060SBarry Smith 
19c4aff060SBarry Smith .keywords: SNES, Python
20c4aff060SBarry Smith 
21c4aff060SBarry Smith .seealso: SNESCreate(), SNESSetType(), SNESPYTHON, PetscPythonInitialize()
22c4aff060SBarry Smith @*/
237087cfbeSBarry Smith PetscErrorCode  SNESPythonSetType(SNES snes,const char pyname[])
24c4aff060SBarry Smith {
25c4aff060SBarry Smith   PetscErrorCode ierr;
26*5fd66863SKarl Rupp 
27c4aff060SBarry Smith   PetscFunctionBegin;
280700a824SBarry Smith   PetscValidHeaderSpecific(snes,SNES_CLASSID,1);
29c4aff060SBarry Smith   PetscValidCharPointer(pyname,2);
304ac538c5SBarry Smith   ierr = PetscTryMethod(snes,"SNESPythonSetType_C",(SNES, const char[]),(snes,pyname));CHKERRQ(ierr);
31c4aff060SBarry Smith   PetscFunctionReturn(0);
32c4aff060SBarry Smith }
33