xref: /petsc/src/ts/impls/python/pythonts.c (revision ebead697dbf761eb322f829370bbe90b3bd93fa3)
1af0996ceSBarry Smith #include <petsc/private/tsimpl.h>          /*I "petscts.h" I*/
2c4aff060SBarry Smith 
3c4aff060SBarry Smith /*@C
4a5b23f4aSJose E. Roman    TSPythonSetType - Initialize a TS object implemented in Python.
5c4aff060SBarry Smith 
6c4aff060SBarry Smith    Collective on TS
7c4aff060SBarry Smith 
8d8d19677SJose E. Roman    Input Parameters:
9*ebead697SStefano Zampini +  ts - the TS context
10c4aff060SBarry Smith -  pyname - full dotted Python name [package].module[.{class|function}]
11c4aff060SBarry Smith 
12c4aff060SBarry Smith    Options Database Key:
1367b8a455SSatish Balay .  -ts_python_type <pyname> - python class
14c4aff060SBarry Smith 
15c4aff060SBarry Smith    Level: intermediate
16c4aff060SBarry Smith 
17db781477SPatrick Sanan .seealso: `TSCreate()`, `TSSetType()`, `TSPYTHON`, `PetscPythonInitialize()`
18c4aff060SBarry Smith @*/
197087cfbeSBarry Smith PetscErrorCode  TSPythonSetType(TS ts,const char pyname[])
20c4aff060SBarry Smith {
21c4aff060SBarry Smith   PetscFunctionBegin;
220700a824SBarry Smith   PetscValidHeaderSpecific(ts,TS_CLASSID,1);
23c4aff060SBarry Smith   PetscValidCharPointer(pyname,2);
24cac4c232SBarry Smith   PetscTryMethod(ts,"TSPythonSetType_C",(TS, const char[]),(ts,pyname));
25c4aff060SBarry Smith   PetscFunctionReturn(0);
26c4aff060SBarry Smith }
27*ebead697SStefano Zampini 
28*ebead697SStefano Zampini /*@C
29*ebead697SStefano Zampini    TSPythonGetType - Get the type of a TS object implemented in Python.
30*ebead697SStefano Zampini 
31*ebead697SStefano Zampini    Not collective
32*ebead697SStefano Zampini 
33*ebead697SStefano Zampini    Input Parameter:
34*ebead697SStefano Zampini .  ts - the TS 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: `TSCreate()`, `TSSetType()`, `TSPYTHON`, `PetscPythonInitialize()`, `TSPythonSetType()`
42*ebead697SStefano Zampini @*/
43*ebead697SStefano Zampini PetscErrorCode  TSPythonGetType(TS ts,const char *pyname[])
44*ebead697SStefano Zampini {
45*ebead697SStefano Zampini   PetscFunctionBegin;
46*ebead697SStefano Zampini   PetscValidHeaderSpecific(ts,TS_CLASSID,1);
47*ebead697SStefano Zampini   PetscValidPointer(pyname,2);
48*ebead697SStefano Zampini   PetscUseMethod(ts,"TSPythonGetType_C",(TS, const char*[]),(ts,pyname));
49*ebead697SStefano Zampini   PetscFunctionReturn(0);
50*ebead697SStefano Zampini }
51