View Issue Details

IDProjectCategoryView StatusLast Update
0002340OpenFOAMContributionpublic2017-06-30 12:23
ReporterAMRBlack Assigned Tochris  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
PlatformGNU/LinuxOSUbuntuOS Version14.10
Summary0002340: provide general interfaces to count stress work and the dissipation of turbulent kinatic in the turbulence library
DescriptionThe stress work and the dissipation of turbulent kinetic energy are ignored in
the current energy equations implemented in OpenFOAM. These two terms are very
important in some case. Can we provide general interfaces in the turbulence
library to count them in the energy equation?

A hard coded implementation may look like this:

    tmp<volScalarField> tk = turbulence->k();
  
    const volScalarField& k = tk();
    
    // TODO: check the discrete scheme of this term and we may need to move it
    // into the turbulence library
    volScalarField ShRhoReff
    (
        "ShRhoReff",
        fvc::div
        (
            fvc::dotInterpolate(mesh.Sf(), turbulence->devRhoReff())
          & fvc::interpolate(U)
        )
    );

    fvScalarMatrix EEqn
    (
        fvm::ddt(rho, e) + fvm::div(phi, e)
      + fvc::ddt(rho, K) + fvc::div(phi, K)
      + fvc::div(fvc::absolute(phi/fvc::interpolate(rho), U), p, ”div(phiv,p)”)
      - fvm::laplacian(turbulence->alphaEff(), e)
      - ShRhoReff
      // TODO: make DkEff() a public function or move this term into the
      // turbulence library
      + (
            fvc::ddt(rho, k)
          + fvc::fiv(phi, k)
          - fvc::laplacian(turbulence->DkEff(), k)
        )
      ==
        fvOptions(rho, e)
    );
Tagsenergy equation, turbulence models

Activities

henry

2016-11-19 09:04

manager   ~0007245

These terms have been included and then subsequently removed because for many cases they introduce serious numerical stability issue without improving accuracy. Re-introduction of these terms will need to be done through a run-time selection mechanism so that they can be added when needed -- this could be achieved via fvOptions.

henry

2016-11-19 09:36

manager   ~0007246

It would be more convenient if 'k' is included in the definition of 'K' leaving the diffusive transport of 'k' term. The difficulty with this term is that not all turbulence models include it in their formulation, e.g. Spalart-Allmaras and for this and other 'nuTilda' models the modelling of 'k' is questionable.

The 'ShRhoReff' term looks OK at you have formulated it; I don't think there is a better numerically conservative formulation, however it may induce unboundedness of 'e' and hence 'T' and avoiding this will be tricky because this and the other additional terms cannot be formulated in a form which would guarantee boundedness of 'T'.

Could you provide some example cases for which these addition terms are very important? For these cases to you see unboundedness problems and if so how did you resolve the issue without violating conversation of energy?

AMRBlack

2016-11-20 05:48

reporter   ~0007250

Thanks for your time. Our team are working on a high-temperature, high-speed
flow with surface reactions. This process requires a detailed calculation of the
transport process near the wall, and I am trying to implement a two-layer
k-epsilon model just like the "Enhanced Wall Treatment" of FLUENT via fvOptions.
In this model, yplus is less than 1. We are sure that the stress work is very
important now but not sure on the term of the turbulent kinetic energy. I'd like
to do more test on the two-layer implementation and then upload the codes and the
case.

chris

2017-06-30 12:23

manager   ~0008303

No feedback from the reporter and his team.

Issue History

Date Modified Username Field Change
2016-11-19 08:28 AMRBlack New Issue
2016-11-19 08:28 AMRBlack Tag Attached: turbulence models
2016-11-19 08:28 AMRBlack Tag Attached: energy equation
2016-11-19 09:04 henry Note Added: 0007245
2016-11-19 09:36 henry Note Added: 0007246
2016-11-20 05:48 AMRBlack Note Added: 0007250
2017-06-30 12:23 chris Assigned To => chris
2017-06-30 12:23 chris Status new => closed
2017-06-30 12:23 chris Resolution open => fixed
2017-06-30 12:23 chris Note Added: 0008303