[Reactor] Make better use of local variables
This commit is contained in:
parent
4b8f8b692a
commit
ce9a17fb76
3 changed files with 9 additions and 16 deletions
|
|
@ -72,9 +72,8 @@ public:
|
|||
throw CanteraError("PressureController::updateMassFlowRate",
|
||||
"Device is not ready; some parameters have not been set.");
|
||||
}
|
||||
doublereal master_mdot = m_master->massFlowRate(time);
|
||||
m_mdot = master_mdot + m_coeffs[0]*(in().pressure() -
|
||||
out().pressure());
|
||||
m_mdot = m_master->massFlowRate(time)
|
||||
+ m_coeffs[0]*(in().pressure() - out().pressure());
|
||||
m_mdot = std::max(m_mdot, 0.0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -73,7 +73,6 @@ void ReactorNet::setSensitivityTolerances(double rtol, double atol)
|
|||
|
||||
void ReactorNet::initialize()
|
||||
{
|
||||
size_t n, nv;
|
||||
m_nv = 0;
|
||||
debuglog("Initializing reactor network.\n", m_verbose);
|
||||
if (m_reactors.empty()) {
|
||||
|
|
@ -81,10 +80,10 @@ void ReactorNet::initialize()
|
|||
"no reactors in network!");
|
||||
}
|
||||
m_start.assign(1, 0);
|
||||
for (n = 0; n < m_reactors.size(); n++) {
|
||||
for (size_t n = 0; n < m_reactors.size(); n++) {
|
||||
Reactor& r = *m_reactors[n];
|
||||
r.initialize(m_time);
|
||||
nv = r.neq();
|
||||
size_t nv = r.neq();
|
||||
m_nv += nv;
|
||||
m_start.push_back(m_nv);
|
||||
|
||||
|
|
@ -162,9 +161,8 @@ void ReactorNet::addReactor(Reactor& r)
|
|||
void ReactorNet::eval(doublereal t, doublereal* y,
|
||||
doublereal* ydot, doublereal* p)
|
||||
{
|
||||
size_t n;
|
||||
updateState(y);
|
||||
for (n = 0; n < m_reactors.size(); n++) {
|
||||
for (size_t n = 0; n < m_reactors.size(); n++) {
|
||||
m_reactors[n]->evalEqs(t, y + m_start[n], ydot + m_start[n], p);
|
||||
}
|
||||
checkFinite("ydot", ydot, m_nv);
|
||||
|
|
@ -189,15 +187,12 @@ double ReactorNet::sensitivity(size_t k, size_t p)
|
|||
void ReactorNet::evalJacobian(doublereal t, doublereal* y,
|
||||
doublereal* ydot, doublereal* p, Array2D* j)
|
||||
{
|
||||
doublereal ysave, dy;
|
||||
Array2D& jac = *j;
|
||||
|
||||
//evaluate the unperturbed ydot
|
||||
eval(t, y, ydot, p);
|
||||
for (size_t n = 0; n < m_nv; n++) {
|
||||
// perturb x(n)
|
||||
ysave = y[n];
|
||||
dy = m_atol[n] + fabs(ysave)*m_rtol;
|
||||
double ysave = y[n];
|
||||
double dy = m_atol[n] + fabs(ysave)*m_rtol;
|
||||
y[n] = ysave + dy;
|
||||
dy = y[n] - ysave;
|
||||
|
||||
|
|
@ -206,7 +201,7 @@ void ReactorNet::evalJacobian(doublereal t, doublereal* y,
|
|||
|
||||
// compute nth column of Jacobian
|
||||
for (size_t m = 0; m < m_nv; m++) {
|
||||
jac(m,n) = (m_ydot[m] - ydot[m])/dy;
|
||||
j->value(m,n) = (m_ydot[m] - ydot[m])/dy;
|
||||
}
|
||||
y[n] = ysave;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,8 +39,7 @@ void Wall::setKinetics(Kinetics* left, Kinetics* right)
|
|||
|
||||
doublereal Wall::vdot(doublereal t)
|
||||
{
|
||||
double rate1 = m_k * m_area *
|
||||
(m_left->pressure() - m_right->pressure());
|
||||
double rate1 = m_k * m_area * (m_left->pressure() - m_right->pressure());
|
||||
if (m_vf) {
|
||||
rate1 += m_area * m_vf->eval(t);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue