Tøyning er en representasjon av deformasjon. For små tøyninger bruker vi ingeniørtøyninger på følgende form i et koordinatsystem x,y og z
εx=dudxεy=dvdyεz=dwdzγxy=dudy+dvdxγxz=dudz+dwdxγyz=dvdz+dwdyhvor u,v og w er forskyvinger i x,y og z retning.
Eksempel: Tøyning i x-y-planet som illustrert i figuren under:
εx=dudx=ΔXX0=X−X0X0 εy=dvdy=ΔYY0=Y−Y0Y0 γxy=dudy+dvdx=aY0+0X0=abMerk at for en liten vinkel er
ab=tan(γxy)≈γxyFor store tøyninger er det hensiktsmessig å bruke logaritmisk tøyning, eller sann tøyning, noe vi kun kommer til å bruke i en dimensjon:
Fra ligning (1) med kun normaltøyning i x-retning kan vi utrykke ingeniørtøyning som
εx=dudx⇒ε=X−X0X0=L−L0L0=dLL0Logaritmisk (eller sann) tøyning av tilsvarende tilstand er
εsann=ln(LL0)Sammenhengen mellom sann tøyning og ingeniørtøyning er:
εsann=ln(LL0)=ln(L0+dLL0)=ln(1+ε)For små tøyninger er det minimal forskjell mellom ingeniørtøyning og sann tøyning:
from math import log
print('Ingeniørtøyning Sann tøyning')
for ing_toyning in [0.0001,0.001,0.01, 0.1, 1]:
print(' {:.5f} {:.5f}'.format(ing_toyning, log(ing_toyning+1) ))
Tøyning ved elastisk grense for eksempelvis vanlig konstruksjonsstål er rundt 0.002, som betyr at det er absolutt ingen signifikant forskjell mellom ingeniørtøyning og sann tøyning i det elastiske området i dette tilfellet.
Grafiske eksempler for ingeniørtøyning i x-y planet:
import numpy
import matplotlib.pyplot as plt
%matplotlib inline
def illustrerToyning(ex,ey,exy,skalering):
x=numpy.array([-0.5,0.5,0.5,-0.5,-0.5])
y=numpy.array([-0.5,-0.5,0.5,0.5,-0.5])
ux=(ex*x+0.5*exy*y)*skalering
uy=(ey*y+0.5*exy*x)*skalering
xd=x+ux
yd=y+uy
fig,ax=plt.subplots(figsize=(4,4))
ax.set_xlim(-1,1)
ax.set_ylim(-1,1)
ax.set_axis_off()
ax.set_title('Skaleringsfaktor='+str(skalering))
text=r'$\varepsilon_x=$'+str(ex)+'\n'+r'$\varepsilon_y=$'+str(ey)+'\n'+r'$\gamma_{xy}=$'+str(exy)
ax.text(0,0,text, ha='center',va='center')
ax.plot(x,y,'--',color='lightgreen')
ax.plot(xd,yd,'-',color='darkgreen')
ax.arrow(-0.9, -0.9, 1.0, 0.0, head_width=0.05, head_length=0.05, fc='black', ec='black')
ax.arrow(-0.9, -0.9, 0.0, 1.0, head_width=0.05, head_length=0.05, fc='black', ec='black')
ax.text(0.2,-0.9,'x')
ax.text(-0.9,0.2,'y')
illustrerToyning( ex=0.005, ey=-0.002, exy=0, skalering=100)
illustrerToyning( ex=0.0, ey=0.0, exy=0.01, skalering=100)
illustrerToyning( ex=0.003, ey=0.0, exy=0.003, skalering=100)