#include static PyObject* py_domain_clear(PyObject* self, PyObject* args) { int _val; _val = domain_clear(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_del(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:domain_del", &i)) { return NULL; } _val = domain_del(i); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_type(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:domain_type", &i)) { return NULL; } _val = domain_type(i); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_index(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:domain_index", &i)) { return NULL; } _val = int(domain_index(i)); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_nComponents(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:domain_nComponents", &i)) { return NULL; } _val = int(domain_nComponents(i)); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_nPoints(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:domain_nPoints", &i)) { return NULL; } _val = int(domain_nPoints(i)); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_componentName(PyObject* self, PyObject* args) { int _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_componentName", &i, &n)) { return NULL; } int nameout_sz = 80; char* nameout = new char[nameout_sz]; _val = domain_componentName(i,n,nameout_sz,nameout); PyObject* _ret = Py_BuildValue("s",nameout); delete[] nameout; if (int(_val) == -1) { return reportCanteraError(); } return _ret; } static PyObject* py_domain_componentIndex(PyObject* self, PyObject* args) { int _val; int i; char* name; if (!PyArg_ParseTuple(args, "is:domain_componentIndex", &i, &name)) { return NULL; } _val = int(domain_componentIndex(i,name)); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_setBounds(PyObject* self, PyObject* args) { int _val; int i; int n; double lower; double upper; if (!PyArg_ParseTuple(args, "iidd:domain_setBounds", &i, &n, &lower, &upper)) { return NULL; } _val = domain_setBounds(i,n,lower,upper); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_lowerBound(PyObject* self, PyObject* args) { double _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_lowerBound", &i, &n)) { return NULL; } _val = domain_lowerBound(i,n); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_domain_upperBound(PyObject* self, PyObject* args) { double _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_upperBound", &i, &n)) { return NULL; } _val = domain_upperBound(i,n); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_domain_setTolerances(PyObject* self, PyObject* args) { int _val; int i; int n; double rtol, atol; int itime; if (!PyArg_ParseTuple(args, "iiddi:domain_setTolerances", &i, &n, &rtol, &atol, &itime)) { return NULL; } _val = domain_setTolerances(i,n, rtol, atol,itime); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_rtol(PyObject* self, PyObject* args) { double _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_rtol", &i, &n)) { return NULL; } _val = domain_rtol(i,n); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_domain_atol(PyObject* self, PyObject* args) { double _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_atol", &i, &n)) { return NULL; } _val = domain_atol(i,n); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_domain_setupGrid(PyObject* self, PyObject* args) { int _val; int i; PyObject* grid; if (!PyArg_ParseTuple(args, "iO:domain_setupGrid", &i, &grid)) { return NULL; } PyArrayObject* grid_array = (PyArrayObject*) PyArray_ContiguousFromObject(grid, PyArray_DOUBLE, 1, 1); double* grid_data = (double*)(grid_array->data); size_t grid_len = grid_array->dimensions[0]; _val = domain_setupGrid(i,grid_len,grid_data); Py_DECREF(grid_array); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_setID(PyObject* self, PyObject* args) { int _val; int i; char* id; if (!PyArg_ParseTuple(args, "is:domain_setID", &i, &id)) { return NULL; } _val = domain_setID(i,id); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_setDesc(PyObject* self, PyObject* args) { int _val; int i; char* desc; if (!PyArg_ParseTuple(args, "is:domain_setDesc", &i, &desc)) { return NULL; } _val = domain_setDesc(i,desc); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_inlet_setSpreadRate(PyObject* self, PyObject* args) { int _val; int i; double v; if (!PyArg_ParseTuple(args, "id:inlet_setSpreadRate", &i, &v)) { return NULL; } _val = inlet_setSpreadRate(i,v); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_domain_grid(PyObject* self, PyObject* args) { double _val; int i; int n; if (!PyArg_ParseTuple(args, "ii:domain_grid", &i, &n)) { return NULL; } _val = domain_grid(i,n); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_bdry_setMdot(PyObject* self, PyObject* args) { int _val; int i; double mdot; if (!PyArg_ParseTuple(args, "id:bdry_setMdot", &i, &mdot)) { return NULL; } _val = bdry_setMdot(i,mdot); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_bdry_setTemperature(PyObject* self, PyObject* args) { int _val; int i; double t; if (!PyArg_ParseTuple(args, "id:bdry_setTemperature", &i, &t)) { return NULL; } _val = bdry_setTemperature(i,t); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_bdry_setMoleFractions(PyObject* self, PyObject* args) { int _val; int i; char* x; if (!PyArg_ParseTuple(args, "is:bdry_setMoleFractions", &i, &x)) { return NULL; } _val = bdry_setMoleFractions(i,x); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_bdry_temperature(PyObject* self, PyObject* args) { double _val; int i; if (!PyArg_ParseTuple(args, "i:bdry_temperature", &i)) { return NULL; } _val = bdry_temperature(i); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_bdry_massFraction(PyObject* self, PyObject* args) { double _val; int i; int k; if (!PyArg_ParseTuple(args, "ii:bdry_massFraction", &i, &k)) { return NULL; } _val = bdry_massFraction(i,k); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_bdry_mdot(PyObject* self, PyObject* args) { double _val; int i; if (!PyArg_ParseTuple(args, "i:bdry_mdot", &i)) { return NULL; } _val = bdry_mdot(i); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_reactingsurf_setkineticsmgr(PyObject* self, PyObject* args) { int _val; int i; int j; if (!PyArg_ParseTuple(args, "ii:reactingsurf_setkineticsmgr", &i, &j)) { return NULL; } _val = reactingsurf_setkineticsmgr(i,j); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_reactingsurf_enableCoverageEqs(PyObject* self, PyObject* args) { int _val; int i; int onoff; if (!PyArg_ParseTuple(args, "ii:reactingsurf_enableCoverageEqs", &i, &onoff)) { return NULL; } _val = reactingsurf_enableCoverageEqs(i,onoff); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_inlet_new(PyObject* self, PyObject* args) { int _val; _val = inlet_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_outlet_new(PyObject* self, PyObject* args) { int _val; _val = outlet_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_outletres_new(PyObject* self, PyObject* args) { int _val; _val = outletres_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_symm_new(PyObject* self, PyObject* args) { int _val; _val = symm_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_surf_new(PyObject* self, PyObject* args) { int _val; _val = surf_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_reactingsurf_new(PyObject* self, PyObject* args) { int _val; _val = reactingsurf_new(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_new(PyObject* self, PyObject* args) { int _val; int iph; int ikin; int itr; int itype; if (!PyArg_ParseTuple(args, "iiii:stflow_new", &iph, &ikin, &itr, &itype)) { return NULL; } _val = stflow_new(iph,ikin,itr,itype); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_setTransport(PyObject* self, PyObject* args) { int _val; int i, itr, isoret; if (!PyArg_ParseTuple(args, "iii:stflow_setTransport", &i, &itr, &isoret)) { return NULL; } _val = stflow_setTransport(i,itr, isoret); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_enableSoret(PyObject* self, PyObject* args) { int _val; int i, isoret; if (!PyArg_ParseTuple(args, "ii:stflow_enableSoret", &i, &isoret)) { return NULL; } _val = stflow_enableSoret(i,isoret); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_setPressure(PyObject* self, PyObject* args) { int _val; int i; double p; if (!PyArg_ParseTuple(args, "id:stflow_setPressure", &i, &p)) { return NULL; } _val = stflow_setPressure(i,p); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_setFixedTempProfile(PyObject* self, PyObject* args) { int _val; int i; PyObject* pos; PyObject* temp; if (!PyArg_ParseTuple(args, "iOO:stflow_setFixedTempProfile", &i, &pos, &temp)) { return NULL; } PyArrayObject* pos_array = (PyArrayObject*) PyArray_ContiguousFromObject(pos, PyArray_DOUBLE, 1, 1); double* pos_data = (double*)(pos_array->data); size_t pos_len = pos_array->dimensions[0]; PyArrayObject* temp_array = (PyArrayObject*) PyArray_ContiguousFromObject(temp, PyArray_DOUBLE, 1, 1); double* temp_data = (double*)(temp_array->data); size_t temp_len = temp_array->dimensions[0]; _val = stflow_setFixedTempProfile(i,pos_len,pos_data,temp_len,temp_data); Py_DECREF(pos_array); Py_DECREF(temp_array); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_solveSpeciesEqs(PyObject* self, PyObject* args) { int _val; int i; int flag; if (!PyArg_ParseTuple(args, "ii:stflow_solveSpeciesEqs", &i, &flag)) { return NULL; } _val = stflow_solveSpeciesEqs(i,flag); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_stflow_solveEnergyEqn(PyObject* self, PyObject* args) { int _val; int i; int flag; if (!PyArg_ParseTuple(args, "ii:stflow_solveEnergyEqn", &i, &flag)) { return NULL; } _val = stflow_solveEnergyEqn(i,flag); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_clear(PyObject* self, PyObject* args) { int _val; _val = sim1D_clear(); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_new(PyObject* self, PyObject* args) { int _val; PyObject* domains; if (!PyArg_ParseTuple(args, "O:sim1D_new", &domains)) { return NULL; } // Assuming this is screwed up too //PyArrayObject* domains_array = (PyArrayObject*) // PyArray_ContiguousFromObject(domains, PyArray_INT, 1, 1); // int* domains_data = (int*)(domains_array->data); PyArrayObject* domains_array = (PyArrayObject*) PyArray_ContiguousFromObject(domains, PyArray_DOUBLE, 1, 1); void* nTMPv = (void*)(domains_array->data); double* dd_data = (double*) nTMPv; size_t domains_len = domains_array->dimensions[0]; int* domains_data = (int*) malloc(sizeof(int) * domains_len); for (size_t i = 0; i < domains_len; i++) { domains_data[i] = (int) dd_data[i]; } _val = sim1D_new(domains_len, domains_data); free(domains_data); Py_DECREF(domains_array); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_del(PyObject* self, PyObject* args) { int _val; int i; if (!PyArg_ParseTuple(args, "i:sim1D_del", &i)) { return NULL; } _val = sim1D_del(i); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setValue(PyObject* self, PyObject* args) { int _val; int i; int dom; int comp; int localPoint; double value; if (!PyArg_ParseTuple(args, "iiiid:sim1D_setValue", &i, &dom, &comp, &localPoint, &value)) { return NULL; } _val = sim1D_setValue(i,dom,comp,localPoint,value); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setProfile(PyObject* self, PyObject* args) { int _val; int i; int dom; int comp; PyObject* pos; PyObject* v; if (!PyArg_ParseTuple(args, "iiiOO:sim1D_setProfile", &i, &dom, &comp, &pos, &v)) { return NULL; } PyArrayObject* pos_array = (PyArrayObject*) PyArray_ContiguousFromObject(pos, PyArray_DOUBLE, 1, 1); double* pos_data = (double*)(pos_array->data); size_t pos_len = pos_array->dimensions[0]; PyArrayObject* v_array = (PyArrayObject*) PyArray_ContiguousFromObject(v, PyArray_DOUBLE, 1, 1); double* v_data = (double*)(v_array->data); size_t v_len = v_array->dimensions[0]; _val = sim1D_setProfile(i,dom,comp,pos_len,pos_data,v_len,v_data); Py_DECREF(pos_array); Py_DECREF(v_array); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setFlatProfile(PyObject* self, PyObject* args) { int _val; int i; int dom; int comp; double v; if (!PyArg_ParseTuple(args, "iiid:sim1D_setFlatProfile", &i, &dom, &comp, &v)) { return NULL; } _val = sim1D_setFlatProfile(i,dom,comp,v); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_showSolution(PyObject* self, PyObject* args) { int _val; int i; char* fname; if (!PyArg_ParseTuple(args, "is:sim1D_showSolution", &i, &fname)) { return NULL; } _val = sim1D_showSolution(i,fname); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setTimeStep(PyObject* self, PyObject* args) { int _val; int i; double stepsize; PyObject* nsteps; if (!PyArg_ParseTuple(args, "idO:sim1D_setTimeStep", &i, &stepsize, &nsteps)) { return NULL; } // Found that the PyArray_INT had to be replaced by PyArray_DOUBLE // in the call below. This needs exploring. // PyArrayObject* nsteps_array = (PyArrayObject*) // PyArray_ContiguousFromObject(nsteps, PyArray_INT, 1, 1); PyArrayObject* nsteps_array = (PyArrayObject*) PyArray_ContiguousFromObject(nsteps, PyArray_DOUBLE, 1, 1); void* nTMPv = (void*)(nsteps_array->data); double* nsteps_data = (double*) nTMPv; size_t nsteps_len = nsteps_array->dimensions[0]; int* nsteps_datai = (int*) malloc(sizeof(int) * nsteps_len); for (size_t i = 0; i < nsteps_len; i++) { nsteps_datai[i] = (int) nsteps_data[i]; } _val = sim1D_setTimeStep(i, stepsize, nsteps_len, nsteps_datai); free(nsteps_datai); Py_DECREF(nsteps_array); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_solve(PyObject* self, PyObject* args) { int _val; int i; int loglevel; int refine_grid; if (!PyArg_ParseTuple(args, "iii:sim1D_solve", &i, &loglevel, &refine_grid)) { return NULL; } _val = sim1D_solve(i,loglevel,refine_grid); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_refine(PyObject* self, PyObject* args) { int _val; int i; int loglevel; if (!PyArg_ParseTuple(args, "ii:sim1D_refine", &i, &loglevel)) { return NULL; } _val = sim1D_refine(i,loglevel); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setRefineCriteria(PyObject* self, PyObject* args) { int _val; int i; int dom; double ratio; double slope; double curve; double prune; if (!PyArg_ParseTuple(args, "iidddd:sim1D_setRefineCriteria", &i, &dom, &ratio, &slope, &curve, &prune)) { return NULL; } _val = sim1D_setRefineCriteria(i,dom,ratio,slope,curve,prune); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_getInitialSoln(PyObject* self, PyObject* args) { int i, iok; if (!PyArg_ParseTuple(args, "i:sim1D_getInitialSoln", &i)) { return NULL; } iok = sim1D_getInitialSoln(i); if (iok == -1) { return reportCanteraError(); } return Py_BuildValue("i",iok); } static PyObject* py_sim1D_save(PyObject* self, PyObject* args) { int _val; int i; char* fname; char* id; char* desc; if (!PyArg_ParseTuple(args, "isss:sim1D_save", &i, &fname, &id, &desc)) { return NULL; } _val = sim1D_save(i,fname,id,desc); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_restore(PyObject* self, PyObject* args) { int _val; int i; char* fname; char* id; if (!PyArg_ParseTuple(args, "iss:sim1D_restore", &i, &fname, &id)) { return NULL; } _val = sim1D_restore(i,fname,id); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_writeStats(PyObject* self, PyObject* args) { int _val; int i; int printTime; if (!PyArg_ParseTuple(args, "ii:sim1D_writeStats", &i, &printTime)) { return NULL; } _val = sim1D_writeStats(i, printTime); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_domainIndex(PyObject* self, PyObject* args) { int _val; int i; char* name; if (!PyArg_ParseTuple(args, "is:sim1D_domainIndex", &i, &name)) { return NULL; } _val = sim1D_domainIndex(i,name); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_value(PyObject* self, PyObject* args) { double _val; int i; int idom; int icomp; int localPoint; if (!PyArg_ParseTuple(args, "iiii:sim1D_value", &i, &idom, &icomp, &localPoint)) { return NULL; } _val = sim1D_value(i,idom,icomp,localPoint); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_sim1D_workValue(PyObject* self, PyObject* args) { double _val; int i; int idom; int icomp; int localPoint; if (!PyArg_ParseTuple(args, "iiii:sim1D_workValue", &i, &idom, &icomp, &localPoint)) { return NULL; } _val = sim1D_workValue(i,idom,icomp,localPoint); if (_val == DERR) { return reportCanteraError(); } return Py_BuildValue("d",_val); } static PyObject* py_sim1D_eval(PyObject* self, PyObject* args) { int _val; int i; double rdt; int count; if (!PyArg_ParseTuple(args, "idi:sim1D_eval", &i, &rdt, &count)) { return NULL; } _val = sim1D_eval(i,rdt,count); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setMaxJacAge(PyObject* self, PyObject* args) { int _val; int i; int ss_age; int ts_age; if (!PyArg_ParseTuple(args, "iii:sim1D_setMaxJacAge", &i, &ss_age, &ts_age)) { return NULL; } _val = sim1D_setMaxJacAge(i,ss_age,ts_age); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_timeStepFactor(PyObject* self, PyObject* args) { int _val; int i; double tfactor; if (!PyArg_ParseTuple(args, "id:sim1D_timeStepFactor", &i, &tfactor)) { return NULL; } _val = sim1D_timeStepFactor(i,tfactor); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setTimeStepLimits(PyObject* self, PyObject* args) { int _val; int i; double tsmin; double tsmax; if (!PyArg_ParseTuple(args, "idd:sim1D_setTimeStepLimits", &i, &tsmin, &tsmax)) { return NULL; } _val = sim1D_setTimeStepLimits(i,tsmin,tsmax); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); } static PyObject* py_sim1D_setFixedTemperature(PyObject* self, PyObject* args) { int _val; int i; double temp; if (!PyArg_ParseTuple(args, "id:sim1D_setFixedTemperature", &i, &temp)) { return NULL; } _val = sim1D_setFixedTemperature(i,temp); if (int(_val) == -1) { return reportCanteraError(); } return Py_BuildValue("i",_val); }