Hello developers,
I think I have encountered a bug in OpenLB v1.3
In the dynamics/lbHelpersD3Q7.h
file, in the function equilibrium
the c_u
is calculated as follows:
T c_u = descriptors::c<L>(iPop,0)*u[0] + descriptors::c<L>(iPop,1)*u[1];
The third dimension is missing in that calculation. It should be as in the below function equilibriumFirstOrder
:
T c_u = descriptors::c<L>(iPop,0) * u[0] + descriptors::c<L>(iPop,1) * u[1] + descriptors::c<L>(iPop,2) * u[2];
The D3Q7 is usually used in combination with AD dynamics, which call the equilibriumFirstOrder for calculating the equilibrium. However, the AdvectionDiffusionMRTdynamics
class does call the function equilibrium
with the bug.
Regards,
Julius
-
This topic was modified 4 years, 11 months ago by Julius. Reason: Add code tag to AdvectionDiffusionMRTdynamics