# Vergleichsspannung

 $$\mathbf{u}(x_1,x_2,x_3)= \begin{pmatrix}u_1(x_1,x_2,x_3)\\u_2(x_1,x_2,x_3)\\u_3(x_1,x_2,x_3) \end{pmatrix}$$
 
 $$\mathbf{E} = \frac{1}{2}\left(\nabla \mathbf{u}+(\nabla \mathbf{u})^T\right)$$
 
 $$\mathbf{\Sigma}  =2\mu \mathbf{E}+\lambda \text{tr}(\mathbf{E})\mathbf{I} $$

S. 182 in [Issler et. al, 2003].

$$\mathbf{\Sigma}  =\begin{pmatrix}\sigma_{11}&&\sigma_{12}&&\sigma_{13}\\
                                   \sigma_{21}&&\sigma_{22}&&\sigma_{23}\\
                                   \sigma_{31}&&\sigma_{31}&&\sigma_{33} 
                                 \end{pmatrix} $$

Wie bekommxt man an einer Stelle $\mathbf{x}\in\mathbb{R}^3$ einen Spannungswert, den man farbcodieren und mit anderen Spannungswerten (z.B. Streckgrenze) vergleichen kann? Z.B. durch die von Mises Vergleichsspannung:

$$\sigma_{v}=\frac{1}{\sqrt{2}}\sqrt{(\sigma_{11}-\sigma_{22})^2+(\sigma_{22}-\sigma_{33})^2+(\sigma_{33}-\sigma_{11})^2+6\cdot(\sigma_{12}^2+\sigma_{23}^2+\sigma_{31}^2)}$$

Sind die Hauptspannungen $\sigma_{I},\sigma_{II},\sigma_{III}$ bekannt, dann ist die von Mises Vergleichsspannung:

$$\sigma_{v}=\frac{1}{\sqrt{2}}\sqrt{(\sigma_{I}-\sigma_{II})^2+(\sigma_{II}-\sigma_{III})^2+(\sigma_{III}-\sigma_{I})^2}$$.

Die die Hauptspannungen $\sigma_{I},\sigma_{II},\sigma_{III}$ sind die Eigenwerte der Spannungsmatrix.

Im Folgenden ein Beispiel. Auf der Seite [sympy live](https://live.sympy.org/) können Sie die Eigenwerte von Matrizen symbolsich berechnen.


```python
from sympy import *
import numpy as np
from numpy import sqrt
from matplotlib import pylab as plt
import plotly.express as px
import plotly.graph_objects as go
```


```python
Sigma=Matrix(([20,0,0],[0,30,40],[0,40,-30]))
Sigma
```




$\displaystyle \left[\begin{matrix}20 & 0 & 0\\0 & 30 & 40\\0 & 40 & -30\end{matrix}\right]$




```python
Sigma.eigenvals()
```




    {20: 1, -50: 1, 50: 1}




```python
sigmaI=20
sigmaII=-50 
sigmaIII=50 
```


```python
summe=(sigmaI-sigmaII)**2+(sigmaII-sigmaIII)**2+(sigmaIII-sigmaI)**2
sigma_v=(1/np.sqrt(2.))*np.sqrt(summe)
```


```python
sigma_v
```




    88.88194417315589




```python
Spannung=Matrix(([-30,0,-60  ],[0,30,-60],[-60,-60,0]))
```


```python
Spannung
```




$\displaystyle \left[\begin{matrix}-30 & 0 & -60\\0 & 30 & -60\\-60 & -60 & 0\end{matrix}\right]$




```python
Spannung.eigenvals()
```




    {-90: 1, 90: 1, 0: 1}




```python
sigmaI=-90
sigmaII=0
sigmaIII=90
```


```python
summe=(sigmaI-sigmaII)**2+(sigmaII-sigmaIII)**2+(sigmaIII-sigmaI)**2
sigma_v=(1/np.sqrt(2.))*np.sqrt(summe)
sigma_v
```




    155.88457268119893




```python
Spannung2=Matrix(([20,40,-20  ],[40,20,-20],[-20,-20,-10]))
Spannung2
```




$\displaystyle \left[\begin{matrix}20 & 40 & -20\\40 & 20 & -20\\-20 & -20 & -10\end{matrix}\right]$




```python
Spannung2.eigenvals()
```




    {70: 1, -20: 2}




```python
sigmaI=70
sigmaII=-20
sigmaIII=-20

summe=(sigmaI-sigmaII)**2+(sigmaII-sigmaIII)**2+(sigmaIII-sigmaI)**2
sigma_v=(1/np.sqrt(2.))*np.sqrt(summe)
sigma_v
```




    90.0




```python
Spannung3=Matrix(([2,5,3  ],[5,1,4],[3,4,3]))

Spannung3
```




$\displaystyle \left[\begin{matrix}2 & 5 & 3\\5 & 1 & 4\\3 & 4 & 3\end{matrix}\right]$




```python
Spannung3.eigenvals()
```




    {10: 1, -2 - sqrt(3): 1, -2 + sqrt(3): 1}




```python
list(Spannung3.eigenvals())
```




    [10, -2 - sqrt(3), -2 + sqrt(3)]




```python
Spannung3.charpoly()
```




$\displaystyle \operatorname{PurePoly}{\left( \lambda^{3} - 6 \lambda^{2} - 39 \lambda - 10, \lambda, domain=\mathbb{Z} \right)}$




```python
sigmaI=10
sigmaII=-2 - np.sqrt(3)
sigmaIII= -2 + np.sqrt(3)

summe=(sigmaI-sigmaII)**2+(sigmaII-sigmaIII)**2+(sigmaIII-sigmaI)**2
sigma_v=(1/np.sqrt(2.))*np.sqrt(summe)
sigma_v
```




    12.369316876852979




```python
lamda = symbols('lamda')
```


```python
Spannung3.charpoly(lamda).as_expr()
```




$\displaystyle \lambda^{3} - 6 \lambda^{2} - 39 \lambda - 10$




```python
poly = lambdify(lamda, Spannung3.charpoly(lamda).as_expr())
```


```python
#plt.plot(np.linspace(-15, 15), poly(np.linspace(-15, 15)))
fig=px.line(x=np.linspace(-15, 15),y=poly(np.linspace(-15, 15)))
fig.add_trace(go.Scatter(x=np.asfarray(list(Spannung3.eigenvals())), 
                         y=poly(np.asfarray(list(Spannung3.eigenvals()))),
                         mode='markers',))
fig.show()
```


```python
poly(10)
```


```python
factor(Spannung3.charpoly(lamda).as_expr())
```


```python
np.asfarray(list(Spannung3.eigenvals()))
```


```python
poly(np.asfarray(list(Spannung3.eigenvals())))
```


```python
poly(1)
```


```python

```

62690cb0a1738c98acb33ddad225785447e8dd92
ipynb
Jupyter Notebook
06_Vergleichsspannung.ipynb
zolabar/FEM
d2c359c4bfd635af6e0e4a57aa104a0b869c252e
MIT
2022-03-11T01:27:03.000Z
2022-03-11T01:27:03.000Z
06_Vergleichsspannung.ipynb
zolabar/FEM
d2c359c4bfd635af6e0e4a57aa104a0b869c252e
MIT
06_Vergleichsspannung.ipynb
zolabar/FEM
d2c359c4bfd635af6e0e4a57aa104a0b869c252e
MIT
Qwen/Qwen-72B
1. YES
2. YES