我正在尝试理解foam-extend 中的dbns 代码。但是我对下面给出的以下代码的特定部分有点怀疑。
deltaRLeft & gradrho[own] 或
deltaRRight & gradU[nei]
我在这里使用的东西&是一个参考运算符,但是如果有人可以更详细地解释它,它将对我有所帮助。
Flux::evaluateFlux
(
rhoFlux_[faceI],
rhoUFlux_[faceI],
rhoEFlux_[faceI],
rho_[own] + rhoLimiter[own]*(deltaRLeft & gradrho[own]),
rho_[nei] + rhoLimiter[nei]*(deltaRRight & gradrho[nei]),
U_[own] + cmptMultiply(ULimiter[own], (deltaRLeft & gradU[own])),
U_[nei] + cmptMultiply(ULimiter[nei], (deltaRRight & gradU[nei])),
T_[own] + TLimiter[own]*(deltaRLeft & gradT[own]),
T_[nei] + TLimiter[nei]*(deltaRRight & gradT[nei]),
R[own],
R[nei],
Cv[own],
Cv[nei],
Cp[own],
Cp[nei],
Sf[faceI],
magSf[faceI]
);
这里 & 到底在做什么,如果可以详细解释的话。部分代码来自 dbns/numericFlux/numericFlux.C