MCPcopy Create free account
hub / github.com/Cantera/cantera / eval

Method eval

src/zeroD/ReactorNet.cpp:446–467  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

444}
445
446void ReactorNet::eval(double t, double* y, double* ydot, double* p)
447{
448 m_time = t;
449 updateState(y);
450 m_LHS.assign(m_nv, 1);
451 m_RHS.assign(m_nv, 0);
452 for (size_t n = 0; n < m_reactors.size(); n++) {
453 m_reactors[n]->applySensitivity(p);
454 m_reactors[n]->eval(t, m_LHS.data() + m_start[n], m_RHS.data() + m_start[n]);
455 size_t yEnd = 0;
456 if (n == m_reactors.size() - 1) {
457 yEnd = m_RHS.size();
458 } else {
459 yEnd = m_start[n + 1];
460 }
461 for (size_t i = m_start[n]; i < yEnd; i++) {
462 ydot[i] = m_RHS[i] / m_LHS[i];
463 }
464 m_reactors[n]->resetSensitivity(p);
465 }
466 checkFinite("ydot", ydot, m_nv);
467}
468
469void ReactorNet::evalDae(double t, double* y, double* ydot, double* p, double* residual)
470{

Callers

nothing calls this directly

Calls 4

checkFiniteFunction · 0.85
applySensitivityMethod · 0.80
resetSensitivityMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected