[1D] Use c_offset_Y instead of literal value "4"
This commit is contained in:
parent
478a62d2af
commit
6d5e28ec46
2 changed files with 23 additions and 22 deletions
|
|
@ -14,7 +14,7 @@ namespace Cantera
|
|||
{
|
||||
|
||||
StFlow::StFlow(IdealGasPhase* ph, size_t nsp, size_t points) :
|
||||
Domain1D(nsp+4, points),
|
||||
Domain1D(nsp+c_offset_Y, points),
|
||||
m_press(-1.0),
|
||||
m_nsp(nsp),
|
||||
m_thermo(0),
|
||||
|
|
@ -39,7 +39,7 @@ StFlow::StFlow(IdealGasPhase* ph, size_t nsp, size_t points) :
|
|||
size_t nsp2 = m_thermo->nSpecies();
|
||||
if (nsp2 != m_nsp) {
|
||||
m_nsp = nsp2;
|
||||
Domain1D::resize(m_nsp+4, points);
|
||||
Domain1D::resize(m_nsp+c_offset_Y, points);
|
||||
}
|
||||
|
||||
// make a local copy of the species molecular weight vector
|
||||
|
|
@ -71,7 +71,7 @@ StFlow::StFlow(IdealGasPhase* ph, size_t nsp, size_t points) :
|
|||
|
||||
// mass fraction bounds
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
setBounds(4+k, -1.0e-7, 1.0e5);
|
||||
setBounds(c_offset_Y+k, -1.0e-7, 1.0e5);
|
||||
}
|
||||
|
||||
//-------------------- grid refinement -------------------------
|
||||
|
|
@ -566,7 +566,7 @@ size_t StFlow::componentIndex(const std::string& name) const
|
|||
} else if (name=="lambda") {
|
||||
return 3;
|
||||
} else {
|
||||
for (size_t n=4; n<m_nsp+4; n++) {
|
||||
for (size_t n=c_offset_Y; n<m_nsp+c_offset_Y; n++) {
|
||||
if (componentName(n)==name) {
|
||||
return n;
|
||||
}
|
||||
|
|
@ -670,7 +670,7 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
|||
size_t k = m_thermo->speciesIndex(nm);
|
||||
did_species[k] = 1;
|
||||
for (size_t j = 0; j < np; j++) {
|
||||
soln[index(k+4,j)] = x[j];
|
||||
soln[index(k+c_offset_Y,j)] = x[j];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -766,7 +766,7 @@ XML_Node& StFlow::save(XML_Node& o, const doublereal* const sol)
|
|||
addFloatArray(gv,"L",x.size(),x.data(),"N/m^4");
|
||||
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
soln.getRow(4+k, x.data());
|
||||
soln.getRow(c_offset_Y+k, x.data());
|
||||
addFloatArray(gv,m_thermo->speciesName(k),
|
||||
x.size(),x.data(),"","massFraction");
|
||||
}
|
||||
|
|
@ -872,7 +872,7 @@ void AxiStagnFlow::evalRightBoundary(doublereal* x, doublereal* rsd,
|
|||
doublereal sum = 0.0;
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
sum += Y(x,k,j);
|
||||
rsd[index(k+4,j)] = m_flux(k,j-1) + rho_u(x,j)*Y(x,k,j);
|
||||
rsd[index(k+c_offset_Y,j)] = m_flux(k,j-1) + rho_u(x,j)*Y(x,k,j);
|
||||
}
|
||||
rsd[index(c_offset_Y + rightExcessSpecies(), j)] = 1.0 - sum;
|
||||
diag[index(c_offset_Y + rightExcessSpecies(), j)] = 0;
|
||||
|
|
@ -925,7 +925,7 @@ void FreeFlame::evalRightBoundary(doublereal* x, doublereal* rsd,
|
|||
diag[index(c_offset_L, j)] = 0;
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
sum += Y(x,k,j);
|
||||
rsd[index(k+4,j)] = m_flux(k,j-1) + rho_u(x,j)*Y(x,k,j);
|
||||
rsd[index(k+c_offset_Y,j)] = m_flux(k,j-1) + rho_u(x,j)*Y(x,k,j);
|
||||
}
|
||||
rsd[index(c_offset_Y + rightExcessSpecies(), j)] = 1.0 - sum;
|
||||
diag[index(c_offset_Y + rightExcessSpecies(), j)] = 0;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "cantera/oneD/Inlet1D.h"
|
||||
#include "cantera/oneD/OneDim.h"
|
||||
#include "cantera/base/ctml.h"
|
||||
#include "cantera/oneD/StFlow.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
|
@ -46,7 +47,7 @@ void Bdry1D::_init(size_t n)
|
|||
m_left_nv = m_flow_left->nComponents();
|
||||
m_left_points = m_flow_left->nPoints();
|
||||
m_left_loc = container().start(m_index-1);
|
||||
m_left_nsp = m_left_nv - 4;
|
||||
m_left_nsp = m_left_nv - c_offset_Y;
|
||||
m_phase_left = &m_flow_left->phase();
|
||||
} else {
|
||||
throw CanteraError("Bdry1D::_init",
|
||||
|
|
@ -62,7 +63,7 @@ void Bdry1D::_init(size_t n)
|
|||
m_flow_right = (StFlow*)&r;
|
||||
m_right_nv = m_flow_right->nComponents();
|
||||
m_right_loc = container().start(m_index+1);
|
||||
m_right_nsp = m_right_nv - 4;
|
||||
m_right_nsp = m_right_nv - c_offset_Y;
|
||||
m_phase_right = &m_flow_right->phase();
|
||||
} else {
|
||||
throw CanteraError("Bdry1D::_init",
|
||||
|
|
@ -158,7 +159,7 @@ void Inlet1D::init()
|
|||
}
|
||||
|
||||
// components = u, V, T, lambda, + mass fractions
|
||||
m_nsp = m_flow->nComponents() - 4;
|
||||
m_nsp = m_flow->nComponents() - c_offset_Y;
|
||||
m_yin.resize(m_nsp, 0.0);
|
||||
if (m_xstr != "") {
|
||||
setMoleFractions(m_xstr);
|
||||
|
|
@ -214,7 +215,7 @@ void Inlet1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
// add the convective term to the species residual equations
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
if (k != m_flow_right->leftExcessSpecies()) {
|
||||
rb[4+k] += x[0]*m_yin[k];
|
||||
rb[c_offset_Y+k] += x[0]*m_yin[k];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -234,7 +235,7 @@ void Inlet1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
rb[0] += x[0]; // u
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
if (k != m_flow_left->rightExcessSpecies()) {
|
||||
rb[4+k] += x[0]*m_yin[k];
|
||||
rb[c_offset_Y+k] += x[0]*m_yin[k];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -447,7 +448,7 @@ void Outlet1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
double* rb = r + 1;
|
||||
rb[0] = xb[3];
|
||||
rb[2] = xb[2] - xb[2 + nc];
|
||||
for (size_t k = 4; k < nc; k++) {
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
rb[k] = xb[k] - xb[k + nc];
|
||||
}
|
||||
}
|
||||
|
|
@ -464,8 +465,8 @@ void Outlet1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
}
|
||||
|
||||
rb[2] = xb[2] - xb[2 - nc]; // zero T gradient
|
||||
size_t kSkip = 4 + m_flow_left->rightExcessSpecies();
|
||||
for (size_t k = 4; k < nc; k++) {
|
||||
size_t kSkip = c_offset_Y + m_flow_left->rightExcessSpecies();
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
if (k != kSkip) {
|
||||
rb[k] = xb[k] - xb[k - nc]; // zero mass fraction gradient
|
||||
db[k] = 0;
|
||||
|
|
@ -533,7 +534,7 @@ void OutletRes1D::init()
|
|||
throw CanteraError("OutletRes1D::init","no flow!");
|
||||
}
|
||||
|
||||
m_nsp = m_flow->nComponents() - 4;
|
||||
m_nsp = m_flow->nComponents() - c_offset_Y;
|
||||
m_yres.resize(m_nsp, 0.0);
|
||||
if (m_xstr != "") {
|
||||
setMoleFractions(m_xstr);
|
||||
|
|
@ -571,8 +572,8 @@ void OutletRes1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
rb[2] = xb[2] - xb[2 + nc];
|
||||
|
||||
// specified mass fractions
|
||||
for (size_t k = 4; k < nc; k++) {
|
||||
rb[k] = xb[k] - m_yres[k-4];
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
rb[k] = xb[k] - m_yres[k-c_offset_Y];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -589,9 +590,9 @@ void OutletRes1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
}
|
||||
rb[2] = xb[2] - m_temp; // zero dT/dz
|
||||
size_t kSkip = m_flow_left->rightExcessSpecies();
|
||||
for (size_t k = 4; k < nc; k++) {
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
if (k != kSkip) {
|
||||
rb[k] = xb[k] - m_yres[k-4]; // fixed Y
|
||||
rb[k] = xb[k] - m_yres[k-c_offset_Y]; // fixed Y
|
||||
db[k] = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -827,7 +828,7 @@ void ReactingSurf1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
size_t nSkip = m_flow_left->rightExcessSpecies();
|
||||
for (size_t nl = 0; nl < m_left_nsp; nl++) {
|
||||
if (nl != nSkip) {
|
||||
rb[4+nl] += m_work[nl]*mwleft[nl];
|
||||
rb[c_offset_Y+nl] += m_work[nl]*mwleft[nl];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue