diff --git a/include/cantera/oneD/Sim1D.h b/include/cantera/oneD/Sim1D.h index 6d5efd516..6529b7aaa 100644 --- a/include/cantera/oneD/Sim1D.h +++ b/include/cantera/oneD/Sim1D.h @@ -139,6 +139,13 @@ public: void setRefineCriteria(int dom = -1, doublereal ratio = 10.0, doublereal slope = 0.8, doublereal curve = 0.8, doublereal prune = -0.1); + /** + * Get the grid refinement criteria. dom must be greater than + * or equal to zero (i.e., the domain must be specified). + * @see Refiner::getCriteria + */ + vector_fp getRefineCriteria(int dom); + /** * Set the maximum number of grid points in the domain. If dom >= 0, * then the settings apply only to the specified domain. If dom < 0, diff --git a/include/cantera/oneD/refine.h b/include/cantera/oneD/refine.h index 9c68164e5..a7ccdb862 100644 --- a/include/cantera/oneD/refine.h +++ b/include/cantera/oneD/refine.h @@ -36,6 +36,12 @@ public: doublereal curve = 0.8, doublereal prune = -0.1); + //! Get the grid refinement criteria. @see Refiner::setCriteria + vector_fp getCriteria() + { + return {m_ratio, m_slope, m_curve, m_prune}; + } + void setActive(int comp, bool state = true) { m_active[comp] = state; } diff --git a/src/oneD/Sim1D.cpp b/src/oneD/Sim1D.cpp index ae8658ce4..50a9cdd84 100644 --- a/src/oneD/Sim1D.cpp +++ b/src/oneD/Sim1D.cpp @@ -525,6 +525,17 @@ void Sim1D::setRefineCriteria(int dom, doublereal ratio, } } +vector_fp Sim1D::getRefineCriteria(int dom) +{ + if (dom >= 0) { + Refiner& r = domain(dom).refiner(); + return r.getCriteria(); + } else { + throw CanteraError("Sim1D::getRefineCriteria", + "Must specify domain to get criteria from"); + } +} + void Sim1D::setGridMin(int dom, double gridmin) { if (dom >= 0) {