Model assumptions: weak polyprotic acid titrated with strong base. pH is computed with a full charge-balance solver using polyprotic distribution fractions, which smooths the curve through all buffer and equivalence regions. Fractional composition is computed from the same alpha fractions.