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)];