How to convert stress power (tensor) in Navier stokes into scaler heat source

3 months ago by
Dear all,

I am  trying to solve the fluid and heat for bearing, where viscous heating should not be ignored in heat transfer.
The stress tensor is        T = viscosity*(grad(u) + grad(u).T) - p*Identity(dimension)

In old Fenids Q&A, I found a post say  stress power :  inner(T, grad(u)), but how can I use it as a scaler source term?

viscous_heat =  inner(T, grad(u))    # result is a tensor type,  stress power: 

 viscous_heat * Tq * dx           # here Tq is CG1 test function for heat transfer,   it does not work, since can not multiply tensor with scaler Tq

# can I sum all i,j 9 components to a scaler as source item in heat transfer?   ​

Otherwise, I should use    dot(T, u),  it is viscous heating flux,    if used on boundary?

In math, it seems:   dot(T, u) * dS  == inner(T, grad(u)) * dx   for each cell?

Community: FEniCS Project

1 Answer

3 months ago by
Viscous heating (for an incompressible material) is given by

Q = \dot{\epsilon}_{ij} \tau_{ij} = \dot{\epsilon} : \tau = \mathrm{tr}\left( \dot{\epsilon} \cdot \tau \right) = 2 \mu \mathrm{tr} ( \dot{\epsilon} \cdot \dot{\epsilon} )
with symmetric part of the strain-rate tensor \(\dot{\epsilon}\), viscosity \( \mu \) and deviatoric stress tensor \(\tau\).  It can be stated as a FEniCS form via
# velocity `u` and viscosity `mu` :
epsdot  = 0.5 * (grad(u) + grad(u).T) # strain-rate
tau     = 2.0 * mu * epsdot           # dev. str.
sigma   = tau - p*Identity(3)         # Cauchy str.

Q       = inner(epsdot, tau)​
Q_also  = tr(dot(epsdot, tau))
Q_again = 2 * mu * tr(dot(epsdot, epsdot))
Thank you very much.
Test pass for all three Q,  Q_again is used, it seems has the least calculation demand.

Q is not a scaler, I do not understand why there is no need tr() for inner(epsdot, tau), it is a type of  <class 'ufl.tensoralgebra.Inner'>

In my question,  pressure should not be used to calc shearing viscous heating, in my in-compressible case.
that may be the reason, tau is used, instead of sigma. I am not sure if there is any heating due to compressivity, there is volume viscosity, potentially generate heat in acoustics.

In solid, there is also shear strain energy (will not convert to heat),  0.5* inner(sigma,epsilon)

In linear algebra, the trace of an n-by-n square matrix A is defined to be the sum of the elements on the main diagonal (the diagonal from the upper left to the lower right) of A, i.e.,   A11+A22+A33
written 3 months ago by Qingfeng Xia  
\(Q\) is a scalar.  The inner product of two tensors is a scalar, as is the trace of a tensor; note that we take the trace of a matrix-matrix product.

There should be no efficiency gain between forms, they should be identical.
written 3 months ago by pf4d  
Included in \(Q\) is your "shear strain energy"; you can think of viscosity as a measure of interior friction.  This is why it is called the shearing or molecular viscosity.
written 3 months ago by pf4d  
Pressure \(p\) is not included for incompressible materials due to the fact that
  \mathrm{tr} ( p I \cdot \dot{\epsilon} ) = p \mathrm{tr} ( I \cdot \dot{\epsilon} ) = \mathrm{tr}(\mathrm{diag}(\dot{\epsilon})) = 0.
If you were dealing with a compressible fluid, then yes, you'll use \(\sigma\) instead of \(\tau\) within the form for \(Q\).  The form you used in your original question was specified without pressure \(p\), so I just assumed.
written 3 months ago by pf4d  
Please login to add an answer/comment or follow this question.

Similar posts:
Search »