我正在尝试理解 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
最佳答案
按位与运算符。
它将第一个操作数的每一位与第二个操作数的相应位进行比较。 如果两个位都为 1,则结果位设置为 1,否则为 0。
例如:
11001001
& 10111000
--------
= 10001000
关于c++ - &在这段代码中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58405454/