[1D] Use named offsets for solution components
This commit is contained in:
parent
1057d20731
commit
22ecade329
2 changed files with 35 additions and 35 deletions
|
|
@ -636,7 +636,7 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
|||
"axial velocity array size error");
|
||||
}
|
||||
for (size_t j = 0; j < np; j++) {
|
||||
soln[index(0,j)] = x[j];
|
||||
soln[index(c_offset_U,j)] = x[j];
|
||||
}
|
||||
} else if (nm == "z") {
|
||||
; // already read grid
|
||||
|
|
@ -647,7 +647,7 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
|||
"radial velocity array size error");
|
||||
}
|
||||
for (size_t j = 0; j < np; j++) {
|
||||
soln[index(1,j)] = x[j];
|
||||
soln[index(c_offset_V,j)] = x[j];
|
||||
}
|
||||
} else if (nm == "T") {
|
||||
debuglog("temperature ", loglevel >= 2);
|
||||
|
|
@ -656,7 +656,7 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
|||
"temperature array size error");
|
||||
}
|
||||
for (size_t j = 0; j < np; j++) {
|
||||
soln[index(2,j)] = x[j];
|
||||
soln[index(c_offset_T,j)] = x[j];
|
||||
}
|
||||
|
||||
// For fixed-temperature simulations, use the imported temperature
|
||||
|
|
@ -674,7 +674,7 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
|||
"lambda arary size error");
|
||||
}
|
||||
for (size_t j = 0; j < np; j++) {
|
||||
soln[index(3,j)] = x[j];
|
||||
soln[index(c_offset_L,j)] = x[j];
|
||||
}
|
||||
} else if (m_thermo->speciesIndex(nm) != npos) {
|
||||
debuglog(nm+" ", loglevel >= 2);
|
||||
|
|
@ -765,16 +765,16 @@ XML_Node& StFlow::save(XML_Node& o, const doublereal* const sol)
|
|||
"m","length");
|
||||
vector_fp x(soln.nColumns());
|
||||
|
||||
soln.getRow(0, x.data());
|
||||
soln.getRow(c_offset_U, x.data());
|
||||
addFloatArray(gv,"u",x.size(),x.data(),"m/s","velocity");
|
||||
|
||||
soln.getRow(1, x.data());
|
||||
soln.getRow(c_offset_V, x.data());
|
||||
addFloatArray(gv,"V",x.size(),x.data(),"1/s","rate");
|
||||
|
||||
soln.getRow(2, x.data());
|
||||
soln.getRow(c_offset_T, x.data());
|
||||
addFloatArray(gv,"T",x.size(),x.data(),"K","temperature");
|
||||
|
||||
soln.getRow(3, x.data());
|
||||
soln.getRow(c_offset_L, x.data());
|
||||
addFloatArray(gv,"L",x.size(),x.data(),"N/m^4");
|
||||
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
|
|
|
|||
|
|
@ -164,23 +164,23 @@ void Inlet1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
|
||||
// spreading rate. The flow domain sets this to V(0),
|
||||
// so for finite spreading rate subtract m_V0.
|
||||
rb[1] -= m_V0;
|
||||
rb[c_offset_V] -= m_V0;
|
||||
|
||||
if (m_flow->doEnergy(0)) {
|
||||
// The third flow residual is for T, where it is set to T(0). Subtract
|
||||
// the local temperature to hold the flow T to the inlet T.
|
||||
rb[2] -= m_temp;
|
||||
rb[c_offset_T] -= m_temp;
|
||||
}
|
||||
|
||||
if (m_flow->fixed_mdot()) {
|
||||
// The flow domain sets this to -rho*u. Add mdot to specify the mass
|
||||
// flow rate.
|
||||
rb[3] += m_mdot;
|
||||
rb[c_offset_L] += m_mdot;
|
||||
} else {
|
||||
// if the flow is a freely-propagating flame, mdot is not specified.
|
||||
// Set mdot equal to rho*u, and also set lambda to zero.
|
||||
m_mdot = m_flow->density(0)*xb[0];
|
||||
rb[3] = xb[3];
|
||||
rb[c_offset_L] = xb[c_offset_L];
|
||||
}
|
||||
|
||||
// add the convective term to the species residual equations
|
||||
|
|
@ -194,11 +194,11 @@ void Inlet1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
// right inlet
|
||||
// Array elements corresponding to the flast point in the flow domain
|
||||
double* rb = rg + loc() - m_flow->nComponents();
|
||||
rb[1] -= m_V0;
|
||||
rb[c_offset_V] -= m_V0;
|
||||
if (m_flow->doEnergy(m_flow->nPoints() - 1)) {
|
||||
rb[2] -= m_temp; // T
|
||||
rb[c_offset_T] -= m_temp; // T
|
||||
}
|
||||
rb[0] += m_mdot; // u
|
||||
rb[c_offset_U] += m_mdot; // u
|
||||
for (size_t k = 0; k < m_nsp; k++) {
|
||||
if (k != m_flow_left->rightExcessSpecies()) {
|
||||
rb[c_offset_Y+k] += m_mdot * m_yin[k];
|
||||
|
|
@ -289,11 +289,11 @@ void Symm1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
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
|
||||
db[c_offset_V] = 0;
|
||||
db[c_offset_T] = 0;
|
||||
rb[c_offset_V] = xb[c_offset_V] - xb[c_offset_V + nc]; // zero dV/dz
|
||||
if (m_flow_right->doEnergy(0)) {
|
||||
rb[2] = xb[2] - xb[2 + nc]; // zero dT/dz
|
||||
rb[c_offset_T] = xb[c_offset_T] - xb[c_offset_T + nc]; // zero dT/dz
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -302,11 +302,11 @@ void Symm1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
double* xb = x - nc;
|
||||
double* rb = r - nc;
|
||||
int* db = diag - nc;
|
||||
db[1] = 0;
|
||||
db[2] = 0;
|
||||
rb[1] = xb[1] - xb[1 - nc]; // zero dV/dz
|
||||
db[c_offset_V] = 0;
|
||||
db[c_offset_T] = 0;
|
||||
rb[c_offset_V] = xb[c_offset_V] - xb[c_offset_V - nc]; // zero dV/dz
|
||||
if (m_flow_left->doEnergy(m_flow_left->nPoints() - 1)) {
|
||||
rb[2] = xb[2] - xb[2 - nc]; // zero dT/dz
|
||||
rb[c_offset_T] = xb[c_offset_T] - xb[c_offset_T - nc]; // zero dT/dz
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -362,9 +362,9 @@ void Outlet1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
size_t nc = m_flow_right->nComponents();
|
||||
double* xb = x;
|
||||
double* rb = r;
|
||||
rb[0] = xb[3];
|
||||
rb[c_offset_U] = xb[c_offset_L];
|
||||
if (m_flow_right->doEnergy(0)) {
|
||||
rb[2] = xb[2] - xb[2 + nc];
|
||||
rb[c_offset_T] = xb[c_offset_T] - xb[c_offset_T + nc];
|
||||
}
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
rb[k] = xb[k] - xb[k + nc];
|
||||
|
|
@ -379,11 +379,11 @@ void Outlet1D::eval(size_t jg, doublereal* xg, doublereal* rg, integer* diagg,
|
|||
|
||||
// zero Lambda
|
||||
if (m_flow_left->fixed_mdot()) {
|
||||
rb[0] = xb[3];
|
||||
rb[c_offset_U] = xb[c_offset_L];
|
||||
}
|
||||
|
||||
if (m_flow_left->doEnergy(m_flow_left->nPoints()-1)) {
|
||||
rb[2] = xb[2] - xb[2 - nc]; // zero T gradient
|
||||
rb[c_offset_T] = xb[c_offset_T] - xb[c_offset_T - nc]; // zero T gradient
|
||||
}
|
||||
size_t kSkip = c_offset_Y + m_flow_left->rightExcessSpecies();
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
|
|
@ -469,11 +469,11 @@ void OutletRes1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
|
||||
// this seems wrong...
|
||||
// zero Lambda
|
||||
rb[0] = xb[3];
|
||||
rb[c_offset_U] = xb[c_offset_L];
|
||||
|
||||
if (m_flow_right->doEnergy(0)) {
|
||||
// zero gradient for T
|
||||
rb[2] = xb[2] - xb[2 + nc];
|
||||
rb[c_offset_T] = xb[c_offset_T] - xb[c_offset_T + nc];
|
||||
}
|
||||
|
||||
// specified mass fractions
|
||||
|
|
@ -491,10 +491,10 @@ void OutletRes1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
if (!m_flow_left->fixed_mdot()) {
|
||||
;
|
||||
} else {
|
||||
rb[0] = xb[3]; // zero Lambda
|
||||
rb[c_offset_U] = xb[c_offset_L]; // zero Lambda
|
||||
}
|
||||
if (m_flow_left->doEnergy(m_flow_left->nPoints()-1)) {
|
||||
rb[2] = xb[2] - m_temp; // zero dT/dz
|
||||
rb[c_offset_T] = xb[c_offset_T] - m_temp; // zero dT/dz
|
||||
}
|
||||
size_t kSkip = m_flow_left->rightExcessSpecies();
|
||||
for (size_t k = c_offset_Y; k < nc; k++) {
|
||||
|
|
@ -558,14 +558,14 @@ void Surf1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
if (m_flow_right) {
|
||||
double* rb = r;
|
||||
double* xb = x;
|
||||
rb[2] = xb[2] - m_temp; // specified T
|
||||
rb[c_offset_T] = xb[c_offset_T] - m_temp; // specified T
|
||||
}
|
||||
|
||||
if (m_flow_left) {
|
||||
size_t nc = m_flow_left->nComponents();
|
||||
double* rb = r - nc;
|
||||
double* xb = x - nc;
|
||||
rb[2] = xb[2] - m_temp; // specified T
|
||||
rb[c_offset_T] = xb[c_offset_T] - m_temp; // specified T
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -698,14 +698,14 @@ void ReactingSurf1D::eval(size_t jg, doublereal* xg, doublereal* rg,
|
|||
if (m_flow_right) {
|
||||
double* rb = r + m_nsp;
|
||||
double* xb = x + m_nsp;
|
||||
rb[2] = xb[2] - m_temp; // specified T
|
||||
rb[c_offset_T] = xb[c_offset_T] - m_temp; // specified T
|
||||
}
|
||||
if (m_flow_left) {
|
||||
size_t nc = m_flow_left->nComponents();
|
||||
const vector_fp& mwleft = m_phase_left->molecularWeights();
|
||||
double* rb = r - nc;
|
||||
double* xb = x - nc;
|
||||
rb[2] = xb[2] - m_temp; // specified T
|
||||
rb[c_offset_T] = xb[c_offset_T] - m_temp; // specified T
|
||||
size_t nSkip = m_flow_left->rightExcessSpecies();
|
||||
for (size_t nl = 0; nl < m_left_nsp; nl++) {
|
||||
if (nl != nSkip) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue