Spenning

Spenning er, i enkleste form, definert som kraft per areal, altså:

\begin{equation} \text{spenning}=\frac{F}{A} \tag{1} \end{equation}

Vi skiller mellom normalspenninger der kraften $F_s$ står normalt på planet

\begin{equation} \sigma=\frac{F_N}{A_0} \tag{2} \end{equation}

og skjærspenninger der kraften $F_S$ er parallell med planet

\begin{equation} \tau=\frac{F_S}{A_0} \tag{3} \end{equation}

Spenning evaluert som kraft per. udeformert areal ($A_0$), kalles nominell spenning eller ingeniørspenning.

Spenning evaluert som kraft per. deformert areal ($A$) kalles sann spenning.

Sann spenning blir først relevant for store deformasjoner når vi enten har plastisk deformasjon eller betrakter materialer som tillater store elastiske tøyninger (i praksis: gummi).

image-6.png

I et koordinatsystem x-y-z kan et kontinuum være utsatt for 6 spenningskomponenter bestående av 3 normalspenninger 3 skjærspenninger:

$$\sigma_x \\ \sigma_y \\ \sigma_z \\ \tau_{xy} \\ \tau_{xz} \\ \tau_{yz}$$

Rotasjon av spenninger er særlig relevant for å forklare plastisk oppførsel, krystallplastisitet og utløst skjærspenning senere i emnet.

Vi skal begrense temaet til plan spenningstilstand der $\sigma_z = \tau_{xz} = \tau_{yz} = 0$ og rotasjon av spenninger om $z$-aksen som illustrert i følgende figur:

image-4.png

Koordinatsystemet $1$-$2$-$3$ er rotert med en vinkel $\theta$ om $z$-aksen. Spenninger i det roterte koordinatsystemet finner vi ved:

$$\sigma_1 = c^2 \sigma_x + s^2 \sigma_y +2cs \tau_{xy}$$$$\sigma_2 = s^2 \sigma_x + c^2 \sigma_y -2cs \tau_{xy}$$$$\tau_{12} =-cs \sigma_x + cs \sigma_y +( c^2 -s^2 )\tau_{xy}$$

hvor

$$c = \text{cos}(\theta), \quad s = \text{sin}(\theta)$$

Alternativt, ordne settet av ligninger ved hjelp av matriser:

$$\begin{bmatrix} \sigma_1 \\ \sigma_2 \\ \tau_{12} \end{bmatrix} = \begin{bmatrix} c^2 & s^2 & 2cs \\ s^2 & c^2 & -2cs \\ -cs & cs & c^2-s^2 \end{bmatrix} \begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix}$$

Lager så en nyttig funksjon for denne rotasjonen:

In [1]:
import numpy as np
def roterSpenning(spenning, vinkel):
    a=np.radians(vinkel)
    c=np.cos(a)
    s=np.sin(a)
    T=np.array([[c**2,   s**2,      2*c*s],
                [s**2,   c**2,     -2*c*s],
                [-c*s,    c*s,  c**2-s**2]])
    return T @ spenning

Eksempel-1

Roter følgende spenningstilstand 45 grader om z-aksen:

$$\begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix} = \begin{bmatrix} 100 \\ 0 \\ 0 \end{bmatrix}$$
In [2]:
rotert_spenning = roterSpenning([100,0,0],45)
print(rotert_spenning)
[ 50.  50. -50.]

Eksempel-2

Roter følgende spenningstilstand 45 grader om z-aksen:

$$\begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 100 \end{bmatrix}$$
In [3]:
rotert_spenning = roterSpenning([0,0,100],45)
print(rotert_spenning)
[ 100. -100.    0.]

Eksempel-3

Roter følgende spenningstilstand fra 0 til 90 grader om z-aksen og plot $\sigma_1$, $\sigma_2$ og $\tau_{12}$ som funksjon av $\theta$:

$$\begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix} = \begin{bmatrix} 100 \\ 0 \\ 0 \end{bmatrix}$$
In [4]:
import matplotlib.pyplot as plt
%matplotlib inline

sigma_1=[]
sigma_2=[]
tau_12=[]
for a in range(0,91):
    spenninger = roterSpenning([100,0,0],a)
    sigma_1.append(spenninger[0])
    sigma_2.append(spenninger[1])
    tau_12.append(spenninger[2])
    
plt.subplots(figsize=(8,3))
plt.plot(range(0,91),sigma_1, label = 'sigma_1')
plt.plot(range(0,91),sigma_2, label = 'sigma_2')
plt.plot(range(0,91),tau_12, label='tau_12')
plt.xlim(0,90)
plt.legend()
plt.grid()
    

Eksempel-4

Roter følgende spenningstilstand fra 0 til 90 grader om z-aksen og plot $\sigma_1$, $\sigma_2$ og $\tau_{12}$ som funksjon av $\theta$:

$$\begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix} = \begin{bmatrix} 99 \\ 101 \\ 0 \end{bmatrix}$$
In [5]:
sigma_1=[]
sigma_2=[]
tau_12=[]
for a in range(0,91):
    spenninger = roterSpenning([99,101,0],a)
    sigma_1.append(spenninger[0])
    sigma_2.append(spenninger[1])
    tau_12.append(spenninger[2])
    
plt.subplots(figsize=(8,3))
plt.plot(range(0,91),sigma_1, label = 'sigma_1')
plt.plot(range(0,91),sigma_2, label = 'sigma_2')
plt.plot(range(0,91),tau_12, label='tau_12')
plt.xlim(0,90)
plt.legend()
plt.grid()

Eksempel-5

Roter følgende spenningstilstand fra 0 til 90 grader om z-aksen og plot $\sigma_1$, $\sigma_2$ og $\tau_{12}$ som funksjon av $\theta$ og bestem hvilken rotasjon som fører til null skjærspenning, og dermed hva de prinsipielle spenningene (maks og min normalspenninger) er:

$$\begin{bmatrix} \sigma_x \\ \sigma_y \\ \tau_{xy} \end{bmatrix} = \begin{bmatrix} 84 \\ -22 \\ 41 \end{bmatrix}$$
In [6]:
sigma_1=[]
sigma_2=[]
tau_12=[]
for a in range(0,91):
    spenninger = roterSpenning([84,-22,41],a)
    sigma_1.append(spenninger[0])
    sigma_2.append(spenninger[1])
    tau_12.append(spenninger[2])
    
plt.subplots(figsize=(8,8))
plt.plot(range(0,91),sigma_1, label = 'sigma_1')
plt.plot(range(0,91),sigma_2, label = 'sigma_2')
plt.plot(range(0,91),tau_12, label='tau_12')
plt.xlim(0,90)
plt.legend()
plt.minorticks_on()
plt.grid(which='both')
plt.ylim(-70,100)
Out[6]:
(-70.0, 100.0)
Diskusjon av resultater og flere interessante observasjoner angående spenninger, rotasjon og betydning for forståelsen av materialer, kommer på forelesninger

Disclaimer:This site is designed for educational purposes only. There are most likely errors, mistakes, typos, and poorly crafted statements that are not detected yet... www.ntnu.edu/employees/nils.p.vedvik

Copyright 2023, All rights reserved