Ferrite-FEM / Ferrite-FEM/Tensors.jl
grad, div, curl defintions
- Dominant language
- Julia
- Stars
- 182
- Forks
- 40
- PR merge metrics
- No merged PRs in 30d
Description
In the literature, there are different definitions for divergence and curl for second order and higher tensor fields. With the introduction of 3rd order Tensors, #205, we need to define this clearly. This issue is to get an overview over different sources with the goal to make a decision for which definition should be used.
Let's denote a general second-order tensor as $\boldsymbol{S}$ for the discussion. Note that we always assume an orthonormal, right-handed Cartesian coordinate system.
Just comment below the additional definitions and references, and I'll try to keep the tables updated (ping me on Slack if I forget)
# Gradient
AFAIK, this is not problematic (~correct me if I'm wrong~ (see below and [5]). To my knowledge, there are just different notations (which can be confusing in itself), i.e.
```math
\begin{align*}
\mathrm{grad}(\boldsymbol{v}) &= \nabla \boldsymbol{v} = \boldsymbol{v} \otimes \nabla = \frac{\partial v_i}{x_j} \boldsymbol{e}_i\otimes\boldsymbol{e}_j \\
\mathrm{grad}(\boldsymbol{S}) &= \nabla \boldsymbol{S} = \boldsymbol{S} \otimes \nabla = \frac{\partial S_{ij}}{x_k} \boldsymbol{e}_i\otimes\boldsymbol{e}_j\otimes\boldsymbol{e}_k
\end{align*}
```
Reddy [5] does actually define the gradient as $\nabla \boldsymbol{v} = \nabla\otimes \boldsymbol{v} = \frac{\partial v_j}{x_i} \boldsymbol{e}_i\otimes\boldsymbol{e}_j$, which is the transpose. And even more, the derivative $\frac{\partial \boldsymbol{v}}{\boldsymbol{x}} = \frac{\partial v_j}{x_i} \boldsymbol{e}_i\otimes\boldsymbol{e}_j$ follows this 👀
# Divergence
| Tensor form | Index form | Sources | Comment |
| ----------- | ---------- | ------- | ------- |
| $\nabla \cdot \boldsymbol{S} $ | $d_i = \frac{\partial S_{ji}}{x_j}$ | [1], [5] (2.5.21) | |
| $\boldsymbol{S} \cdot \nabla $ | $d_i = \frac{\partial S_{ij}}{x_j}$ | [2] (2.134), [3] (2.3.11), [4] (2.112)| Common in mechanics? |
# Curl
Here it is important that our definition fulfills $\mathrm{grad}(\mathrm{curl}(\boldsymbol{S}))=\boldsymbol{0}$. There exist definitions in the literature that don't. As a precursor, we haven't defined the cross-product for 2nd-order tensors, so for the discussion, let's define the cross product with a vector $\boldsymbol{v}$ as
```math
\begin{align*}
\boldsymbol{S}\times\boldsymbol{v} &= S_{ij} v_k \boldsymbol{e}_i \otimes \boldsymbol{e}_j \times \boldsymbol{e}_k = S_{ij} v_k \boldsymbol{e}_i \otimes [\varepsilon_{jkm} \boldsymbol{e}_m] = S_{ij} v_k \varepsilon_{jkm} \boldsymbol{e}_i \otimes \boldsymbol{e}_m
\\
\boldsymbol{v}\times \boldsymbol{S} &= v_i S_{jk} \boldsymbol{e}_i \times \boldsymbol{e}_j \otimes \boldsymbol{e}_k = v_i S_{jk} [\varepsilon_{ijm} \boldsymbol{e}_m] \otimes \boldsymbol{e}_k = v_i S_{jk} \varepsilon_{ijm} \boldsymbol{e}_m \otimes \boldsymbol{e}_k
\end{align*}
```
| Tensor form | Index form | Sources | Comment |
| ----------- | ---------- | ------- | ------- |
| $- \boldsymbol{S} \times \nabla $ | $d_{ij} = \varepsilon_{opj}\frac{\partial S_{ip}}{x_o}$ | [3] (2.3.18) | |
| $\nabla \times \boldsymbol{S}$ | $d_{ij} = \varepsilon_{opi}\frac{\partial S_{jp}}{x_o}$ | [1] | From the definition of the cross-product, this should be $\nabla \times \boldsymbol{S}^\mathrm{T}$|
where $\varepsilon_{ijk}$ is the Levi-Civita symbol.
# Sources
[1] https://en.wikipedia.org/wiki/Tensor_derivative_(continuum_mechanics)
[2] [Bonet and Wood (2008)](https://www.cambridge.org/core/books/nonlinear-continuum-mechanics-for-finite-element-analysis/67AD6DBAAB77E755C09E7FB82565DA0B)
[3] [Rubin (2000)](https://doi.org/10.1007/978-94-015-9379-3_2)
[4] [Itskov (2015)](https://link.springer.com/book/10.1007/978-3-319-16342-0)
[5] Reddy (2008) (Reddy, J. N. (2008). An introduction to continuum mechanics: with applications. Cambridge University Press.)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.