diff --git a/Cantera/matlab/cantera/examples/diffflame.m b/Cantera/matlab/cantera/examples/diffflame.m index 4a3f1162c..88b9d9dab 100644 --- a/Cantera/matlab/cantera/examples/diffflame.m +++ b/Cantera/matlab/cantera/examples/diffflame.m @@ -23,9 +23,9 @@ comp2 = 'C2H6:1'; % fuel composition initial_grid = 0.02*[0.0 0.2 0.4 0.6 0.8 1.0]; % m -tol_ss = [1.0e-5 1.0e-12]; % [rtol atol] for steady-state +tol_ss = [1.0e-5 1.0e-9]; % [rtol atol] for steady-state % problem -tol_ts = [1.0e-3 1.0e-4]; % [rtol atol] for time stepping +tol_ts = [1.0e-3 1.0e-9]; % [rtol atol] for time stepping loglevel = 1; % amount of diagnostic output (0 % to 5) @@ -97,7 +97,7 @@ solve(fl, loglevel, 0); %refine_grid); % enableEnergy(f); -setRefineCriteria(fl, 2, 200.0, 0.1, 0.1); +setRefineCriteria(fl, 2, 200.0, 0.1, 0.2); solve(fl, loglevel, refine_grid); saveSoln(fl,'c2h6.xml','energy',['solution with energy' ... ' equation']); diff --git a/Cantera/src/oneD/StFlow.cpp b/Cantera/src/oneD/StFlow.cpp index a0c5ba4cb..7d76a0302 100644 --- a/Cantera/src/oneD/StFlow.cpp +++ b/Cantera/src/oneD/StFlow.cpp @@ -405,10 +405,13 @@ namespace Cantera { // The default boundary condition for species is zero // flux. However, the boundary object may modify // this. + sum = 0.0; for (k = 0; k < m_nsp; k++) { + sum += Y(x,k,0); rsd[index(c_offset_Y + k, 0)] = -(m_flux(k,0) + rho_u(x,0)* Y(x,k,0)); } + rsd[index(c_offset_Y, 0)] = 1.0 - sum; } diff --git a/Cantera/src/oneD/boundaries1D.cpp b/Cantera/src/oneD/boundaries1D.cpp index b25769ef7..5eaa99efd 100644 --- a/Cantera/src/oneD/boundaries1D.cpp +++ b/Cantera/src/oneD/boundaries1D.cpp @@ -186,7 +186,7 @@ namespace Cantera { rb[1] -= m_V0; rb[3] += x[0]; // lambda - for (k = 0; k < m_nsp; k++) { + for (k = 1; k < m_nsp; k++) { if (m_flow->doSpecies(k)) { rb[4+k] += x[0]*m_yin[k]; }