Gradient of a tensor in cylindrical coordinates

In summary, the author is trying to compute the gradient of a tensor in cylindrical coordinates, but is having difficulty understanding why some terms computed differently from what is given in Wikipedia. He tries a different formula and this appears to work, but he is still confused about why it doesn't work for one term.
  • #1
hanson
319
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:
[tex] \nabla S = ... +\frac{1}{r}\left[ \frac{\partial S_{\theta z}}{\partial \theta} + S_{rz}\right] e_{\theta} \otimes e_{z} \otimes e_{\theta}+... [/tex]

The formula I use is the following
[tex] \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
[/tex]

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

And
[tex]
g^1 = e_r, \ g^2 =\frac{1}{r} e_{\theta}, \ g^3 = e_{z}
[/tex]

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

Then, using the definition above, I naively think that the term I mentioned above in the very beginning will be computed as
[tex]
\begin{align}
(\nabla S)_{232} &= \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
\\
&= \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} \\
&= \frac{1}{r} \left( \frac{\partial S_{\theta z}}{\partial \theta} + r S_{\theta r} \right) e_\theta \otimes e_z \otimes e_\theta
\end{align}
[/tex]

which is clearly different from what wikipedia says. I don't understand how [tex]S_{rz}[/tex] 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
[tex]
\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
[/tex]
it seems that this might work because after expansion,
[tex]S_{rz}[/tex]
is multiplied by [tex]\Gamma^2_{12}[/tex], 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: 691
  • gradTensor.png
    gradTensor.png
    41.7 KB · Views: 926
Last edited:
Physics news on Phys.org
  • #2
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.

[itex]S^{ij}[/itex] transforms differently from [itex]S_{ij}[/itex], 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, [itex]\frac{\partial}{\partial r}[/itex] 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 [itex]v_{i}[/itex], a synonym for [itex]d x_{i}[/itex] returns a number given one vector.

[add]
Another possible issue is the interpretation of 'gradient'. I was thinking [itex]\nabla_{a}[/itex], which is what you computed in step one, but it's possible you are actually looking for [itex]\nabla^{a}[/itex]. 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 [itex]g^{ab}[/itex], i.e

[tex]
\nabla^{a} S_{ij} = g^{ab} \nabla_{b} S_{ij}
[/tex]

where summation over the repeated index (b in this case) is implied
 
Last edited:
  • #3
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.

[itex]S^{ij}[/itex] transforms differently from [itex]S_{ij}[/itex], 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, [itex]\frac{\partial}{\partial r}[/itex] 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 [itex]v_{i}[/itex], a synonym for [itex]d x_{i}[/itex] returns a number given one vector.

[add]
Another possible issue is the interpretation of 'gradient'. I was thinking [itex]\nabla_{a}[/itex], but it's possible you are actually looking for [itex]\nabla^{a}[/itex]. 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:
  • #5
If we assume that S_ij is actually covariant, as you wrote it, I'd think that the gradient would be [itex]\nabla^a S_{ij}[/itex]. 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.
 
  • #6
A friend of mine spotted a calculation mistake...
Somehow I read [tex]\Gamma^l_{ki}[/tex] as [tex]\Gamma^l_{kj}[/tex]...
and
[tex]\Gamma^l_{kj}[/tex] as [tex]\Gamma^l_{ki}[/tex].
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.
 

FAQ: Gradient of a tensor in cylindrical coordinates

What is the gradient of a tensor in cylindrical coordinates?

The gradient of a tensor in cylindrical coordinates is a mathematical concept that represents the rate of change of a tensor with respect to the cylindrical coordinates r, θ, and z. It is a vector that points in the direction of the steepest increase of the tensor and its magnitude represents the rate of change.

How is the gradient of a tensor calculated in cylindrical coordinates?

The gradient of a tensor in cylindrical coordinates is calculated using the partial derivative operator ∂/∂r, ∂/∂θ, and ∂/∂z. These operators are applied to the components of the tensor in cylindrical coordinates to obtain the components of the gradient vector.

What are the applications of the gradient of a tensor in cylindrical coordinates?

The gradient of a tensor in cylindrical coordinates has various applications in engineering, physics, and mathematics. It is used in the study of fluid mechanics, electromagnetics, and elasticity, among others. It is also important in the development of numerical methods for solving partial differential equations.

Can the gradient of a tensor in cylindrical coordinates be represented by a matrix?

No, the gradient of a tensor in cylindrical coordinates cannot be represented by a matrix. This is because the gradient is a vector quantity, while a matrix represents a linear transformation. However, the components of the gradient vector can be organized into a matrix called the Jacobian matrix.

How does the gradient of a tensor in cylindrical coordinates relate to the divergence and curl?

The gradient of a tensor in cylindrical coordinates is related to the divergence and curl through the vector calculus identity known as the gradient theorem. This theorem states that the curl of the gradient of a scalar function is always equal to zero, while the divergence of the gradient of a vector function is equal to the Laplacian of the function.

Similar threads

Replies
14
Views
1K
Replies
21
Views
2K
Replies
7
Views
2K
Replies
1
Views
2K
Replies
1
Views
888
Replies
16
Views
3K
Replies
1
Views
1K
Replies
11
Views
904
Back
Top