diff --git a/include/cantera/oneD/OneDim.h b/include/cantera/oneD/OneDim.h index de45457d3..c31a15df1 100644 --- a/include/cantera/oneD/OneDim.h +++ b/include/cantera/oneD/OneDim.h @@ -241,6 +241,9 @@ public: */ void saveStats(); + //! Clear saved statistics + void clearStats(); + //! Set a function that will be called every time #eval is called. //! Can be used to provide keyboard interrupt support in the high-level //! language interfaces. diff --git a/interfaces/cython/cantera/_cantera.pxd b/interfaces/cython/cantera/_cantera.pxd index 3e1ca50bf..7aab1f1e2 100644 --- a/interfaces/cython/cantera/_cantera.pxd +++ b/interfaces/cython/cantera/_cantera.pxd @@ -462,6 +462,7 @@ cdef extern from "cantera/oneD/Sim1D.h": void save(string, string, string, int) except + void restore(string, string, int) except + void writeStats(int) except + + void clearStats() int domainIndex(string) except + double value(size_t, size_t, size_t) except + double workValue(size_t, size_t, size_t) except + diff --git a/interfaces/cython/cantera/onedim.pyx b/interfaces/cython/cantera/onedim.pyx index 0ad2b2c57..d49b5dcbc 100644 --- a/interfaces/cython/cantera/onedim.pyx +++ b/interfaces/cython/cantera/onedim.pyx @@ -787,5 +787,11 @@ cdef class Sim1D: """ self.sim.writeStats(print_time) + def clear_stats(self): + """ + Clear solver statistics. + """ + self.sim.clearStats() + def __dealloc__(self): del self.sim diff --git a/src/oneD/OneDim.cpp b/src/oneD/OneDim.cpp index 92e5ea284..4c633f7d2 100644 --- a/src/oneD/OneDim.cpp +++ b/src/oneD/OneDim.cpp @@ -129,6 +129,17 @@ void OneDim::saveStats() } } +void OneDim::clearStats() +{ + m_gridpts.clear(); + m_jacEvals.clear(); + m_jacElapsed.clear(); + m_funcEvals.clear(); + m_funcElapsed.clear(); + m_nevals = 0; + m_evaltime = 0.0; +} + void OneDim::resize() { m_bw = 0;