I have two questions on the functor SuperLatticePhysHeatFlux3D. My first question is about the factor _temp which contains (tau-0.5)/tau. I don’t understand where it comes from. I have found the same factor in the definition of the heat flux in the paper “M. Gaedtke, S. Wachter, M. Rädle, H. Nirschl, M. Krause, Application of a lattice Boltzmann method combined with a Smagorinsky turbulence model to spatially resolved heat flux inside a refrigerated vehicle, Comput. Math. Appl. 76 (10) (2018) 2315–2329”, but there is no indication of how it was found.
The second question is why there is a difference between the definition in the paper and the way it is computed in SuperLatticePhysHeatFlux3D ? Indeed, in the paper, the first moment (sum(ci*gi)) is used, but in the functor, it is the non-equilibrium part of the first moment (sum(ci*gi)-Tu).
I don’t know how the additional factor arises exactly, but it looks similar to the one that arises in the Chapman-Enskog expansion for ADE (cf. Krüger, DOI 10.1007/978-3-319-44649-3, eq. (8.35a)). There, this factor expresses the difference between numerical and original diffusion and it might have been corrected in that functor.
For further information, you may search for the Chapman-Enskog expansion for thermal ADE or maybe contact the authors of the mentioned paper.
As for the second question, there seems to be no difference: In OpenLB 1.4, the computeJ method computes the heat flux + T * u (cf. RegularizedHeatFluxBM::computeJ), an additional summand which is subtracted again when computing the functor.