CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   How to calculate dissipation rate in OpenFOAM (https://www.cfd-online.com/Forums/openfoam-post-processing/239404-how-calculate-dissipation-rate-openfoam.html)

farzadmech November 3, 2021 15:35

How to calculate dissipation rate in OpenFOAM
 
Hello all
I hope you are well. I want to calculate dissipation rate in LES simulation and I find a good code for calculating TKE budget.
https://github.com/AndreaDesan/pimpleTKEBudgetFoam
But I can not use it since some definitions are different, so I decided to use the definitions in the code(tkeBudget.H);
https://github.com/AndreaDesan/pimpl...er/tkeBudget.H
Code:

  volScalarField kSGS = turbulence->k(); //Instantaneous subgrid-scale tke
           
    volScalarField kRes = 0.5*(UPrime & UPrime); //Instantaneous resolved tke

    kTot = kRes + kSGS;
    volScalarField epsilonSGS = turbulence->epsilon();

    volSymmTensorField SRes = symm(fvc::grad(UPrime)); //Instantaneous resolved fluctuating rate of strain
    volScalarField epsilonRes=-2*nuLam*(SRes && SRes); //Instantaneous resolved dissipation rate

    epsilonTot = mag(epsilonRes + epsilonSGS);

    LESResIndex = kRes/max(kSmall,kTot); //Instantaneous ratio of resolved to total (Resolved + SGS) tke

Now, lets return to my main discussion;
a) The dimension of tke is [m2s(-2)] and "tke rate" must be [m2s(-3)]
b) the dimension of dissipation rate must be the same, so I calculate for both epsilonSGS and epsilonRes as below;
1- epsilonSGS = Ce*pow(k,3/2)/delta====>[Ce]*[k^3/2]/[delta]====>[1]*[m3s(-3)]/[m]====>m2s(-3)

2- epsilonRes = nu * (gradU && gradU)====>[m2s(-1)]*[?????]=== I calculate "gradU && gradU" in OpenFoam and dimension was s(-2), so we have [m2s(-1)]*[s(-2)]=m2s(-3).

basically epsilonSGS and epsilonRes has the same dimension m2s(-3) which is the same as tke rate m2s(-3). From this I think I have calculated the [?????] correctly. Am I correct?

farzadmech November 3, 2021 16:28

Maybe this question is a little stupid one. I always read and heard dissipation rate [m2s(-3)], but I never heard about TKE rate. TKE is [m2s(-2)], so TKE rate must be [m2s(-3)] which is the same as dissipation rate. am I correct?


Quote:

Originally Posted by farzadmech (Post 815739)
Hello all
I hope you are well. I want to calculate dissipation rate in LES simulation and I find a good code for calculating TKE budget.
https://github.com/AndreaDesan/pimpleTKEBudgetFoam
But I can not use it since some definitions are different, so I decided to use the definitions in the code(tkeBudget.H);
https://github.com/AndreaDesan/pimpl...er/tkeBudget.H
Code:

  volScalarField kSGS = turbulence->k(); //Instantaneous subgrid-scale tke
           
    volScalarField kRes = 0.5*(UPrime & UPrime); //Instantaneous resolved tke

    kTot = kRes + kSGS;
    volScalarField epsilonSGS = turbulence->epsilon();

    volSymmTensorField SRes = symm(fvc::grad(UPrime)); //Instantaneous resolved fluctuating rate of strain
    volScalarField epsilonRes=-2*nuLam*(SRes && SRes); //Instantaneous resolved dissipation rate

    epsilonTot = mag(epsilonRes + epsilonSGS);

    LESResIndex = kRes/max(kSmall,kTot); //Instantaneous ratio of resolved to total (Resolved + SGS) tke

Now, lets return to my main discussion;
a) The dimension of tke is [m2s(-2)] and "tke rate" must be [m2s(-3)]
b) the dimension of dissipation rate must be the same, so I calculate for both epsilonSGS and epsilonRes as below;
1- epsilonSGS = Ce*pow(k,3/2)/delta====>[Ce]*[k^3/2]/[delta]====>[1]*[m3s(-3)]/[m]====>m2s(-3)

2- epsilonRes = nu * (gradU && gradU)====>[m2s(-1)]*[?????]=== I calculate "gradU && gradU" in OpenFoam and dimension was s(-2), so we have [m2s(-1)]*[s(-2)]=m2s(-3).

basically epsilonSGS and epsilonRes has the same dimension m2s(-3) which is the same as tke rate m2s(-3). From this I think I have calculated the [?????] correctly. Am I correct?


Andrea1984 November 8, 2021 07:27

Not sure from where within code you got "tke rate".
Andrea

joshwilliams January 11, 2022 03:44

Quote:

Originally Posted by farzadmech (Post 815739)
Hello all
I hope you are well. I want to calculate dissipation rate in LES simulation and I find a good code for calculating TKE budget.
https://github.com/AndreaDesan/pimpleTKEBudgetFoam
But I can not use it since some definitions are different, so I decided to use the definitions in the code(tkeBudget.H);
https://github.com/AndreaDesan/pimpl...er/tkeBudget.H
Code:

  volScalarField kSGS = turbulence->k(); //Instantaneous subgrid-scale tke
       
    volScalarField kRes = 0.5*(UPrime & UPrime); //Instantaneous resolved tke

    kTot = kRes + kSGS;
    volScalarField epsilonSGS = turbulence->epsilon();

    volSymmTensorField SRes = symm(fvc::grad(UPrime)); //Instantaneous resolved fluctuating rate of strain
    volScalarField epsilonRes=-2*nuLam*(SRes && SRes); //Instantaneous resolved dissipation rate

    epsilonTot = mag(epsilonRes + epsilonSGS);

    LESResIndex = kRes/max(kSmall,kTot); //Instantaneous ratio of resolved to total (Resolved + SGS) tke

Now, lets return to my main discussion;
a) The dimension of tke is [m2s(-2)] and "tke rate" must be [m2s(-3)]
b) the dimension of dissipation rate must be the same, so I calculate for both epsilonSGS and epsilonRes as below;
1- epsilonSGS = Ce*pow(k,3/2)/delta====>[Ce]*[k^3/2]/[delta]====>[1]*[m3s(-3)]/[m]====>m2s(-3)

2- epsilonRes = nu * (gradU && gradU)====>[m2s(-1)]*[?????]=== I calculate "gradU && gradU" in OpenFoam and dimension was s(-2), so we have [m2s(-1)]*[s(-2)]=m2s(-3).

basically epsilonSGS and epsilonRes has the same dimension m2s(-3) which is the same as tke rate m2s(-3). From this I think I have calculated the [?????] correctly. Am I correct?


You use UPrime to calculate epsilonRes, but from equation 14 in this paper [1], it appears this would give you epsilonSGS. Instead, based on [1], you should use epsilonRes_ij = nu * (gradU & gradU). Then you can probably get it as a scalar as you appear to have it by taking the trace?
I have also seen epsilonRes been calculated as epsilonRes = dkRes/dt [2].



[1] Wacławczyk, M., Pozorski, J. and Minier, J.P., 2004. Probability density function computation of turbulent flows with a new near-wall model. Physics of Fluids, 16(5), pp.1410-1422.
[2] Jayaram, R., Jie, Y., Zhao, L. and Andersson, H.I., 2020. Clustering of inertial spheres in evolving Taylor–Green vortex flow. Physics of Fluids, 32(4), p.043306.


All times are GMT -4. The time now is 05:35.