xref: /petsc/src/tao/python/pythontao.c (revision ebead697dbf761eb322f829370bbe90b3bd93fa3)
1a82e8c82SStefano Zampini #include <petsc/private/taoimpl.h>          /*I "petsctao.h" I*/
2a82e8c82SStefano Zampini 
3a82e8c82SStefano Zampini /*@C
4a82e8c82SStefano Zampini    TaoPythonSetType - Initialize a Tao object implemented in Python.
5a82e8c82SStefano Zampini 
6a82e8c82SStefano Zampini    Collective on tao
7a82e8c82SStefano Zampini 
8a82e8c82SStefano Zampini    Input Parameters:
9a82e8c82SStefano Zampini +  tao - the optimation solver (Tao) context.
10a82e8c82SStefano Zampini -  pyname - full dotted Python name [package].module[.{class|function}]
11a82e8c82SStefano Zampini 
12a82e8c82SStefano Zampini    Options Database Key:
1367b8a455SSatish Balay .  -tao_python_type <pyname> - python class
14a82e8c82SStefano Zampini 
15a82e8c82SStefano Zampini    Level: intermediate
16a82e8c82SStefano Zampini 
17db781477SPatrick Sanan .seealso: `TaoCreate()`, `TaoSetType()`, `TAOPYTHON`, `PetscPythonInitialize()`
18a82e8c82SStefano Zampini @*/
19a82e8c82SStefano Zampini PetscErrorCode TaoPythonSetType(Tao tao, const char pyname[])
20a82e8c82SStefano Zampini {
21a82e8c82SStefano Zampini   PetscFunctionBegin;
22a82e8c82SStefano Zampini   PetscValidHeaderSpecific(tao,TAO_CLASSID,1);
23a82e8c82SStefano Zampini   PetscValidCharPointer(pyname,2);
24cac4c232SBarry Smith   PetscTryMethod(tao,"TaoPythonSetType_C",(Tao,const char[]),(tao,pyname));
25a82e8c82SStefano Zampini   PetscFunctionReturn(0);
26a82e8c82SStefano Zampini }
27*ebead697SStefano Zampini 
28*ebead697SStefano Zampini /*@C
29*ebead697SStefano Zampini    TaoPythonGetType - Get the type of a Tao object implemented in Python.
30*ebead697SStefano Zampini 
31*ebead697SStefano Zampini    Not collective
32*ebead697SStefano Zampini 
33*ebead697SStefano Zampini    Input Parameter:
34*ebead697SStefano Zampini .  tao - the optimation solver (Tao) context.
35*ebead697SStefano Zampini 
36*ebead697SStefano Zampini    Output Parameter:
37*ebead697SStefano Zampini .  pyname - full dotted Python name [package].module[.{class|function}]
38*ebead697SStefano Zampini 
39*ebead697SStefano Zampini    Level: intermediate
40*ebead697SStefano Zampini 
41*ebead697SStefano Zampini .seealso: `TaoCreate()`, `TaoSetType()`, `TaoPYTHON`, `PetscPythonInitialize()`, `TaoPythonSetType()`
42*ebead697SStefano Zampini @*/
43*ebead697SStefano Zampini PetscErrorCode  TaoPythonGetType(Tao tao,const char *pyname[])
44*ebead697SStefano Zampini {
45*ebead697SStefano Zampini   PetscFunctionBegin;
46*ebead697SStefano Zampini   PetscValidHeaderSpecific(tao,TAO_CLASSID,1);
47*ebead697SStefano Zampini   PetscValidPointer(pyname,2);
48*ebead697SStefano Zampini   PetscUseMethod(tao,"TaoPythonGetType_C",(Tao, const char*[]),(tao,pyname));
49*ebead697SStefano Zampini   PetscFunctionReturn(0);
50*ebead697SStefano Zampini }
51