Gradient of a tensor in cylindrical coordinates

Click For Summary
SUMMARY

The discussion focuses on computing the gradient of a tensor in cylindrical coordinates, specifically addressing discrepancies between the user's calculations and results from Wikipedia. The user employs the formula for the gradient of a tensor, \nabla S = \left[ \frac{\partial S_{ij}}{\partial \xi^k} - \Gamma^l_{ki} S_{lj}-\Gamma^l_{kj}S_{il}\right] g^i \otimes g^j \otimes g^k, but encounters differences in terms involving the Christoffel symbols. The confusion arises from the interpretation of covariant and contravariant tensors, as well as the proper application of index raising. Ultimately, a calculation mistake related to the Christoffel symbols is identified as the source of the discrepancies.

PREREQUISITES
  • Understanding of tensor calculus, particularly in cylindrical coordinates.
  • Familiarity with Christoffel symbols and their role in tensor gradients.
  • Knowledge of covariant and contravariant tensor transformations.
  • Proficiency in using mathematical notation for tensors and gradients.
NEXT STEPS
  • Study the derivation and application of the gradient of a tensor in cylindrical coordinates.
  • Learn about the differences between covariant and contravariant tensors, focusing on index raising and lowering.
  • Explore the implications of Christoffel symbols in tensor calculus, particularly in curvilinear coordinates.
  • Review examples of tensor gradients from reputable sources, such as Wikipedia and MathWorld.
USEFUL FOR

Mathematicians, physicists, and engineers working with tensor calculus, particularly those dealing with stress tensors in cylindrical coordinates.

hanson
Messages
312
Reaction score
0
Hi all, I have been struggling (really) with this and hope someone can help me out.

I would just like to compute the gradient of a tensor in cylindrical coordinates.
I thought I got the right way to calculate and successfully computed several terms and check against the results given by wikipedia (see attached images).
However, there are some terms I computer are different from what's given in wikipedia.

For example the following term:
\nabla S = ... +\frac{1}{r}\left[ \frac{\partial S_{\theta z}}{\partial \theta} + S_{rz}\right] e_{\theta} \otimes e_{z} \otimes e_{\theta}+...

The formula I use is the following
\nabla S = \left[ \frac{\partial S_{ij}}{\partial \xi^k} - \Gamma^l_{ki} S_{lj}-\Gamma^l_{kj}S_{il}\right] g^i \otimes g^j \otimes g^k<br />

Denoting 1:r, \ 2:\theta, 3:z, I know that
<br /> S_{11} = S_{rr}, \ S_{12} = r S_{r \theta}, \ S_{13} = S_{rz} <br />
<br /> S_{21} = r S_{\theta r}, \ S_{22} = r^2 S_{\theta \theta}, \ S_{23} = r S_{\theta z} <br />
<br /> S_{31} = S_{z r}, \ S_{32} = r S_{z \theta}, \ S_{33} = S_{z z} <br />

And
<br /> g^1 = e_r, \ g^2 =\frac{1}{r} e_{\theta}, \ g^3 = e_{z}<br />

And the non-zeros Christoffel symbols are:
<br /> \Gamma^2_{12} = \frac{1}{r}, \ \Gamma^1_{22} = -r<br />

Then, using the definition above, I naively think that the term I mentioned above in the very beginning will be computed as
<br /> \begin{align}<br /> (\nabla S)_{232} &amp;= \left( \frac{\partial S_{23}}{\partial \xi^2}-\Gamma^1_{23} S_{13}-\Gamma^2_{23} S_{23}-\Gamma^3_{23} S_{33}-\Gamma^1_{22} S_{21}-\Gamma^2_{22} S_{22}-\Gamma^3_{22} S_{23} \right) g^2 \otimes g^3 \otimes g^2<br /> \\<br /> &amp;= \left[ \frac{r S_{\theta z}}{\partial \theta} +r (r S_{\theta r}) \right] \frac{1}{r^2} e_{\theta} \otimes e_{z} \otimes e_{\theta} \\<br /> &amp;= \frac{1}{r} \left( \frac{\partial S_{\theta z}}{\partial \theta} + r S_{\theta r} \right) e_\theta \otimes e_z \otimes e_\theta<br /> \end{align} <br />

which is clearly different from what wikipedia says. I don't understand how S_{rz} could possibly remain because it is multiplied by a zero Chirstoffel symbol...
I have been using this approach to successfully calculate many other terms, but it worked. I do not understand why it doesn't work in these terms.

If I turn to another formula for the gradient of a tensor
<br /> \nabla S = \left( \frac{\partial S^{ij}}{\partial z^k} + S^{lj}\Gamma^i_{lk}+S^{il}\Gamma^j_{lk} \right) g_i \otimes g_j \otimes g^k<br />
it seems that this might work because after expansion,
S_{rz}
is multiplied by \Gamma^2_{12}, which is non-zero.

I am very confused about this. What the problem with my first approach?
Can someone help me out? Thanks.
 

Attachments

  • formula.png
    formula.png
    7.4 KB · Views: 763
  • gradTensor.png
    gradTensor.png
    41.7 KB · Views: 973
Last edited:
Physics news on Phys.org
I didn't see any obvious mistakes, but I'm not sure of the nature of your tensor field, and I suspect that could be the problem.

S^{ij} transforms differently from S_{ij}, one is covariant in both indices, and one is contravariant in both indices.

Without knowing more about the details of your problem, I can't tell whether S is supposed to be covariant or contravariant.

For rank 1 tensors, \frac{\partial}{\partial r} would be contravariant, aka a "vector", while dr would be covariant, a map from a vector to a scalar (Sometimes dr could be considered just a scalar, a number, rather than a tensor. The difference is in the domain, if it's just a number it doesn't operate on anything, if it's a tensor it still returns a number, but it returns a number when it's given a vector as input)

For rank 2 tensors, if you're returning a number given two vectors, the tensor is covariant, written with lower indices, S_{ij}, just as the tensor v_{i}, a synonym for d x_{i} returns a number given one vector.

[add]
Another possible issue is the interpretation of 'gradient'. I was thinking \nabla_{a}, which is what you computed in step one, but it's possible you are actually looking for \nabla^{a}. Again, it's the whole co-contravariant thing.

A gradient usually has a vector value, you might just need to raise the index of what you computed. This would be done by multiplying by g^{ab}, i.e

<br /> \nabla^{a} S_{ij} = g^{ab} \nabla_{b} S_{ij}<br />

where summation over the repeated index (b in this case) is implied
 
Last edited:
pervect said:
I didn't see any obvious mistakes, but I'm not sure of the nature of your tensor field, and I suspect that could be the problem.

S^{ij} transforms differently from S_{ij}, one is covariant in both indices, and one is contravariant in both indices.

Without knowing more about the details of your problem, I can't tell whether S is supposed to be covariant or contravariant.

For rank 1 tensors, \frac{\partial}{\partial r} would be contravariant, aka a "vector", while dr would be covariant, a map from a vector to a scalar (Sometimes dr could be considered just a scalar, a number, rather than a tensor. The difference is in the domain, if it's just a number it doesn't operate on anything, if it's a tensor it still returns a number, but it returns a number when it's given a vector as input)

For rank 2 tensors, if you're returning a number given two vectors, the tensor is covariant, written with lower indices, S_{ij}, just as the tensor v_{i}, a synonym for d x_{i} returns a number given one vector.

[add]
Another possible issue is the interpretation of 'gradient'. I was thinking \nabla_{a}, but it's possible you are actually looking for \nabla^{a}. Again, it's the whole co-contravariant thing...

How about if S is the stress tensor, and I would like to find the gradient of the stress tensor, which is a third order tensor in cylindrical coordinates?

I am calculating according to the definition of the gradient of a tensor given up, which is the same definition wikipedia used...
I am not sure why they could be different... :(
 
Last edited:
If we assume that S_ij is actually covariant, as you wrote it, I'd think that the gradient would be \nabla^a S_{ij}. Which is pretty much what the wiki seems to say, and it suggests that you omitted to raise the index in your calculations.

See for instance http://mathworld.wolfram.com/IndexRaising.html as to how to raise an index.

At least that's my best guess at this point, I'm afraid I don't have the time to dig into this really thoroughly at the moment, and I'm "shooting from the hip" a bit. Maybe someone else can help you.
 
A friend of mine spotted a calculation mistake...
Somehow I read \Gamma^l_{ki} as \Gamma^l_{kj}...
and
\Gamma^l_{kj} as \Gamma^l_{ki}.
I don't know why I didn't make this mistake for the previous terms but only for this term, and couldn't spot it...stupid mistake.

Anyway, thank you for your help.
 

Similar threads

  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 21 ·
Replies
21
Views
2K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 3 ·
Replies
3
Views
539
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 26 ·
Replies
26
Views
2K