The Maximum stress failure criterion for plane stress case is derived by simply eliminating the stress-terms not being relevant in the 3D expression, see Maximum stress criterion: \begin{equation} f_E = max\Big[ -\frac{\sigma_1}{X_C}, \frac{\sigma_1}{X_T}, -\frac{\sigma_2}{Y_C}, \frac{\sigma_2}{Y_T}, -\frac{\sigma_3}{Z_C}, \frac{\sigma_3}{Z_T}, \frac{|\tau_{12}|}{S_{12}}, \frac{|\tau_{13}|}{S_{13}}, \frac{|\tau_{23}|}{S_{23}}\Big] \tag{1} \end{equation}
The 2D criterion is now simplified to
\begin{equation} f_E = max\Big[ -\frac{\sigma_1}{X_C}, \frac{\sigma_1}{X_T}, -\frac{\sigma_2}{Y_C}, \frac{\sigma_2}{Y_T}, \frac{|\tau_{12}|}{S_{12}}\Big] \tag{2} \end{equation}Implementing a function for the stress exposure factor:
def fE2DMS(s,m):
s1,s2,s12=s[0],s[1],s[2]
XT,YT,XC,YC,S12 = m['XT'], m['YT'], m['XC'], m['YC'], m['S12']
f=max(s1/XT,-s1/XC,s2/YT,-s2/YC,abs(s12/S12))
return f
The Maximum strain criterion reduced to the 2D case neglects the out-of plane components of strains:
\begin{equation} f_E = max\Big[ -\frac{\epsilon_1}{X_C/E_1}, \frac{\epsilon_1}{X_T/E_1}, -\frac{\epsilon_2}{Y_C/E_2}, \frac{\epsilon_2}{Y_T/E_2}, \frac{|\gamma_{12}|}{S_{12}/G_{12}}\Big] \tag{3} \end{equation}A function for the stress exposure factor:
def fE2DME(s,m):
s1,s2,s12=s[0],s[1],s[2]
XT,YT,XC,YC,S12 = m['XT'],m['YT'],m['XC'],m['YC'],m['S12']
E1,E2,v12,G12=m['E1'],m['E2'],m['v12'],m['G12']
e1= (1/E1)*s1 + (-v12/E1)*s2
e2=(-v12/E1)*s1 + (1/E2)*s2
e12 = s12/G12
f=max( e1/(XT/E1),-e1/(XC/E1),e2/(YT/E2),-e2/(YC/E2),abs(e12/(S12/G12)) )
return f
Tsai-Wu for plane stress was implemented for the 3D case in Tsai-Wu criterion.
For the plane stress case,
\begin{equation} f = F_1\sigma_1+F_2\sigma_2+F_{11}\sigma_1^2+F_{22}\sigma_2^2+F_{66}\tau_{12}^2+2F_{12}\sigma_1\sigma_2 \tag{4} \end{equation}where failure is predicted when $f\geq1$
The coefficients are expressed by the basic strength parameters: \begin{equation} \begin{aligned} &F_1=\frac{1}{X_T}-\frac{1}{X_C} && F_2=\frac{1}{Y_T}-\frac{1}{Y_C} \\ &F_{11}=\frac{1}{X_TX_C} && F_{22}=\frac{1}{Y_TY_C} \\ &F_{66}=\frac{1}{S_{12}^2} && F_{12}=f_{12}\sqrt{F_{11}F_{22}} \end{aligned} \tag{5} \end{equation}
Solving the quadratic equation:
\begin{equation} (F_1\sigma_1+F_2\sigma_2+F_3\sigma_3)R+(F_{11}\sigma_1^2+F_{22}\sigma_2^2+F_{66}\tau_{12}^2+2 F_{12}\sigma_1\sigma_2)R^2=1 \tag{6} \end{equation}Such that
\begin{equation} \begin{aligned} &a=F_{11}\sigma_1^2+F_{22}\sigma_2^2+F_{66}\tau_{12}^2+2 F_{12}\sigma_1\sigma_2 \\ &b= F_1\sigma_1+F_2\sigma_2 \\ &c=-1 \end{aligned} \tag{7} \end{equation}and
\begin{equation} R=\frac{-b+\sqrt{b^2 -4ac}}{2a} \tag{8} \end{equation}Observe that the paramtere $a$ can be zero. In such a case the $R$ will be undefined. In those cases we just return zero as written in the code:
def fE2DTW(s,m):
s1,s2,s12=s[0],s[1],s[2]
XT,YT,XC,YC,S12,f12 = m['XT'], m['YT'], m['XC'], m['YC'], m['S12'], m['f12']
F1, F2 = (1/XT)-(1/XC) , (1/YT)-(1/YC)
F11, F22 = 1/(XT*XC) , 1/(YT*YC)
F66 = 1/(S12**2)
F12 = f12*(F11*F22)**0.5
a=F11*s1**2 + F22*s2**2 + 2*F12*s1*s2 + F66*s12**2
b=F1*s1 + F2*s2
c=-1
if a==0:
return 0.0
R=(-b+(b**2-4*a*c)**0.5)/(2*a)
fE=1/R
return fE
Example:
import matlib
m1=matlib.get('Carbon/Epoxy(a)')
stress=(440,36,10)
print(fE2DMS(stress,m1))
print(fE2DME(stress,m1))
print(fE2DTW(stress,m1))
Hashin:
Left as an exercise.
Disclaimer:This site is about polymer composites, designed for educational purposes. Consumption and use of any sort & kind is solely at your own risk.
Fair use: I spent some time making all the pages, and even the figures and illustrations are my own creations. Obviously, you may steal whatever you find useful here, but please show decency and give some acknowledgment if or when copying. Thanks! Contact me: nils.p.vedvik@ntnu.no www.ntnu.edu/employees/nils.p.vedvik
Copyright 2021, All right reserved, I guess.