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 5 years, 10 months ago by Julius. Reason: Add code tag to AdvectionDiffusionMRTdynamics