Why wall shear stress calculated directly from my solver is different from the value that I calculated based on GradientOfUnstructuredGrid from ParaView?

I want to compare the wall shear stress calculated directly from my CFD solver with the value that I can calculate from ParaView based on GradientOfUnstructuredDataSet. I use this formula for wall shear stress calculation:

\vec{\tau}_{WSS} = \mathbf{T} \cdot \mathbf{n} - (\mathbf{n} \cdot \mathbf{T} \cdot \mathbf{n}) \mathbf{n}

Where \mathbf{T} is the shear stress tensor: \mathbf{T} = \mu (\nabla \mathbf{u} + (\nabla \mathbf{u})^{T}). My question is how GradientOfUnstructuredDataSet, which I used to calculate velocity gradient tensor and finally \mathbf{T}, handles boundaries. As far as I understand vtkGradientFilter, which GradientOfUnstructuredDataSet is just a wrapper around vtkGradientFilter, calculate gradients by using simple finite difference in each cell. So, I really appreciate if someone could describe how vtkGradientFilter or GradientOfUnstructuredDataSet handles boundary, which might help me to explain why the calculated values from my CFD solver and ParaView are so different. By the way, the wall shear stress from my CFD solver is validated and verified in comparison to other solvers and experimental data. So, I’m confident that my CFD solver gives accurate wall shear stress values.

1 Like

I’m facing the exact same problem with simulations obtained from Ansys, did you manage to solve it somehow in the end?