Question about dot product

Dear channelflow developers,
I have a question concerning the function dot() in diffops.cpp
I have troubles understanding the computation of fdotg when f.Nd= 3 and g.Nd = 9.

fdotg(nx, ny, nz, 0) += f(nx, ny, nz, i) * g(nx, ny, nz, ij)

shouldn’t it be
fdotg(nx, ny, nz, i) += f(nx, ny, nz, j) * g(nx, ny, nz, ij)

just like in dotgrad ?
As far as I know, the function dot for vector - tensor product is not used for computing non linear terms, so it is not a big deal, it is just for clarification.

Best wishes,


I’m not a developer but this looks like a bug to me on the grounds (as you say) that fdotg is not having all of its fields updated, i.e. being treated like a vector in this case.

Perhaps you could submit it as a bug report,