Popis procesů probíhajících v blízkosti čela trhliny při jejím šíření materiálem je nad rámec použitlené teorie pružnosti a pevnosti. Avšak v případě, že tzv. disipační oblasti (procesní zóna, primární a příp. sekundární plastické zońy) jsou dostatečně malé vzhledem k délce trhliny, rozměrům tělesa a vzdálenosti čela trhliny od vnější hranice tělelesa (tzv. small scale yielnding), lze napětí před čelem trhliny s odpovídající přesností posat vztahy \begin{equation} \sigma_{ij}=\frac{K_I}{\sqrt{2\pi r}}f^I_{ij}(\varphi)+\frac{K_{II}}{\sqrt{2\pi r}}f^{II}_{ij}(\varphi)+\frac{K_{III}}{\sqrt{2\pi r}}f^{III}_{ij}(\varphi),\qquad \mathrm{pro}\quad i,j=r,\varphi,z \end{equation} kde $r$, $\varphi$ a $z$ jsou válcové souřadnice zavedené před čelem trhliny a \begin{eqnarray} &&f^I_{r} (\varphi)=\cos\frac{\varphi}{2}\left(1+\sin^{2}\frac{\varphi}{2}\right), \\ &&f^I_{\varphi}(\varphi)=\cos^{3}\frac{\varphi}{2}, \\ &&f^I_{r\varphi}(\varphi)=\sin\frac{\varphi}{2}\cos^2\frac{\varphi}{2}, \end{eqnarray}
\begin{eqnarray} &&f^{II}_r(\varphi)=\sin\frac{\varphi}{2}\left(1-3\sin^2\frac{\varphi}{2}\right), \\ &&f^{II}_{\varphi}(\varphi)=-3\sin\frac{\varphi}{2}\cos^2\frac{\varphi}{2}, \\ &&f^{II}_{r\varphi}(\varphi)=\cos\frac{\varphi}{2}\left(1-3\sin^2\frac{\varphi}{2}\right), \end{eqnarray}
\begin{eqnarray} &&f^{III}_{rz}(\varphi)=\sin\frac{\varphi}{2}, \\ &&f^{III}_{\varphi z}(\varphi)=-\cos\frac{\varphi}{2}. \end{eqnarray}
Veličiny $K_{I}$, $K_{II}$, $K_{III}$ jsou tzv. součinitele intenzity napětí zavedené Irwinem (1957, 1960) a vyjadřující intenzitu singularity napětí $r^{-\frac{1}{2}}$ před čelem trhliny. Lze je vyjádřit na základě vztahů
\begin{eqnarray} &&K_{I}=\lim_{r\rightarrow 0}\left[\sqrt{2\pi r}\sigma_{\varphi}(r,0)\right] \\ &&K_{II}=\lim_{r\rightarrow 0}\left[\sqrt{2\pi r}\tau_{r\varphi}(r,0)\right] \\ &&K_{III}=\lim_{r\rightarrow 0}\left[\sqrt{2\pi r}\tau_{\varphi z}(r,0)\right] \end{eqnarray}
Jejich vyjádření není zdaleka triviální záležitost, je nutné je vyjadřovat případ od případu. Pro pásová tělesa v různých módech zatěžování jsou uvedena ve skriptech. Pro náš případ se hodí následující:
\begin{equation} K_I=\sigma\sqrt{\pi a}f_1\left(\frac{a}{b}\right), \end{equation}
kde $b$ je poloviční šířka pásu, $a$ je poloviční délka trhliny a \begin{equation} \sigma=\frac{3}{2}\frac{M}{b^2}, \end{equation}
\begin{equation} f_1\left(\frac{a}{b}\right)=\frac{\frac{4}{3\pi}\left[1+\frac{1}{2}\frac{a}{b}+\frac{3}{8}\left(\frac{a}{b}\right)^2+\frac{5}{16}\left(\frac{a}{b}\right)^3\right]-0.47\left(\frac{a}{b}\right)^4+0.663\left(\frac{a}{b}\right)^5}{\sqrt{\left(1-\frac{a}{b}\right)^3}}. \end{equation}
Trhlina se šíří stabilně, jestliže
\begin{equation} K_I<K_{I\,C}, \end{equation}
kde $K_{I\,C}$, je lomová houževnatost v odpovídajícím módu zatěžování. Velikost plastické zóny před čelem trhliny lze hrubě odhadnout ze vztahu
\begin{equation} r_k=\frac{\alpha}{\pi}\left(\frac{K_I}{\sigma_k}\right)^2\lll a, \end{equation}
kde $\alpha=1$ pro rovinnou napjatost a $\alpha=\frac{1}{3}$ pro rovinnou deformaci a $\sigma_k$ je mez kluzu. Počet cyklů do lomu se určí ze vztahu
\begin{equation} N=\int_{a}^{a_c}\frac{\mathrm{d}a}{AK_a^{\beta}} \end{equation}
kde $A$, $K_a$ a $\beta$ jsou materiálové charakteristiky a
\begin{equation} a_c=\min\{a_c^1,a_c^2\}, \end{equation}
kde
\begin{equation} a_c^1=\frac{1}{\pi}\left(\frac{K_{I\,C}}{\sigma f_1\left(\frac{a}{b}\right)}\right)^2, \end{equation}
\begin{equation} a_c^2=b-\sqrt{\frac{3M}{2\sigma_{pt}}},\\ \end{equation}
kde $\sigma_{pt}$ je mez pevnosti materiálu a $b$ je opět poloviční výška příčného profilu průřezu prutu.
Příklad:¶
U součásti podle obrázku posuďte další chování trhliny a určete zbytkovou životnost:
$K_{IC}=70\,\mathrm{MPa}\,\mathrm{m}^{1/2}$
$\sigma_k=350\,\mathrm{MPa}$
$\sigma_{pt}=500\,\mathrm{MPa}$
$K_{APZ}=4.3\,\mathrm{MPa}\,\mathrm{m}^{1/2}$
$\beta=3$, $A=5\times10^{-12}\,\mathrm{m}/\mathrm{cyklus}$
$F_a=10\,\mathrm{kN}$ (střídavý cyklus)
$E=2.1\times10^5\,\mathrm{MPa}$
$R=350\,\mathrm{mm}$, $h=50\,\mathrm{mm}$, $b=15\,\mathrm{mm}$, $a=6\,\mathrm{mm}$
Nutné knihovny:
%matplotlib inline
import sympy as sp
import numpy as np
import matplotlib.pyplot as plt
from IPython.core.display import Image
from math import pi,sqrt
Image(filename='trhlina_v_zakrivenem_prutu.png',width=600)
Zavedení symbolů a iniciace LATEXovského výstupu¶
T,N,M=sp.Function('T'),sp.Function('N'),sp.Function('M')
s,theta=sp.symbols('s theta',real=True)
l=sp.symbols('s')
R=sp.symbols('R',real=True,positive=True)
p,q=sp.symbols('p q')
E,J=sp.symbols('E J')
C_1,C_2,D_1,D_2=sp.symbols('C_1 C_2 D_1 D_2',complex=True)
C_3=sp.symbols('C_3',real=True)
F_A,F_a,M_A=sp.symbols('F_A F_a M_A',real=True)
sp.init_printing()
Diferenciální rovnice vnitřních účinků¶
\begin{eqnarray} \frac{\mathrm{d}T(s)}{\mathrm{d}s}+\frac{N(s)}{R}&=&-q(s), \\ \frac{\mathrm{d}N(s)}{\mathrm{d}s}&=&\frac{T(s)}{R}, \\ \frac{\mathrm{d}M(s)}{\mathrm{d}s}&=&T(s), \end{eqnarray} kde $s$ je délka oblouku měřená ve směru hodinových ručiček (nemusí být nutně kruhový), $R$ je jeho poloměr a $q(s)$ je liniové zatížení podél oblouku $s$.
deqn1=T(s).diff(s)+q+N(s)/R
deqn2=N(s).diff(s)-T(s)/R
deqn3=M(s).diff(s)-T(s)
deqn1,deqn2,deqn3
Derivováním druhé rovnice podle $s$ a její dosazení do rovnice první se dostane obyčejná diferemciální rovnice druhého řádu pro normálovou složku $N(s)$,
\begin{equation} R\frac{\mathrm{d}^2N(s)}{\mathrm{d}s^2}+\frac{N(s)}{R}=-q(s). \end{equation}
deqn2s=deqn2.diff(s)
deqn2s
sol1=sp.solve(deqn2s,T(s).diff(s))
sol1
deqn10=deqn1.subs(T(s).diff(s),sol1[0])
deqn10
Za předpokladu, že $q=0$ se řešení předchozí rovnice předpokládá ve tvaru
\begin{equation} N(s)=\mathrm{e}^{ps}, \end{equation}
kde $p$ je obecně komplexní číslo.
deqn11=deqn10.subs({N(s):sp.exp(p*s),q:0})
deqn11
deqn12=deqn11.doit()
deqn12
Po úpravách se dostane tzv. charakteristická rovnice, ze které se vyjádří $p$.
eqn3=sp.collect(deqn12,sp.exp(p*s),evaluate=False)
eqn4=eqn3[sp.exp(p*s)]
eqn4
sol3=sp.solve(eqn4,p)
sol3
Takže se řešení $N(s)$ může psát v následujícím tvaru, kde
\begin{equation} \theta=\frac{s}{R} \end{equation}
je úhel, který svírá bod $s$ s vodorvnou osou měřený ve smyslu hodinových ručiček
N0=C_1*sp.expand_complex(sp.exp(sol3[0]*s))+C_2*sp.expand_complex(sp.exp(sol3[1]*s))
N0
Neznámé konstanty $C_1$ a $C_2$ jsou obecně komplexní a určí se z okrajových podmínek
\begin{eqnarray} N(s)&=&0\quad\mathrm{pro}\quad s=0,\\ N(s)&=&\frac{F_a}{2}\quad\mathrm{pro}\quad s=R\frac{\pi}{2}. \end{eqnarray}
bc=[sp.re(N0.subs(s,0)),sp.im(N0.subs(s,0)),sp.re(N0.subs(s,R*sp.pi/2)-F_a/2),sp.im(N0.subs(s,R*sp.pi/2)-F_a/2)]
bc
sol4=sp.solve(bc,[sp.re(C_1),sp.re(C_2),sp.im(C_1),sp.im(C_2)])
sol4
Výsledné řešení pro $N(s)$:
N1=N0.subs(C_1,sol4[sp.re(C_1)]+sp.I*sol4[sp.im(C_1)])
N2=N1.subs(C_2,sol4[sp.re(C_2)]+sp.I*sol4[sp.im(C_2)])
N=N2.simplify()
N
Výsledné řešení pro $T(s)$:
T1=R*N.diff(s)
T=T1.simplify()
T
U momentu $M(s)$ je třeba ještě vyjádřit integrační konstantu $C_3$ z okrajové podmínky,
\begin{equation} M(s)=-M_A.\quad\mathrm{pro}\quad s=0. \end{equation}
M1=sp.integrate(T,s)+C_3
M1
bc=M1.subs(s,0)+M_A
bc
sol5=sp.solve(bc,C_3)
sol5
Výsledné řešení pro $M(s)$,
M=M1.subs(C_3,sol5[0])
M
Celkem všechny vnitřní výsledné účinky v závislosti na úhlu $\theta$,
Nt=N.subs(s,R*theta)
Tt=T.subs(s,R*theta)
Mt=M.subs(s,R*theta)
Nt,Tt,Mt
Odstranění statické neurčitosti vyřešením deformačních podmínek,
\begin{equation} \varphi_A=0=\int_0^{\pi/2}\frac{M(\theta)}{EJ}\frac{\partial M(\theta)}{\partial M_A}R\mathrm{d}\theta. \end{equation}
dMtdM_A=Mt.diff(M_A)
eqn=sp.integrate(Mt/E/J*dMtdM_A*R,(theta,0,sp.pi/2))
eqn
sol6=sp.solve(eqn,M_A)
sol6
Dosazení zadaných hodnot,
b,h=15.0,50.0
J=1/12.0*b*h**2
Fa=1000.0
r=350
Ntf=Nt.subs(M_A,sol6[0])
Ntf
Ttf=Tt.subs(M_A,sol6[0])
Ttf
Mtf=Mt.subs(M_A,sol6[0])
Mtf
Mtfe=Mtf.subs({F_a:Fa,R:r})
Mtfe1=Mtf.subs({F_a:-Fa,R:r})
Mtfe.evalf(),Mtfe1.evalf()
thetaI=np.linspace(0,pi/2)
thetaIa=[float(pi/6)]
Mplot=[Mtfe.evalf(subs={theta:ii}) for ii in thetaI]
Mplota=[Mtfe.evalf(subs={theta:thetaIa[0]})]
Mplot1=[Mtfe1.evalf(subs={theta:ii}) for ii in thetaI]
Mplot1a=[Mtfe1.evalf(subs={theta:thetaIa[0]})]
fig,ax=plt.subplots()
ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
ax.set_xticks((0,np.pi/8.,np.pi/4.,3*np.pi/8.,np.pi/2.))
ax.set_xticklabels((r'$0$',r'$\pi/8$',r'$\pi/4$',r'$3\pi/8$',r'$\pi/2$'),fontsize=10)
ax.set_ylabel('$M$ [Nmm]')
ax.set_xlabel(r'$\theta$ [rad]')
ax.plot(thetaI,Mplot,label='$F_a=10$ kN')
ax.plot(thetaIa,Mplota,'ro')
ax.plot(thetaI,Mplot1,label='$F_a=-10$ kN')
ax.plot(thetaIa,Mplot1a,'ro')
ax.legend(loc='best')
ax.grid(True)
Kontrola chování trhliny,
a,b=6.0,25.0
sigma_k,sigma_pt=350.0,500.0
K_IC,K_APZ=70.0*sqrt(1000.0),4.3*sqrt(1000.)
beta,A=3.0,5.0e-12*1000.
sigma=abs(float(3*Mtfe.subs({theta:pi/6})/(2*(b**2))))
f1=(4./(3.*pi)*(1.+1./2.*a/b+3./8.*(a/b)**2+5./16.*(a/b)**3)-0.47*(a/b)**4+0.663*(a/b)**5)/sqrt((1.-a/b)**3)
K_I=sqrt(pi*a)*sigma*f1
sigma,f1,K_I
r_k=1/pi*(K_I/sigma_k)**2
r_k
if r_k>a:
print('podmínky LELM nejsou splněny')
else:
print('podmínky LELM jsou splněny')
podmínky LELM jsou splněny
a_c=(1/pi*(K_IC/(sigma*f1))**2,h-sqrt(3*abs(Mtfe.subs({theta:pi/6}))/2/sigma_pt))
a_c_min=min(a_c)
a_c_min
n=sp.integrate(1/(A*K_APZ**beta),(l,0,a_c_min))
n