35    void update(
const DiffCoeffFunc& computeDiffCoeff)
 
   41        static_assert(numPhases <= numComponents || (numPhases == 3 && numComponents == 2),
 
   42                      "This combination of numPhases and numComponents is not supported!");
 
   43        for (
int phaseIdx = 0; phaseIdx < numPhases; ++ phaseIdx)
 
   44            for (
int compIIdx = std::min(phaseIdx, numComponents-1), compJIdx = 0; compJIdx < numComponents; ++compJIdx)
 
   45                if (compIIdx != compJIdx)
 
   46                    diffCoeff_[getIndex_(phaseIdx, compIIdx, compJIdx)] = computeDiffCoeff(phaseIdx, compIIdx, compJIdx);
 
 
   49    Scalar 
operator() (
int phaseIdx, 
int compIIdx, 
int compJIdx)
 const 
   51        sortComponentIndices_(phaseIdx, compIIdx, compJIdx);
 
   52        assert(compIIdx != compJIdx);
 
   53        return diffCoeff_[getIndex_(phaseIdx, compIIdx, compJIdx)];