View Issue Details

IDProjectCategoryView StatusLast Update
0000112OpenFOAMBugpublic2011-03-17 15:54
Reporteruser102Assigned Tohenry  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionno change required 
Summary0000112: bug in calculating wallShearStress
DescriptionIn all OF (> 1.5) versions are the wall shear stresses calculated from sufaceNormalVektor & Reff.boundaryField()[patchI] with Reff = nuEff()*dev(twoSymm(fvc::grad(U))).
However the wall shear stress is defined by nu()*(-U.boundaryField()[patchI].snGrad())

Both definitions are equal only if rot(U)=skew(grad(U))=0.

In my experience the wall shear stresses are overpredicted by using sufaceNormalVektor & Reff.boundaryField()[patchI] instead of u()*(-U.boundaryField()[patchI].snGrad())
TagsNo tags attached.

Activities

henry

2010-12-17 08:48

manager   ~0000185

Are you considering a laminar or turbulent case, i.e. are you expecting nu() and nuEff() to be the same?

user102

2010-12-17 21:49

  ~0000189

My considerations were only done for laminar cases. I expect nuEff()=nu()+nuT(), with nuT()=0, so that nuEff()=nu() should be true.

henry

2010-12-17 22:40

manager   ~0000190

Can you provide a small case which demonstrated the issue?

user102

2010-12-21 16:29

 

veryCoarse.tar.gz (826,852 bytes)

user102

2010-12-21 16:47

  ~0000196

I just uploaded a small case where the flow field is precalculated and a small (case specific) tool dragNearAndFarField2. The tool calculates the momentum and (pressure + viscous) force balance for the near and far field. I this case the near field are wall patches and the far field are cyclic patches. The viscous forces (which only appear in the near field) are calculated on the tow approaches based on Reff and based on the snGrad. Looking on the allover balances (comparing the sum of near field and far field approach) suggests that the snGrad based approach gives the right result for this case. Keeping this in mind shows that the Reff based approach is almost 10 % of the snGrad approach.

PS The comment: "Both definitions are equal only if rot(U)=skew(grad(U))=0." is of course nonsense!

henry

2010-12-22 17:05

manager   ~0000197

nu()*(-U.boundaryField()[patchI].snGrad()) will provide an accurate value for the wall shear-stress in the case of a flat wall with a uniform velocity otherwise grad(U)().T() would be non-zero on the wall and should be accounted for. However, with the way grad(U) is currently evaluated on the wall grad(U)().T() will not be exactly zero on the wall even for the case of a flat wall with a uniform velocity but it will approach zero with mesh refinement.

user102

2010-12-24 00:06

  ~0000201

What do you mean by accurate? nu()*(-U.boundaryField()[patchI].snGrad()) will provide an value for the wall shear-stress in the case of a NON flat wall with a NON uniform velocity, which satisfies the allover momentum change/force balance. whereas the Reff approach doesn't. This is still true if I perform a mesh refinement (cell size 8x smaller). However the change for the pressure force and the nu()*(-U.boundaryField()[patchI].snGrad()) approach is higher than the Reff approach. One could be interpret that the Reff approach is closer to the final solution on the coarse grid already?! Maybe this is meant by accurate?

henry

2010-12-24 00:23

manager   ~0000202

By accurate I mean representative of the physics. snGrad() does not include the influence of the transpose term for the cases for which it is non-zero on the wall.

Issue History

Date Modified Username Field Change
2010-12-17 07:02 user102 New Issue
2010-12-17 08:48 henry Note Added: 0000185
2010-12-17 21:49 user102 Note Added: 0000189
2010-12-17 22:40 henry Note Added: 0000190
2010-12-21 16:29 user102 File Added: veryCoarse.tar.gz
2010-12-21 16:47 user102 Note Added: 0000196
2010-12-22 17:05 henry Note Added: 0000197
2010-12-24 00:06 user102 Note Added: 0000201
2010-12-24 00:23 henry Note Added: 0000202
2011-03-17 15:54 user2 Status new => closed
2011-03-17 15:54 user2 Assigned To => henry
2011-03-17 15:54 user2 Resolution open => no change required