CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums

divDevRhoReff and divDevReff

Register Blogs Community New Posts Updated Threads Search

Rate this Entry

divDevRhoReff and divDevReff

Posted January 6, 2017 at 07:12 by kindle
Updated February 23, 2017 at 04:02 by kindle

There is a post of Tobi's eq-code explanation on viscous stress.

In incompressible flow, beside normal stress (taken out as p*I), the viscous part is only a function of deviate part of grad(U) (or its transpose).

In "SymmTensorI.H"
there are tow functions for deviate part of a tensor as explained by Tobi : dev and dev2

320 //- Return the deviatoric part of a symmetric tensor
321 template<class Cmpt>
322 inline SymmTensor<Cmpt> dev(const SymmTensor<Cmpt>& st)
323 {
324 return st - SphericalTensor<Cmpt>:: oneThirdI*tr(st);
325 }
326
327
328 //- Return the deviatoric part of a symmetric tensor
329 template<class Cmpt>
330 inline SymmTensor<Cmpt> dev2(const SymmTensor<Cmpt>& st)
331 {
332 return st - SphericalTensor<Cmpt>::twoThirdsI*tr(st);
333 }

Quote:
Originally Posted by jposunz View Post
Hi All,

I'm using simpleFoam and turbFoam with k-epsilon and will be trying different turbulence models in the future. Before that though, I'm trying to understand the implementation exactly.

I've searched a lot and I don't understand why the calculation for turbulence->divDevReff(U) is:

divDevReff(U) =
- fvm::laplacian(nuEff(), U)
- fvc::div(nuEff()*dev(fvc::grad(U)().T()))

instead of:

divDevReff(U) =
- fvm::laplacian(nuEff(), U)
- fvc::div(nuEff()*fvc::grad(U)().T())

ie. why do we take the deviatoric?

I've read several papers including Hrvoje's "A tensorial approach to computational continuum mechanics using object-oriented techniques" and still haven't found an answer.

Is there another paper that explains the implementation?

Thanks very much
John
Posted in programming
Views 1838 Comments 0 Edit Tags Email Blog Entry
« Prev     Main     Next »
Total Comments 0

Comments

 

All times are GMT -4. The time now is 16:50.