xref: /petsc/src/ts/impls/python/pythonts.c (revision 1ed6e3ff8437baa411029a28c2b08f047df9ad9a)
1af0996ceSBarry Smith #include <petsc/private/tsimpl.h> /*I "petscts.h" I*/
2c4aff060SBarry Smith 
3*cc4c1da9SBarry Smith /*@
4bcf0153eSBarry Smith    TSPythonSetType - Initialize a `TS` object implemented in Python.
5c4aff060SBarry Smith 
6c3339decSBarry Smith    Collective
7c4aff060SBarry Smith 
8d8d19677SJose E. Roman    Input Parameters:
9bcf0153eSBarry Smith +  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 
171cc06b55SBarry Smith .seealso: [](ch_ts), `TSCreate()`, `TSSetType()`, `TSPYTHON`, `PetscPythonInitialize()`
18c4aff060SBarry Smith @*/
TSPythonSetType(TS ts,const char pyname[])19d71ae5a4SJacob Faibussowitsch PetscErrorCode TSPythonSetType(TS ts, const char pyname[])
20d71ae5a4SJacob Faibussowitsch {
21c4aff060SBarry Smith   PetscFunctionBegin;
220700a824SBarry Smith   PetscValidHeaderSpecific(ts, TS_CLASSID, 1);
234f572ea9SToby Isaac   PetscAssertPointer(pyname, 2);
24cac4c232SBarry Smith   PetscTryMethod(ts, "TSPythonSetType_C", (TS, const char[]), (ts, pyname));
253ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
26c4aff060SBarry Smith }
27ebead697SStefano Zampini 
28*cc4c1da9SBarry Smith /*@
29bcf0153eSBarry Smith    TSPythonGetType - Get the type of a `TS` object implemented in Python.
30ebead697SStefano Zampini 
31bcf0153eSBarry Smith    Not Collective
32ebead697SStefano Zampini 
33ebead697SStefano Zampini    Input Parameter:
34bcf0153eSBarry Smith .  ts - the `TS` 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 
411cc06b55SBarry Smith .seealso: [](ch_ts), `TSCreate()`, `TSSetType()`, `TSPYTHON`, `PetscPythonInitialize()`, `TSPythonSetType()`
42ebead697SStefano Zampini @*/
TSPythonGetType(TS ts,const char * pyname[])43d71ae5a4SJacob Faibussowitsch PetscErrorCode TSPythonGetType(TS ts, const char *pyname[])
44d71ae5a4SJacob Faibussowitsch {
45ebead697SStefano Zampini   PetscFunctionBegin;
46ebead697SStefano Zampini   PetscValidHeaderSpecific(ts, TS_CLASSID, 1);
474f572ea9SToby Isaac   PetscAssertPointer(pyname, 2);
48ebead697SStefano Zampini   PetscUseMethod(ts, "TSPythonGetType_C", (TS, const char *[]), (ts, pyname));
493ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
50ebead697SStefano Zampini }
51