Laminate Modeler > Theory > Composite Failure Criteria
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Composite Failure Criteria
Failure criteria for composite materials are significantly more complex than yield criteria for metals because composite materials can be strongly anisotropic and tend to fail in a number of different modes depending on their loading state and the mechanical properties of the material. While theories which reflect detailed mechanisms of failure are currently being developed, empirical criteria based on test data have been used for decades. These criteria have been incorporated in the MSC.Laminate Modeler to allow rapid evaluation of the strength of a structure according to the current industry standards. The user can also define custom criteria using PCL functions for use in specialized applications.
Nomenclature
Failure criteria compare the loading state at a point (stress or strain) with a set of values reflecting the strength of the material at that point (often referred to as the material allowables). Both loading and strength values should be reflected in the same material coordinate system. For unidirectional materials, this is typically in the direction of the fibres. However, for woven and knitted fabrics , this direction is not obvious, and might change as the material is formed to shape.
In general, the load is represented by a full stress or strain tensor having six independent components. By convention, for lamina materials the material X axis lies in the direction of the warp fibres while the Z axis lies in the through-thickness direction of the sheet. Note than in Patran, shear strains are stored in tensor rather than engineering notation, and any experimental failure strengths should reflect this.
 
STRESS
σxyzxyyzxz
STRAIN
εxyzxyyzxz
The strength of a composite can be expressed by an arbitrarily large number of values, depending on the complexity of the failure criterion. However, lamina materials, used in composites, are often assumed to be orthotropic; the through‑thickness stresses or strains are ignored and it is assumed that there is negligible interaction between the different failure modes. The strength of the material can therefore be represented by seven independent variables:
 
TX
tensile strength along the X axis
0 < TX
CX
compressive strength along the X axis
0 < CX
TY
tensile strength along the Y axis
0 < TY
CY
compressive strength along the Y axis
0 < CY
SXY
shear strength in the XY plane
0 < SXY
SYZ
shear strength in the YZ plane
0 < SYZ
SXZ
shear strength in the XZ plane
0 < SXZ
In the Tsai-Wu criterion, these values have been supplemented by an interaction term which reflects the interdependence of failure modes due to loading along both the X and Y material directions.
 
IXY
interaction between X and Y directions
-1< IXY <1
Note that the above values can be applied to either stress or strain.
The form of the failure criterion is typically described as a mathematical function of the above variables which reaches the value of unity at failure as follows.
Failure Index = FI (load, strength) = 1
The strength of a structure can be given as a Strength Ratio (SR), which is the ratio by which the load must be factored to just fail. (Note that the Strength Ratio is not necessarily the reciprocal of the Failure Index.) Alternatively, the Margin of Safety (MoS), where MoS = SR - 1, is used.
Maximum Criterion
This criterion is calculated by comparing the allowable load with the actual strength for each component. Mathematically, it is defined by:
FI = max (σx/TX, -σx/CX, σy/TY, -σy/CY,
abs(τxy)/SXY, abs(γyz)/SYZ, abs(γxz)/SXZ)
In this case,
SR = 1/FI
Hill Criterion
The Hill criterion was one of the first attempts to develop a single formula to account for the widely different strengths in the various principal directions:
FI = FXX σx2 + FYY σy2 + 2 FXY σx σy + FSS τxy2
where
 
FXX =
1/(TX TX)
if σx >= 0
1/(CX CX)
if σx <0
FYY =
1/(TY TY)
if σy >= 0
1/(CY CY)
if σy <0
FXY =
-1/(2 TX TX)
if σxσy >= 0
-1/(2 CX CX)
if σxσy <0
FSS =
1 / (SXY SXY)
 
Because this failure theory is quadratic:
SR = 1 / sqrt (FI)
In the Laminate Modeler, the Tsai-Wu criterion for in-plane loads (representing fiber failure) has been supplemented by a maximum load theory for out-of-plane shear loads (representing matrix failure):
FI = max( abs(γyz)/SYZ, abs(γxz)/SXZ )
In this case,
SR = 1/FI
For every ply, the lower of the Margins of Safety for fibre and matrix failure is calculated and displayed.
Tsai-Wu Criterion
The Tsai-Wu failure criterion is an unashamed, empirical criterion based on the sum of the linear and quadratic invariants as follows:
 
Fi σi + Fij σi σj = 1
i,j = 1...6
where Fi and Fij are dependent on the material strengths. For the restrictions of lamina materials, this equation reduces to:
FI = FX σx + FY σy + FXX σx2 + FYY σy2 + 2 FXY σx σy + FSS τxy2
where:
FX = 1/TX - 1/CX
FY = 1/TY - 1/CY
FXX = 1/(TX CX)
FYY = 1/(TY CY)
FXY = IXY sqrt(FXX FYY) = IXY / sqrt(TX CX TY CY)
FSS = 1 / (SXY SXY)
Because this failure theory is quadratic, the Strength Ratio (SR) = 1/FI. However, multiplying the failure criterion by SR and rearranging gives
a SR2 + b SR - 1 = 0
where
a = FXX σx2 + FYY σy2 + 2 FXY σx σy + FSS τxy2
b = FX σx + FY σy
Therefore
SR = [-b + sqrt (b2 + 4a)] / 2a
In the Laminate Modeler, the Tsai-Wu criterion for in-plane loads (representing fiber failure) has been supplemented by a maximum load theory for out-of-plane shear loads (representing matrix failure):
FI = max( abs(γyz)/SYZ, abs(γxz)/SXZ )
In this case,
SR = 1/FI
For every ply, the lower of the Margins of Safety for fibre and matrix failure is calculated and displayed.
Extended Quadratic Criteria
These criterion are identical to the Tsai-Wu criterion except for the calculation of the interaction coefficient FXY which is derived rather than obtained from experimental results.
Hoffman
FXY = - 1 / (2 TX CX)
Hankinson
FXY = 0.5 / (1/(TX CX) + 1/(TY CY) - 1/SXY2)
Cowin
FXY = 1 / sqrt(TX CX TY CY) - 0.5 /SXY2
User-Defined Criterion
The user can write a custom PCL function to generate failure indices and margins of safety according to specialized failure criteria. For example, sophisticated failure criteria are being developed which incorporate a mixture of equations depending on the expected mode of failure. These could be expected to outperform simple criteria where there is a complex loading state, particularly within thick laminates.
To use this facility, the user should modify the function user() within the class p3CM_create_res_fail_user. A sample function based on the criteria of maximum loading is illustrated below. The function has input values of loading state and material strength data. The output values are the margin of safety, the critical component, and a failure index. The required function should be edited into a file “p3CM_create_res_fail_user.user.pcl.” This function must then be substituted for the default dummy function in the Laminate Modeler PCL library. To do this, save a backup copy of the existing laminate_modeler.plb, and issue the following commands in the command line:
!! LIBRARY ADD laminate_modeler.plb
!! COMPILE p3CM_create_res_fail_user.user INTO laminate_modeler.plb
The PCL source code required to implement the maximum failure criteria follows as an example:
CLASS p3CM_create_res_fail_user
 
FUNCTION user(res_array,mat_array,out_res_array)
 
 REAL res_array()
 REAL mat_array()
 REAL out_res_array()
 
 REAL sxx,syy,szz,sxy,syz,sxz
 REAL fxt,fxc,fyt,fyc,fs12,fs23,fs31
 REAL margin,component,fi
 
 REAL fi11t,fi11c,fi22t,fi22c,fi12,fi23,fi31
 
/*
 * Set input values.
 */
 
 sxx = res_array(1)
 syy = res_array(2)
 szz = res_array(3)
 sxy = res_array(4)
 syz = res_array(5)
 sxz = res_array(6)
 
 fxt = mat_array(1)
 fxc = mat_array(2)
 fyt = mat_array(3)
 fyc = mat_array(4)
 fs12 = mat_array(5)
 fs23 = mat_array(6)
 fs31 = mat_array(7)
 
/*
 * Check that failure values are reasonable.
 */
 
 IF ( (fxt<=0.) || @
 (fxc<=0.) || @
 (fyt<=0.) || @
 (fyc<=0.) || @
 (fs12<=0.) || @
 (fs23<=0.) || @
 (fs31<=0.) ) THEN
 
 user_message(“Ack”,4,”LAMMODEL”,”Failure strength values must be > 0.0”)
 RETURN
 
 END IF
 
/*
 * Initialise variables.
 */
 
 margin = 0.0 
 component = 1.0
 fi = 1.0
 
 sys_allocate_array(out_res_array,1,3)
 
 out_res_array(1) = 0.0
 out_res_array(2) = 1.0
 out_res_array(3) = 1.0
 
/*
 * Calculate strength ratios for each component.
 */
 
 fi11t = sxx / fxt
 IF( fi < fi11t )THEN
 fi = fi11t
 margin = 1. / fi - 1
 component = 11
 ENDIF
 
 fi11c = -sxx / fxc
 IF( fi < fi11c )THEN
 fi = fi11c
 margin = 1. / fi - 1
 component = -11
 ENDIF
 
 fi22t = syy / fyt
 IF( fi < fi22t )THEN
 fi = fi22t
 margin = 1. / fi - 1
 component = 22
 ENDIF
 
 fi22c = -syy / fyc
 IF( fi < fi22c )THEN
 fi = fi22c
 margin = 1. / fi - 1
 component = -22
 ENDIF
 
 fi12 = mth_abs(sxy) / fs12
 IF( fi < fi12 )THEN
 fi = fi12
 margin = 1. / fi - 1
 component = 12
 ENDIF
 
 fi23 = mth_abs(syz) / fs23
 IF( fi < fi23 )THEN
 fi = fi23
 margin = 1. / fi - 1
 component = 23
 ENDIF
 
 fi31 = mth_abs(sxz) / fs31
 IF( fi < fi31 )THEN
 fi = fi31
 margin = 1. / fi - 1
 component = 31
 ENDIF
 
/*
 * Set output values.
 */
 
 out_res_array(1) = margin
 out_res_array(2) = component
 out_res_array(3) = fi
 
END FUNCTION
 
END CLASS