View Issue Details

IDProjectCategoryView StatusLast Update
0002325OpenFOAMBugpublic2016-11-15 19:43
ReporterJuho Assigned Tohenry  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformUnixOSOtherOS Version(please specify)
Fixed in Versiondev 
Summary0002325: ReynoldsStress: Non-axisymmetric results in a circular pipe
DescriptionThe LRR and SSG Reynolds stress models produce non-axisymmetric, coordinate system dependant results in a circular pipe.

I have attached comparison images of U and k results obtained with kOmegaSST, LRR, SSG and modified LRR models which illustrate the issue as well as the test case.

The non-axisymmetric behavior appears to originate in the ReynoldsStress<BasicTurbulenceModel>::correctWallShearStress function:

https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/src/TurbulenceModels/turbulenceModels/ReynoldsStress/ReynoldsStress.C

Original:
// Reset the shear components of the stress tensor
Rw[facei].xy() = tauw.xy();
Rw[facei].xz() = tauw.xz();
Rw[facei].yz() = tauw.yz();

Modified:
// Reset the stress tensor components
Rw[facei].xx() = tauw.xx();
Rw[facei].yy() = tauw.yy();
Rw[facei].zz() = tauw.zz();
Rw[facei].xy() = tauw.xy();
Rw[facei].xz() = tauw.xz();
Rw[facei].yz() = tauw.yz();
Steps To ReproduceRun the attached test case.
TagsNo tags attached.

Activities

Juho

2016-11-10 14:37

reporter  

UComparison.png (81,070 bytes)   
UComparison.png (81,070 bytes)   

Juho

2016-11-10 14:38

reporter  

kComparison.png (72,268 bytes)   
kComparison.png (72,268 bytes)   

Juho

2016-11-10 14:39

reporter  

pipeTest.tar.gz (4,640,867 bytes)

henry

2016-11-10 14:48

manager   ~0007132

Why do you think it is necessary to set the normal stresses? These should be calculated by the turbulence model rather than the wall-function?

Also if all the components of the Rw are to be set to tauw couldn't we just use

Rw[facei] = tauw;

The reason the individual components are set at the moment is to specifically avoid resetting the normal stresses.

Juho

2016-11-10 15:11

reporter   ~0007133

If you look at the attached test case results, the present implementation results are clearly wrong. Resetting also the normal components on the wall produces results that are plausible and very close to the kOmegaSST results.

Neglecting the correctWallShearStress function altogether also produces axisymmetric results but the results are of course wrong.

Thus, the non-axisymmetric behavior appears to be caused by the modification in the shear components in correctWallShearStress and it appears that to get rid of it the normal components have to modified also. Either in the turbulence model, correctWallShearStress or somewhere else.

henry

2016-11-10 16:04

manager   ~0007134

Rw[facei].xx() = tauw.xx();
Rw[facei].yy() = tauw.yy();
Rw[facei].zz() = tauw.zz();

are definitely not correct; tauw is the shear stress and does not include the the contribution from k. If we assume that the anisotropy may be obtained from dev(symm(gradUw)) then it would be possible to estimate the normal stresses consistent with those from the k-epsilon model by including the spherical contribution (2/3)Ik.

henry

2016-11-10 16:17

manager   ~0007135

Try this:

        // Calculate near-wall Reynolds-stress tensor
        Rw[facei] =
            ((1.0/3.0)*tr(Rw[facei]))*I
          - nutw[facei]*2*dev(symm(gradUw));

Juho

2016-11-11 11:00

reporter   ~0007144

I added the spherical contribution as you suggested and reran the test case. I'll attach comparison images.

The first cell velocity is now slightly higher than with kOmegaSST while with the previous modified version it was somewhat lower than with kOmegaSST. However, with the spherical contribution there is also a strange kink in the velocity and turbulence properties in third (!) cell from the wall.
UComparison2.png (98,815 bytes)   
UComparison2.png (98,815 bytes)   

Juho

2016-11-11 11:01

reporter  

kComparison2.png (92,815 bytes)   
kComparison2.png (92,815 bytes)   

Juho

2016-11-11 11:01

reporter  

kComparison2-2.png (92,815 bytes)   
kComparison2-2.png (92,815 bytes)   

Juho

2016-11-11 11:01

reporter  

U_profiles.png (20,684 bytes)   
U_profiles.png (20,684 bytes)   

Juho

2016-11-11 11:02

reporter  

nut_profiles.png (24,104 bytes)   
nut_profiles.png (24,104 bytes)   

Juho

2016-11-11 11:02

reporter  

k_profiles.png (23,885 bytes)   
k_profiles.png (23,885 bytes)   

henry

2016-11-11 11:20

manager   ~0007145

It would be better if anisotropy of the normal stresses were set to correspond to the expected value for the log-region or better still the value the model would produce if the near-wall region were adequately resolved rather than inferring it from dev(symm(gradUw)) which is not consistent with either the models or measurement.

Juho

2016-11-11 12:08

reporter   ~0007146

Increasing the couplingFactor eliminates the third cell kink with the spherical contribution. First cell velocity returns to the same or lower as it was without the spherical contribution. k in the second cell increases significantly as the couplingFactor increases.

henry

2016-11-11 14:55

manager   ~0007149

According to the 1978 Launder-Gibson paper for near-wall turbulence

u1^2/k = 1.1
u2^2/k = 0.65
u3^2/k = 0.25

with a bit of tinkering to get the normal, flow and lateral directions this could be used to set the normal stresses.

henry

2016-11-14 17:11

manager   ~0007201

I am running the test case and noticed that the laminar viscosity is VERY low:

mu 8.9e-5;

which with rho = 1017.1 gives a kinematic viscosity of 8.75e-8. What is the fluid?

Juho

2016-11-14 17:44

reporter   ~0007202

Dichlorodifluoromethane near boiling point at 26.15 bar.

In noticed that you pushed a fix with just the tauw at the wall.

henry

2016-11-14 17:51

manager   ~0007203

Yes but it is not entirely consistent with the formulation of divDevRhoReff which should also use dev(R_) if the entire spherical part is incorporated in the pressure. I am running an extensive set of tests of the various formulations and so far the form you initially proposed is proving the most reliable at least for your case.

henry

2016-11-15 19:43

manager   ~0007212

Resolved by commit 6f4908ed000d223b797825b308a5a7ae6bbc8a63

Issue History

Date Modified Username Field Change
2016-11-10 14:37 Juho New Issue
2016-11-10 14:37 Juho File Added: UComparison.png
2016-11-10 14:38 Juho File Added: kComparison.png
2016-11-10 14:39 Juho File Added: pipeTest.tar.gz
2016-11-10 14:48 henry Note Added: 0007132
2016-11-10 15:11 Juho Note Added: 0007133
2016-11-10 16:04 henry Note Added: 0007134
2016-11-10 16:17 henry Note Added: 0007135
2016-11-11 11:00 Juho File Added: UComparison2.png
2016-11-11 11:00 Juho Note Added: 0007144
2016-11-11 11:01 Juho File Added: kComparison2.png
2016-11-11 11:01 Juho File Added: kComparison2-2.png
2016-11-11 11:01 Juho File Added: U_profiles.png
2016-11-11 11:02 Juho File Added: nut_profiles.png
2016-11-11 11:02 Juho File Added: k_profiles.png
2016-11-11 11:20 henry Note Added: 0007145
2016-11-11 12:08 Juho Note Added: 0007146
2016-11-11 14:55 henry Note Added: 0007149
2016-11-14 17:11 henry Note Added: 0007201
2016-11-14 17:44 Juho Note Added: 0007202
2016-11-14 17:51 henry Note Added: 0007203
2016-11-15 19:43 henry Assigned To => henry
2016-11-15 19:43 henry Status new => resolved
2016-11-15 19:43 henry Resolution open => fixed
2016-11-15 19:43 henry Fixed in Version => dev
2016-11-15 19:43 henry Note Added: 0007212