From 07401312723fe7607c31998c8d168bad4093fc93 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Sun, 30 Oct 2016 20:42:29 -0400 Subject: [PATCH] [1D] Remove 'dummy' variable from 1D boundaries Affects Empty1D, Symm1D, OutletRes1D, Outlet1D --- include/cantera/oneD/Inlet1D.h | 24 +-------- src/oneD/boundaries1D.cpp | 99 ++++++---------------------------- 2 files changed, 17 insertions(+), 106 deletions(-) diff --git a/include/cantera/oneD/Inlet1D.h b/include/cantera/oneD/Inlet1D.h index 0a631665f..eb1cc01ae 100644 --- a/include/cantera/oneD/Inlet1D.h +++ b/include/cantera/oneD/Inlet1D.h @@ -147,14 +147,13 @@ protected: * A terminator that does nothing. * @ingroup onedim */ -class Empty1D : public Domain1D +class Empty1D : public Bdry1D { public: - Empty1D() : Domain1D() { + Empty1D() : Bdry1D() { m_type = cEmptyType; } - virtual std::string componentName(size_t n) const; virtual void showSolution(const doublereal* x) {} virtual void init(); @@ -164,9 +163,6 @@ public: virtual XML_Node& save(XML_Node& o, const doublereal* const soln); virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel); - virtual void _getInitialSoln(doublereal* x) { - x[0] = 0.0; - } }; /** @@ -181,8 +177,6 @@ public: m_type = cSymmType; } - virtual std::string componentName(size_t n) const; - virtual void init(); virtual void eval(size_t jg, doublereal* xg, doublereal* rg, @@ -190,9 +184,6 @@ public: virtual XML_Node& save(XML_Node& o, const doublereal* const soln); virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel); - virtual void _getInitialSoln(doublereal* x) { - x[0] = m_temp; - } }; @@ -207,8 +198,6 @@ public: m_type = cOutletType; } - virtual std::string componentName(size_t n) const; - virtual void init(); virtual void eval(size_t jg, doublereal* xg, doublereal* rg, @@ -216,9 +205,6 @@ public: virtual XML_Node& save(XML_Node& o, const doublereal* const soln); virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel); - virtual void _getInitialSoln(doublereal* x) { - x[0] = m_temp; - } }; @@ -233,10 +219,6 @@ public: virtual void showSolution(const doublereal* x) {} - virtual void _getInitialSoln(doublereal* x) { - x[0] = m_temp; - } - virtual size_t nSpecies() { return m_nsp; } @@ -246,7 +228,6 @@ public: virtual doublereal massFraction(size_t k) { return m_yres[k]; } - virtual std::string componentName(size_t n) const; virtual void init(); virtual void eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg, doublereal rdt); @@ -338,7 +319,6 @@ protected: bool m_enabled; vector_fp m_work; vector_fp m_fixed_cov; - int dum; }; } diff --git a/src/oneD/boundaries1D.cpp b/src/oneD/boundaries1D.cpp index 01db99c81..166ee66f1 100644 --- a/src/oneD/boundaries1D.cpp +++ b/src/oneD/boundaries1D.cpp @@ -238,36 +238,14 @@ void Inlet1D::restore(const XML_Node& dom, doublereal* soln, int loglevel) // ------------- Empty1D ------------- -string Empty1D::componentName(size_t n) const -{ - switch (n) { - case 0: - return "dummy"; - default: - break; - } - return ""; -} - void Empty1D::init() { - setBounds(0, -1.0, 1.0); + _init(0); } void Empty1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg, doublereal rdt) { - if (jg != npos && (jg + 2 < firstPoint() || jg > lastPoint() + 2)) { - return; - } - - // start of local part of global arrays - doublereal* x = xg + loc(); - doublereal* r = rg + loc(); - integer* diag = diagg + loc(); - - r[0] = x[0]; - diag[0] = 0; } XML_Node& Empty1D::save(XML_Node& o, const doublereal* const soln) @@ -280,26 +258,14 @@ XML_Node& Empty1D::save(XML_Node& o, const doublereal* const soln) void Empty1D::restore(const XML_Node& dom, doublereal* soln, int loglevel) { Domain1D::restore(dom, soln, loglevel); - resize(1,1); + resize(0, 1); } // -------------- Symm1D -------------- -string Symm1D::componentName(size_t n) const -{ - switch (n) { - case 0: - return "dummy"; - default: - break; - } - return ""; -} - void Symm1D::init() { - _init(1); - setBounds(0, -1.0, 1.0); + _init(0); } void Symm1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg, @@ -314,14 +280,11 @@ void Symm1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg, doublereal* r = rg + loc(); integer* diag = diagg + loc(); - r[0] = x[0]; - diag[0] = 0; - if (m_flow_right) { size_t nc = m_flow_right->nComponents(); - double* xb = x + 1; - double* rb = r + 1; - int* db = diag + 1; + double* xb = x; + double* rb = r; + int* db = diag; db[1] = 0; db[2] = 0; rb[1] = xb[1] - xb[1 + nc]; // zero dV/dz @@ -350,7 +313,7 @@ XML_Node& Symm1D::save(XML_Node& o, const doublereal* const soln) void Symm1D::restore(const XML_Node& dom, doublereal* soln, int loglevel) { Domain1D::restore(dom, soln, loglevel); - resize(1,1); + resize(0, 1); } // -------- Outlet1D -------- @@ -363,21 +326,9 @@ OutletRes1D::OutletRes1D() m_xstr = ""; } -string Outlet1D::componentName(size_t n) const -{ - switch (n) { - case 0: - return "outlet dummy"; - default: - break; - } - return ""; -} - void Outlet1D::init() { - _init(1); - setBounds(0, -1.0, 1.0); + _init(0); if (m_flow_right) { m_flow_right->setViscosityFlag(false); @@ -399,13 +350,10 @@ void Outlet1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg, doublereal* r = rg + loc(); integer* diag = diagg + loc(); - r[0] = x[0]; - diag[0] = 0; - if (m_flow_right) { size_t nc = m_flow_right->nComponents(); - double* xb = x + 1; - double* rb = r + 1; + double* xb = x; + double* rb = r; rb[0] = xb[3]; rb[2] = xb[2] - xb[2 + nc]; for (size_t k = c_offset_Y; k < nc; k++) { @@ -445,7 +393,7 @@ XML_Node& Outlet1D::save(XML_Node& o, const doublereal* const soln) void Outlet1D::restore(const XML_Node& dom, doublereal* soln, int loglevel) { Domain1D::restore(dom, soln, loglevel); - resize(1,1); + resize(0, 1); } // -------- OutletRes1D -------- @@ -469,22 +417,9 @@ void OutletRes1D::setMoleFractions(const doublereal* xres) } } -string OutletRes1D::componentName(size_t n) const -{ - switch (n) { - case 0: - return "dummy"; - default: - break; - } - return ""; -} - void OutletRes1D::init() { - _init(1); - // set bounds (dummy) - setBounds(0, -1.0, 1.0); + _init(0); if (m_flow_left) { m_flow = m_flow_left; @@ -515,14 +450,10 @@ void OutletRes1D::eval(size_t jg, doublereal* xg, doublereal* rg, doublereal* r = rg + loc(); integer* diag = diagg + loc(); - // drive dummy component to zero - r[0] = x[0]; - diag[0] = 0; - if (m_flow_right) { size_t nc = m_flow_right->nComponents(); - double* xb = x + 1; - double* rb = r + 1; + double* xb = x; + double* rb = r; // this seems wrong... // zero Lambda @@ -587,7 +518,7 @@ void OutletRes1D::restore(const XML_Node& dom, doublereal* soln, int loglevel) } } - resize(1,1); + resize(0, 1); } // -------- Surf1D --------