NASA Technical Memorandum 4724

Progressive Damage Analysis of Laminated

Composite (PDALC)_A Computational Model

Implemented in the NASA COMET Finite

Element Code

David C. Lo, Timothy W. Coats, Charles E. Harris, and David H. Allen

November 1996

NASA Technical Memorandum 4724

Progressive Damage Analysis of Laminated

Composite (PDALC)_A Computational Model

Implemented in the NASA COMET Finite

Element Code

David C. Lo

Texas A&M University • College Station, Texas

Timothy W. Coats

Old Dominion University • Norfolk, Virginia

Charles E. Harris

Langley Research Center • Hampton, Virginia

David H. Allen

Texas A&M University • College Station, Texas

National Aeronautics and Space Administration

Langley Research Center • Hampton, Virginia 23681-0001

November 1996
Available eleclronically at the following URL address: http://techreports.larc.nasa.gov/ltrs/ltrs.html

Printed copies available from the following:

NASA Center for AeroSpace Information

800 Elkridge Landing Road

Linthicum Heights, MD 21090-2934

(301) 621-0390

National Technical Information Service (NTIS)

5285 Port Royal Road

Springfield, VA 22161-2171

(703) 487-4650
Abstract

A method for analysis of progressive failure in the Computational Structural

Mechanics Testbed is presented in this report. The relationship employed in this analysis describes the matrix crack damage and fiber fracture via kinematics-based

volume-averaged variables. Damage accumulation during monotonic and cyclic

loads is predicted by damage evolution laws for tensile load conditions. The implementation of this damage model required the development of two testbed processors.

While this report concentrates on the theory and usage of these processors, a complete list of all testbed processors and inputs that are required for this analysis are

included. Sample calculations for laminates subjected to monotonic and cyclic loads

were performed to illustrate the damage accumulation, stress redistribution, and

changes to the global response that occur during the load history. Residual strength

predictions made with this information compared favorably with experimental

measurements.

Introduction D

dpara Laminated composite structures are susceptible to

the development of microcracks during their operational

lives. While these microcracks tend to aggregate in high E11

stress regions and result in localized regions of reduced

stiffness and strength, the microcracks can affect the glo- E22

bal response of the structure. This change in the global F

structure in turn can create high stresses and increase

damage accumulation in another part of the structure. GI2

Thus to accurately predict the structural response and _:

residual strength of a laminated composite structure, the

effects of the accumulating damage must be incorporated

into the global analysis. The approach taken is to develop Nx

damage-dependent constitutive equations at the ply level, h

These equations are then employed in the development

of the lamination equations from which the constitutive PDALC

module of the structural analysis algorithm is constructed. This algorithm is executed in a stepwise manner

in which the damage-dependent ply-level results are used R

in the calculation of the global response for the next load

step. This report will describe two Computational Struc- tply

tural Mechanics (CSM) Testbed (COMET) processors u

that were developed for the performance of such an analysis. A brief review of the theory behind the processors is u°' v°' w°

first presented. The usage of these processors is then x, y, z

demonstrated. Since this analysis requires the use of

other COMET processors, this report serves as a supple- V12

ment to The Computational Structural Mechanics Testbed User's Manual (ref. 1).

It should be noted that the current damage model

capability, computer code version 1.0, is limited to intraply matrix cracks and fiber fracture under tensile loads.

Symbols and Abbreviations

A laminate extensional stiffness matrix

B laminate coupling stiffness matrix

laminate bending stiffness matrix

material parameter determined from

experimental data

lamina longitudinal modulus

lamina transverse modulus

applied force

lamina shear modulus

material parameter determined from

experimental data

applied load

material parameter determined from

experimental data

Progressive Damage Analysis of

Laminated Composites

percent of maximum load

ply thickness

longitudinal extension

undamaged midplane displacements

displacement fields

lamina Poisson's ratio

Damage-Dependent Constitutive Relationship

The damage-dependent constitutive relationship

employed in the COMET analysis is based on a continuum damage mechanics model proposed by Allen,

Harris, and Groves (refs. 2 and 3). Rather than explicitly

modeling each matrix crack in the material, the averaged

kinematic effects of the matrix cracks in a representative

volume are modeled by internal state variables. These

internal state variables are defined by the volumeaveraged dyadic product of the crack face displacement
ui and the crack face normal nj as proposed by

Vakulenko and Kachanov (ref. 4):

internal state variable corresponding to the mode I (opening mode) of the matrix cracks:

M 1

= --f _._.dS (1)

OtL_j VL Js t j

M

where otl.. is the second order tensor of internal state

variables,'JVL is the local representative volume in the

deformed state, and S is the crack surface area. This

product can be interpreted as additional strains incurred

by the material as a result of the internal damage. From

micromechanics it has been found that the effects of

matrix cracks can be introduced into the ply-level constitutive equation as follows (ref. 5):

OL = [QI{eL-OtM} (2)

where o L are the locally averaged components of stress,

[Q] is the ply-level reduced stiffness matrix, and {EL} are

the locally averaged components of strain. The laminate

constitutive relationships are obtained by integrating the

ply constitutive equations through the thickness of the

laminate to produce

{N} = [A]{EL}+[B]{S:L}+{fM} (3)

{M} = [BI{EL}+[D]{KL}+{gM} (4)

where {N} and {M} are the resultant force and moment

vectors, respectively; [A], [B], and [D] are the laminate

extensional, coupling, and bending stiffness matrices,

respectively (ref. 6); {EL} is the midplane strain vector;

{_Z} is the midplane curvature vector; and {fM} and

{gM} are the damage resultant force and moment vectors

for matrix cracking, respectively (ref. 7). The application

of {fM} and {gin} to the undamaged material will produce midplane strain and curvature contributions equivalent to those resulting from the damage-induced

compliance increase.

As the matrix cracks accumulate in the composite,

the corresponding internal state variables must evolve to

reflect the new damage state. The rate of change of these

internal state variables is governed by the damage evolutionary relationships. The damage state at any point in

the load history is thus determined by integrating the

damage evolutionary laws. Based on the observation that

the accumulation of matrix cracks during cyclic loading

is related to the strain energy release rate G in a power

law manner (ref. 8), Lo, Allen, and Harris (ref. 9) have

proposed the following evolutionary relationship for the

dotLM22 d0t'M - "

- dS 22kGndN (5)

M

The term dotL2 2 reflects the changes in the internal

state variable with respect to changes in the crack surfaces. This term can be calculated analytically from a

relationship that describes the average crack surface displacements in the pure opening mode (mode I) for a

medium containing alternating 0° and 90 ° plies (ref. 5).

The term G is the strain energy release rate calculated

from the ply-level damage-dependent stresses. The material parameters k and h are phenomenological in nature

and must be determined from experimental data (refs. 10

and 1 1). Because k and h are assumed to be material

parameters, the values determined from one laminate

stacking sequence should be valid for other laminates as

well. Since the interactions with the adjacent plies and

damage sites are implicitly reflected in the calculation of

the ply-level response through the laminate averaging

process, equation (5) is not restricted to any particular

laminate stacking sequence.

When the material is subjected to quasi-static

(monotonic) loads, the rate of change of the internal state

variable 0tLM22is described by

dotLM22= { _d(£22-£22crit) ifE22>E22crit t (6)

0 if E22 < E22crit J

where e22crit is the critical tensile failure strain and 15is a

factor that describes the load carrying capability of the

material after the critical tensile strain has been reached.

Elastic perfectly plastic behavior is obtained by setting

13= 1. A similar relationship is used to describe the tensile failure of the reinforcing fibers. The internal state

variable for this mode of damage is OtM2-_ and its rate of

change is

dot_ ={ _d(Ell-Ellcrit) ifEll>Ellcdt t (7)

0 if E i I < E1 lcrit J

where e I lcrit is the tensile fiber fracture strain and 7 is a

factor describing the residual load carrying capability of

the material after fiber fracture has occurred.

Structural Analysis Formulation

In order to simplify the formulation, it is expedient

to consider the special case of symmetric laminates. With

this case, the coupling stiffness matrix [B] becomes the

2
null matrixandthein-planeandout-of-planelaminate

equationsaredecoupled. The laminate equations (3) and

(4) are then substituted into the plate equilibrium equations to yield the following governing differential equations for the plate deformations:

-Px

_u2 o _u2 o _)2uO

2A16 _ A66 = All-_-x2 + + --_y2

_2v° _2v°

+AI6 --_x 2 + (A 12 + A66) _xOy

+ A26-- Oy2 + -'_-x + _---_

(8)

-Py

_)2u° Ou2 o

= A16--_x2+(A12+A66)_-_--_y+A26--

_2v° _2v° _v2 o

+ A22-- + 2A26 _ + -- Oy2 A66 Ox 2

+ --b-;-x+ _--7

O2u°

Oy2

(9)

-Pz

4 o O4wO

O._..._W_W+ 4D16

= DI1 _x 4 _x3_y

4 o 4 o

+ 2(D12 + 2D66) + 4D26 _-_--_ 3

Ox Oy OxOy

_4wO _)2gM 2g2M _ 2g3M

+ D22 2

_y4 _)x 2 _y2 _x_y

(10)

These governing differential equations are integrated

against variations in the displacement components

to produce a weak form of the damage-dependent

laminated-plate equilibrium equations. By substituting

the corresponding displacement interpolation functions

into the weak form of the plate equilibrium equations, the

following equilibrium equations in matrix form are

produced (ref. 12):

[K]{_i} = {FA} + {FM} (11)

where [K] is the element stiffness matrix, {_i} is the displacement vector, {F A } is the applied force vector, and

{FM} is the damage-induced force vector resulting from

matrix cracking. Note that the effects of the internal damage now appear on the right side of the equilibrium equations as damage-induced force vectors.

Structural Analysis Scheme

The nonlinear nature of the constitutive relationship

and the progressive nature of the failure process requires

that the analysis be performed in a stepwise manner as

shown in figure 1 (from ref. 13). At each load step, the

damage resultant forces and moments are determined for

the current matrix and fiber damage state. The damageinduced force vector is then combined with the applied

force vector. Nodal displacements are calculated with

this combined force vector. The elemental stress resultants are then determined. Finally, the ply-level stresses

and strains are calculated as well as the damage evolution

in each ply. This information is then used in the calculations for the next load step. Because an iterative scheme

to ensure equilibrium is not in place, each load step

increment should be small enough to ensure an accurate

solution. Since the effects of the matrix and fiber damage

are represented as damage-induced force vectors, this

formulation obviates the need to recalculate the elementai stiffness matrices each time the damage state evolves.

The fiber damage state is also used to determine the

structural integrity of the component. Residual strength

predictions can be made with this model by increasing

the load or displacement at the boundary until fiber fracture is determined over a critical region of the component. This capability will be demonstrated in the

following section entitled "Example Calculations."

The implementation of this analysis into the

COMET code can be accomplished with the development of processors DRF (Damage Resultant Forces) and

DGI (Damage Growth Increment). These processors, as

with other COMET processors, are semi-independent

computational modules that perform a specific set of

tasks. Processor DRF first calculates the damage resultant forces and moments and then incorporates them into

the global force vectors. The second processor DGI postprocesses the elemental stress resultants into ply-level

stresses and strains by using the damage-dependent constitutive relationship. With this information, the processor computes the damage evolution and updates the

damage state for the next series of calculations. The

remaining calculations can be performed with existing

COMET processors. The following is a list in order of

COMET processor executions for this analysis:

1. Procedure ES defines element parameters.

2. Processor TAB defines joint locations, constraints, and reference frames.

3. Processor AUS builds tables of material properties, section properties, and applied forces.

4. Processor LAU forms constitutive matrix.

3
5. Processor ELDdefines elements.

6. Processor E initializes element data sets, and creates element data sets.

7. Procedure ES initializes element matrices.

8. Procedure ES calculates element intrinsic stiffness matrices.

9. Processor RSEQ resequences nodes for minimum

total execution time.

10. Processor TOPO forms maps to guide assembly

and factorization of system matrices.

11. Processor K assembles system stiffness matrix.

12. Processor INV factors system stiffness matrix.

13. Continue.

14. Processor DRF forms damage resultant force

vectors.

15. Processor SSOL solves for static displacements.

16. Procedure STRESS calculates element stress

resultants.

17. Processor DGI calculates ply-level stresses and

damage evolution.

18. For next load cycle, go to step 13; else stop.

The usage and theory behind each of the existing

processors can be found in The Computational Structural

Mechanics Testbed User's Manual (ref. 1). Information

for processors DRF and DGI can be found in appendices

A and B of this report, respectively. With the exception

of processor DRF and DGI, other processors from the

COMET processor library can be substituted into the list

above to perform the tasks specified.

Example Calculations

Example calculations were conducted with COMET

to illustrate the features of the progressive damage code.

The first example demonstrates the effects of the evolving matrix damage on a cross-ply laminated composite

plate that was subjected to constant amplitude fatigue

loads. The dimensions and boundary conditions for the

laminated plate are shown in figure 2. This plate was discretized into 24 four-node quadrilateral EX47 shell elements (ref. 14). In this example, the plate has a [0/90Is

laminate stacking sequence and the ply-level mechanical

properties listed in table 1. These properties corresponded to those measured for IM7/5260 (ref. 11). A

maximum load of 2500 lb/in at an R-ratio of 0.1 was

applied to the laminate. The COMET program and input,

as well as a segment of the output, for this example can

be found in the section entitled "Progressive Failure

Analysis Input" of appendix B.

The predicted distribution of the mode I matrix crack

damage cxM in the 90 ° plies is shown in figure 3. The

damage was greatest at the narrow end of the plate

because the component of stress normal to the fiber was

highest in this region. The higher stresses further translated to a greater amount of energy available for the initiation and propagation of additional damage. This

availability of energy was reflected in the damage evolution along the length of the plate. However as damage

accumulated in the plate, the stress gradient in the 90 °

plies became less steep (fig. 4). The similarity in stress

resulted in relatively uniform changes to the damage

state at higher load cycles. For this laminate stacking

sequence, the load shed by the damaged 90 ° plies was

absorbed by the 0° plies. The consequence of this load

redistribution is an increase in the global displacements

(fig. 5). The redistribution of load to the adjacent plies

will affect the interlaminar shear stresses as well. This

redistribution could create favorable conditions for the

propagation of delamination.

The second example examines the effects of damage

accumulation during cyclic fatigue loads on the residual

strength of notched laminates. For comparative purposes,

unnotched laminates of similar dimensions were also

examined. In this example, the notched laminates are tension fatigue loaded for 100 000 cycles and then monotonically loaded to failure. The notched (central circular

hole) laminate is shown in figure 6. Symmetry was

assumed about the length and width of the laminate so

that only a quarter of the laminate was modeled by the

finite element model. This model, shown in figure 7,

consisted of 153 four-node quadrilateral EX47 shell

elements. Two laminate stacking sequences, a cross-ply

[0/903] s and a quasi-isotropic [0/+45/90]s, were considered. These laminates possessed the same ply-level material properties as the first example. (See table 1.) The

maximum fatigue loads employed in sample calculations

are listed in table 2. The COMET program for the fatigue

load portion of the calculation is similar to the example

shown in appendix B. The residual strength portion of

the program differed in that the monotonic matrix damage growth law, equation (6), is used in place of the

fatigue damage growth law, equation (5). In addition, the

applied load is incrementally increased with each load

step to simulate a ramp up load input. Failure of the component is assumed to have occurred when the elements

that have sustained fiber failure in the principal load carrying plies span across the width of the laminate. The

load at which this condition is satisfied is used to calculate the residual strength. At the present time, this structural failure determination process is performed by the
analystbytabulatingthelocationswherefiber fracture is

predicted.

The COMET program where the laminate is first

fatigue loaded then loaded monotonically to failure is

listed in appendix C. In figure 8, the predicted stiffness

loss for the open-hole geometry is compared to experimentally measured values of stiffness loss measured over

a 4-in. gage length. The predicted residual strengths for

the unnotched and open-hole geometries are shown along

with experimental measurements in figure 9.

The elastic perfectly plastic nonlinear behavior

(_t= 1) is a user specified assumption in the computer

analysis. Other types of nonlinear materials behavior

may also be selected by the user. For example, complete

unloading (classical ply discount method 7= 0) can be

assumed or any available strain softening law can be

specified by the user. A comparison of the effect of the

failure criteria on the longitudinal stresses in the 0 ° ply of

the [0/+45/90] s laminate is shown in figure 10. Results

for the undamaged stress state are compared to the redistribution loads (stresses) produced by the elastic perfectly plastic criterion and the ply discount criterion at

laminate failure.

A systematic mesh refinement study was conducted

for the quasi-isotropic laminate to determine if a numerically converged analytical solution could be obtained.

The analytical solutions for 7 = 1 converged after four

successive refinements to the finite element mesh. The

four meshes are shown in figure 11 and the numerical

results of the convergence study are plotted in figure 12.

Although this analysis considered only matrix cracking and fiber fracture, the results illustrate the effects of

subcritical damage accumulation on the local and global

response of a laminated composite. The inclusion of

other damage modes such as delamination and compression failure mechanisms will provide a more complete

picture of the failure process. Since matrix cracking usually precedes these two modes of damage, the present

analysis can be employed to determine the initiation and

propagation of these other modes of damage. Finally, the

introduction of failure criteria for additional modes of

damage would enable the prediction of the progressive

failure process up to catastrophic failure of laminated

composite structures (ref. 14).

Concluding Remarks

This report describes a progressive failure analysis

for laminated composites that can be performed with the

Computational Structural Mechanics (CSM) Testbed

(COMET) finite element code. The present analysis uses

a constitutive model that describes the kinematics of the

matrix cracks via volume averaged internal state variables. The evolution of these internal state variables is

governed by an experimentally based damage evolutionary relationship. The nonlinearity of the constitutive

relationship and of the damage accumulation process

requires that this analysis be performed incrementally

and possibly iteratively.

Two processors were developed to perform the necessary calculations associated with this constitutive

model. In the analysis scheme, these processors were

called upon to interact with existing COMET processors

to perform the progressive failure analysis. This report,

which serves as a guide for performing progressive failure analysis on COMET, provides a brief background on

the constitutive model and the analysis methodology in

COMET. The description and usage of the two progressive failure processors can be found in the appendices of

this report. These appendices are meant to supplement

the COMET User's Manual.

The results from the example problems illustrate the

stress redistribution that occurred during the accumulation of matrix cracks and fiber fracture. This stress redistribution in turn influenced the damage evolution

characteristics, the global displacements, and the residual

strengths. It should be noted that the current damage

model capability, computer code version 1.0, is limited

to intraply matrix cracking and fiber fracture under tensile load conditions.

NASA Langley Research Center

Hampton, VA 23681-0001

July 24, 1996
Appendix A

Processor DRF

A1. General Description

This processor calculates the damage resultant forces and moments caused by matrix cracking in laminated composites. These resultant forces and moments when applied to an undamaged laminate will produce an equivalent amount of

displacements and curvatures to those resulting from the matrix crack surface kinematics in a damaged laminate. This

enables an analysis of the response of a damaged laminate without having to update the stiffness matrix each time the

damage state changes. Matrix crack damage is modeled in this processor by volume averaged crack surface kinematics

that use internal state variables (refs. 2 and 3).

Processor DRF and processor DGI, which is described in appendix B, were developed to perform progressive failure analysis of quasi-static and fatigue loaded laminates in the Computational Structural Mechanics (CSM) Testbed

(COMET). Analyses from these processors are stored in two formats. One is in standard format that is accessed by opening the output file. The other is a data set, which is stored in a testbed data library, and provides data to processors and

post-processors (ref. 1). In this analysis, processor DRF is used in conjunction with COMET analysis processors to

determine the static displacement and elemental stress resultants for a laminated composite structure containing matrix

crack damage. Processor DGI then calculates the damage-dependent ply stresses. The damage state is updated based on

the ply stresses and this procedure is repeated for the next load cycle.

AI.1. Damage-Dependent Constitutive Relationship

In this processor, the effects of the matrix cracks are introduced into the ply-level constitutive equations as follows

(ref. 3):

{GL} = [Q]{E L-O_ M} (AI)

where {t_L} are the locally averaged components of stress, [Q] is the ply-level reduced stiffness matrix, and {eL} are

the locally averaged components of strain. The variables { CtLM } are the components of the strain-like internal state

variable for matrix cracking and are defined by

(xM = --1 f u.n .dS

Lij VLJ s J j

(A2)

where VL is the volume of an arbitrarily chosen representative volume of ply thickness that is sufficiently large that _tMLij

do not depend on VL, u i is the crack opening displacement, nj is the component of the vector normal to the crack face,

and S is the surface value of the volume VL. The present form of the model assumes that tx2M2, the internal state variable

representing the mode I matrix crack opening, is the only nonzero component.

A1.2. Damage-Dependent Laminate Equations

The ply-level strains are defined as follows:

O

ELxx : ELx x-zKLx x (A3)

O

ELyy = ELyy- Z]fLyy (A4)

O

ELxy : ELxy- ;¢iLxy (A5)
wheree L and I( L are the midplane strains and curvatures, respectively. The aforementioned ply strains are then substituted into equation (A1) to produce the ply-level stresses. Damage-dependent lamination equations are obtained by

integrating these ply stresses through the thickness of the laminate (ref. 15). Next, the stiffness matrix in the laminate

equation is inverted to produce

o _I_N_fM; (A6)

where [A], [B], and [D] are, respectively, the undamaged laminate extensional, coupling, and bending stiffness matrices.

They are defined by the following equations from reference 6:

R

[A] : ___[Q_.]k(Zk--Zk_l)

k=l

(A7)

[B] =

tl

1 - 2 2

22 [Q]k(Zk - Zk-1)

k=l

(A8)

P1

1 - 3 3

[D] = 5__,[Qlk(Zk-Zk_l)

k=l

(A9)

where [Q]k is the transformed reduced elastic modulus matrix for the kth ply in laminate coordinates. In equation (A6),

N is the component of the resultant force per unit length and M is the component of the resultant moment per unit length.

The variables {fM} and {gM} represent the contribution to the resultant forces and moments from matrix cracking and

are calculated from

h

M

{fM } : -2 [Olk(zk - Zk-I ){ (1L }k

k=l

(A10)

h

1 - 2

{gM} = __2[a]k(Zk -Zk-1){(IL 2 M }k (A11)

k=l

where {aM} k contains the matrix cracking internal state variables for the kth ply. Thus given the forces N andmoments

M, as well as the damage variables in each ply, equation (A6) can be used to calculate the midsurface strains e L and curvature KL.

A2. Processor Syntax

This processor uses keywords and qualifiers along with the CLIP command syntax (ref. 1). Two keywords are recognized: SELECT and STOP.
A2.1.Keyword SELECT

This keyword uses the qualifiers listed below to control the processor execution.

Qualifier Default Meaning

LIBRARY 1 Input and output library.

ELEMENT ALL Element type (EX47, EX97) used in the analysis. Default is all

element types found in LIBRARY.

SREF 1 Stress reference frame. Stress resultants may have been computed in

the element stress/strain reference frame (SREF = 0) or in one of

three alternate reference frames. For SREF = 1, the stress/strain

x-direction is coincident with the global x-direction. For SREF = 2,

the stress/strain x-direction is coincident with the global y-direction.

For SREF = 3 the stress/strain x-direction is coincident with the

global z-direction. Note that the processor currently must have the

stress/strain coincident with the elobal x-direction (SREF = 1).

PRINT 1 Print flag. May be 0, 1, or 2; 2 results in the most output.

MEMORY 2 000 000

DSTATUS

Maximum number of words to be allocated in blank common. This

is an artificial cap on memory put in place so that the dynamic

memory manager does not attempt to use all of the space available

on the machine in use.

Damage state flag. If no damage, DSTATUS = 0. If matrix cracking

(cyclic load), DSTATUS = 1. If matrix cracking (monotonic load),

DSTATUS = 22222.

XFACTOR 0.0 Increases the specified applied forces by this factor at every load

step. This qualifier is used in the residual strength calculations.

A2.2. Keyword STOP

This keyword has no qualifiers.

A3. Subprocessors and Commands

Processor DRF does not have subprocessors.
A4. Processor Data Interface

A4.1. Processor Input Data Sets

Several data sets, which are listed below, are used as input for processor DRF.

Input data set Contents

ELTS.NAME Element names

OMB.DATA. 1.1 Material properties including strain allowables

LAM.OMB.*.* Laminate stacking sequence

ES.SUMMARY Various element information

PROP.BTAB.2.102 ABD matrix

WALL.PROP. 1.1 Shell wall data set

DIR.xxxx.*.* Element directory data set

DEF.xxxx.*.* Element definition (connectivity) data set

ISV.xxxx.*.* Internal state variable data set

xxxx.EFIL.*.* Element nodal coordinates and transformations

APPL.FORC Applied force and moments at joints

A4.2. Processor Output Data Sets

These data sets are used as output for processor DRF.

Output data set Contents

APPL.FORC Applied force and moments at joints

DFCT.xxxx.*.* Temporary damage resultant force data set

DRFC.xxxx.*.* Damage 'resultant force data set

A5. Limitations

Only EX47 and EX97 elements implemented with the generic element processor ES 1 will be processed by processor DRF. All other elements will be ignored. The stress reference frame must be coincident with the global x-direction.

A6. Error Messages

Fatal errors will occur when any of the required data sets are missing from the input data library or when the stress

resultants at the integration points are missing. (See section A4.1 .)

Warning messages will be written and execution will continue when there is a missing or unreadable keyword or

qualifier or if any of the original SPAR elements are encountered.

A7. Usage Guidelines and Examples

A7.1. Program Organization

The following list illustrates the organization of a progressive failure analysis that uses COMET. Because of the

nonlinear nature of the damage-dependent constitutive equation, this analysis is performed in a stepwise manner. With

the exception of processors DRF and DGI, all COMET processors can be employed to perform the specified tasks.
1.ProcedureES

2. Processor TAB

3. Processor AUS

4. Processor LAU

5. Processor ELD

6. Processor E

7. ProcedureES

8. ProcedureES

9. Processor RSEQ

10.Processor TOPO

11.Processor K

12.Processor INV

13.Continue

14.Processor DRF

15.Processor SSOL

16.ProcedureSTRESS

17.Processor DGI

defineselementparameters

definesjointlocations,constraints, andreferenceframes

buildstablesofmaterialandsectionpropertiesandappliedforces

formsconstitutivematrix

defineselements

initializesandcreateselementdatasets

initializeselementmatrices

calculateselementintrinsicstiffnessmatrices

resequences nodesforminimumtotalexecutiontime

formsmapstoguideassemblyandfactorizationof systemmatrices

assemblessystemstiffnessmatrix

factorssystemstiffnessmatrix

formsdamageresultantforcevectors

solvesforstaticdisplacements

calculateselementstressresultants

calculatesply-levelstressesanddamagevolution

18.Fornextloadcycle,gotostep13;elsestop

A7.2.ProgressiveFailureAnalysisInputandOutput

PleaserefertoprocessorDGIinappendixBforanexample.

A8. Structure of Data Sets Unique to Processor DRF

A8.1. DRFC.xxxx

This data set is created by processor DRF and uses the SYSVEC format. See APPL.FORC.iset. 1. This data set contains the damage resultant forces and moments corresponding to the given matrix cracking damage state.

A8.2. DFCT.xxxx

Data set DFCT.xxxx is created by processor DRF and uses the SYSVEC format. See APPL.FORC.iset. 1. This data

set contains the damage resultant forces and moments from the previous load step and is used to restore the applied force

vector to the initial value.

A8.3. ISV.xxxx

This data set contains the matrix cracking internal state variables at each layer. The xxxx is the element name. The

data are stored in a record named ALPAM. 1. This record contains n items, where

n : nlayer * nintgpt * nelt

and nlayer is the number of layers in the model, nintgpt is the number of integration points for element, and nel t

is the number of elements.

10
o

2.

3.

The data are stored in the following order:

M is internal state variable associated with fiber fracture.

O_Lll

M is internal state variable associated with mode I opening of the matrix crack.

0_L22

M is internal state variable associated with mode II opening of the matrix crack.

O_LI2

The data storage occurs for every layer, every integration point, and every element.

11
Appendix B

Processor DGI

B1. General Description

Processor DGI predicts the evolution of matrix crack damage in laminated composites for monotonical loads and

cyclic fatigue loads. The processor also calculates fiber fracture under tensile load conditions• The matrix crack damage

is represented in this processor by volume-averaged crack surface kinematics that use internal state variables (refs. 2

and 3). The evolution of these internal state variables is governed by a phenomenological growth law.

This processor was designed to perform progressive failure analysis of laminated composite structures in the Computational Structural Mechanics (CSM) Testbed (COMET). At each load cycle, the elemental stress resultants for a laminated composite structure are obtained from COMET with the effects of matrix crack damage accounted for by

processor DRF. Processor DGI then postprocesses this information and uses the ply-level stresses to determine the evolution of matrix crack damage in each ply of the laminate. This procedure is repeated until the specified number of load

cycles has been reached.

BI.1. Damage-Dependent Constitutive Relationship

In this processor, the effects of the matrix cracks are introduced into the ply-level constitutive equations as follows

(ref. 5):

{OL} = [Q]{EL_ M} (BI)

where {OL} is the locally averaged component of stress, [Q] is the ply-level reduced stiffness matrix, and {eL} are the

locally averaged components of strain. The { a M } are the components of the strain-like internal state variable for matrix

cracking and are defined by

o[M = --1 f u.n .dS

LO VLJ s , j

(B2)

where VL is the volume of an arbitrarily chosen representative volume of ply thickness that is sufficiently large that

a M do not depend on VL, ui are the crack opening displacements, and nj are the components of the vector normal to the 40

crack face• The present form of the model assumes that aLM2z, the internal state variable representing the mode I matrix

crack opening, is the only nonzero component.

For a uniaxially loaded medium containing alternating 0° and 90 ° plies 0tM has been found from a micromechan-

• • " _22

ics solution to be related to the far field normal force and crack spacing as follows (ref. 5):

M 2t

0_L22 -- 4

64_ C2222

(B3)

where

m=ln=l 22222( m- 1)2(2n - 1) 2 + C1212(a/t)2(2n- 1) 4

(B4)

p is the force per unit length that is applied normal to the fibers and 2t and 2fi are the layer thickness and crack spacing,

respectively. The C2222 is the modulus in the direction transverse to the fibers and the C1212 is the in-plane shear modulus. Both moduli are the undamaged properties.

12
B1.2. Damage Evolution Relationship

Equation (B3) is used when the matrix crack spacing is known in each ply of the laminate. Since it is usually necessary to predict the damage accumulation and response for a given load history, damage evolutionary relationships must

be utilized to determine the values of the internal state variables. The following relationship was used for the rate of

change of the internal state variable ¢xM in each ply during fatigue loading conditions (ref. 9): L22

-_ -kGh dN

(B5)

M

where d_L22 describes the change in the internal state variable for a given change in the crack surface areas, /¢ and h

are material parameters (refs. 10 and 11), N is the number of load cycles, and G is the damage-dependent strain energy

release rate for the ply of interest and is calculated from the following equation:

( M _dO_Lk l

G = VLCijkl[ELijk. -

(B6)

where VL is the local volume. Interactions with the adjacent plies will result in ply strains EL.., which are affected by the

..... tJ • •

strains in adjacent plies. Thus, the strain energy release rate G m each ply will be lmphcltly reflected m the calculation of

the ply-level response, so that equation (B5) is not restricted to a particular laminate stacking sequence. Substituting

equation (B6) in equation (B5) and integrating the result in each ply over time gives the current damage state in each ply

for any fatigue load history.

When the material is subjected to monotonically increasing loads, the rate of change of the internal state variable

M .

O_Lo IS described by

do_LM22 = { [_d(E22 - E22crit) if £22 > £22crit 1

0 if 1322 < E22crit j

(B7)

where E22crit is the critical tensile failure strain and _ is a factor that describes the load carrying capability of the material

after the critical tensile strain has been reached. Elastic perfectly plastic behavior is obtained by setting ]3 = 1. A similar

relationship is used to describe the tensile failure of the reinforcing fibers. The internal state variable for this mode of

damage is (xM and its rate of change is Lil

d(x_ ={ Td(Ell-Ellcrit) ifEll>Ellcrit t

1 0 if Ell < Ellcrit_

(B8)

where _1 lcrit is the tensile fiber fracture strain and y is a factor describing the residual load carrying capability of the

material after fiber fracture has occurred.

B2. Processor Syntax

This processor uses kcywords and qualifiers along with the CLIP command syntax. Two keywords are recognized:

SELECT and STOP.

13
B2.1. Keyword SELECT

This keyword uses the qualifiers listed below to control the processor execution.

Qualifier Default Meaning

LIBRARY 1 Input and output library.

ELEMENT ALL Element type (EX47, EX97) used in the analysis. Default is all element

types found in LIBRARY.

LOAD_SET 1 Load set; i of input data set STRS.xxxx.i.j.

SREF 1 Stress reference frame. Stress resultants may have been computed in

the element stress/strain reference frame (SREF = 0) or in one of three

alternate reference frames. For SREF = 1, the stress/strain x-direction is

coincident with the global x-direction. For SREF = 2, the stress/strain

x-direction is coincident with the global y-direction. For SREF = 3 the

stress/strain x-direction is coincident with the global z-direction. Note that

the processor currently must have the stress/strain coincident with the

global x-direction (SREF = 1).

PRINT 1 Print flag. May be 0, 1, or 2; 2 results in the most output.

STEP 0 Step number in nonlinear analysis (i.e., i in the STRS.xxxx.i.0 data set for

nonlinear analysis).

MEMORY 2 000 000 Maximum number of words to be allocated in blank common. This is an

artificial cap on memory put in place so that the dynamic memory manager

does not attempt to use all of the space available on the machine in use.

DSTATUS 1 Damage state flag. If no damage, DSTATUS = 0. If matrix cracking (cyclic

load), DSTATUS = 1. If matrix cracking (monotonic load), DSTATUS =

22222.

INCSIZE 1.0 Increment size used in damage growth law.

NCYCLE 1 Cycle number.

NINCR I Increment number.

B2.2. Keyword STOP

This keyword has no qualifiers.

B3. Subprocessor and Commands

None. Processor DGI does not have subprocessors.

14
B4. Processor Data Interface

B4.1. Processor Input Data Sets

Several data sets, which are listed below, are used as input for processor DGI.

Input data set Contents

ELTS.NAME Element names

STRS.xxxx.i.j Element stress resultants. Record named INTEG_PTS must exist.

OMB.DATA. 1.1 Material properties including strain allowables

LAM.OMB.*.* Laminate stacking sequence

ES.SUMMARY Various element information

PROEBTAB.2.102 ABD matrix

ISV.xxxx.*.* Internal state variable data set

DEExxxx.*.* Element definition (connectivity) data set

WALL.PROE I. l Shell wall data set

DIR.xxxx.*.* Element directory data set

DGP.DATA. 1. l Damage growth law parameters data set

B4.2. Processor Output Data Sets

Output data set Contents

ISV.xxxx.*.* Internal state variable data set

PDAT.xxxx Ply-level stresses, strains, and damage state

B5. Limitations

Only EX47 and EX97 elements implemented with the generic element processor ES l will be processed by processor DGI. All other elements will be ignored. Currently, the stress reference frame must be coincident with the global

x-direction.

B6. Error Messages

Fatal errors will occur when any of the required data sets are missing from the input data library or when integration

point values of the stress resultants are missing. (See section B4.1 .)

Warning messages will be written and execution will continue when there is a missing or unreadable keyword or

qualifier or when any of the original SPAR elements are encountered.

15
ProcedureES

Processor TAB

Processor AUS

Processor LAU

Processor ELD

Processor E

ProcedureES

ProcedureES

Processor RSEQ

Processor TOPO

Processor K

Processor INV

Continue

Processor DRF

Processor SSOL

ProcedureSTRESS

Processor DGI

B7. Usage Guidelines and Examples

B7.1. Organization of Progressive Failure Analysis on Testbed

The organization of the COMET processors for a progressive failure analysis is shown below. The nonlinear nature

of the damage-dependent constitutive equation requires that this analysis be performed in a stepwise manner. With the

exception of processors DRF and DGI, any COMET processors can be called upon to perform the required tasks.

I. defines element parameters

2. defines joint locations, constraints, reference frames

3. builds tables of material and section properties and applied forces

4. forms constitutive matrix

5. defines elements

6. initializes and creates element data sets

7. initializes element matrices

8. calculates element intrinsic stiffness matrices

9. resequences nodes for minimum total execution time

10. forms maps to guide assembly and factorization of system matrices

11. assembles system stiffness matrix

12. factors system stiffness matrix

13.

14.

15.

16.

17.

18.

forms damage resultant force vectors

solves for static displacements

calculates element stress resultants

calculates ply-level stresses and damage evolution

For next load cycle, go to step 13; else stop

B7.2. Progressive Failure Analysis Input

The following list illustrates the input from a progressive failure analysis. The uniaxially tensile-loaded tapered laminated plate, which is described in the main body of this report, is being solved (fig. 2). The list contains the main program plus a procedure file to perform the calculations for each load cycle.

#

#@\S-me

#

cp $CSM_PRC/proclib.gal proclib.gal .Copy procedure library

chmod u+w proclib.gal

testbed << \endinput

*set echo=off .Do not echo input

*set plib=28

*open 28 proclib.gal /old .Open procedure library

*open/new 1 qoutput.101 .Open outpu_ library

tapered panel

EX47 4 node quad elements

24 nodes, 14 elements

16
*add pffc.clp .Add procedure for repeating calculations

*def/a es_name = EX47 .Element name

*def/a es_proc = ESI .Element processor name

*call ES ( function='DEFINE ELEMENTS'; es_proc = <es_proc> ;--

es_name=<es_name> )

[xqt TAB

START 24 .24 nodes

JOINT LOCATIONS .Enter joint locations

1 0.0 0.0 0.0 20.0 2.0 0.0 8 1 3

8 0.0 i0.0 0.0 20.0 8.0 0.0

CONSTRAINT DEFINITION 1 .Constraints:

zero 1,2,3,4,5: 1,17,8 .Fixed end

zero 6: 1,24 .Suppress drilling DOF

[xqt AUS

SYSVEC : appl forc

.Create input datasets

.Applied forces

I=l : J=8 : 3750.0

I=l : J=16 : 7500.0

I=l : J=24 : 3750.0

TABLE(NI=I6,NJ--I): OMB DATA 1 1 .Ply-level material data

IM7/5260

I=1,2,3,4,5

J=l: 22.162E+6 0.333 1.262E+6 0.754E+6 0.754E+6

I=6,7,8,9

J--l: 0.754E+6 1.0E-4 1.0E-4 0.01

I=i0,ii,12,13,14,15,16

J=l: 0.0 0.0 0.0 0.014 0.014 0.014 0.0

TABLE(NI=3,NJ--3,ITYPE=0) : LAM OMB 1 1

J=l: 1 0.006 0.0

J=2: 1 0.012 90.0

J=3:1 0.006 0.0

.Section properties

TABLE(NI=3,NJ=I,ITYPE=0): DGP DATA 1 1 .Damage evolution data

J=l: 1.1695 5.5109 3.8686E-7

[xqt LAU

ONLINE:2

[xqt ELD

.Create constitutive matrix

.Define connectivity

<es_expe_cmd>

NSECT = 1 : SREF=I

1 2 i0 9

2 3 ii i0

3 4 12 ii

4 5 13 12

5 6 14 13

6 7 15 14

7 8 16 15

9 I0 18 17

17
i0 ii 19 18

ii 12 20 19

12 13 21 20

13 14 22 21

14 15 23 22

15 16 24 23

[xqt E .Initialize element datasets

stop

*call ES (function='INITIALIZE') .Initialize element matrices

*call ES (function='FORM STIFFNESS/MATL') .Form stiffness matrices

[xqt RSEQ .Resequence

reset maxcon=12

[xqt TOPO .Create maps

[xqt K .Assemble global stiffness matrix

[xqt INV .Factor the global stiffness matrix

*def/i ns overwrite=<true>

Call procedure to perform calculations at each cycle

*call PFFC ( es_proc=<es_proc> ; es_name:<es_name> ; --

N_fcycl=l ; N_icycl=2000 ; N_cylinc=5 ; --

NPRT=I00 )

*pack 1

[xqt exit

\endinput

B7.2.1. Procedu_ _pefformloopth_ughcalc_afions _reachioadcycle(filenamepffc.clp)

*procedure PFFC ( es_proc ; es_name ; --

N_fcycl ; N_icycl ; N cylinc ; --

NPRT )

N_fcycl: first fatigue cycle

N_icycl: last fatigue cycle

N_cylinc: cycle increment

NPRT: output storage cycle increment

begin loop here

*set echo=on,ma

*set echo=off

*def icount = 0 .Initialize print counter

*DO :CYCLOOP $NCYL = <[N_fcycl]>, <[N_icycl]>, <[N_cylinc]>

*def icount = ( <icount> + 1 )

*if < <icount> /eq <[NPRT]> /or <$NCYL> /eq 1 > /then

*def iprint = 1

*def icount = 0

*else

18
*def iprint : 0

*endif

*def delinc : <[N_cylinc]>

[xqt DRF

select /PRINT = 0

stop

[xqt SSOL

.Calculate damage resultant forces

.Solve for static displacements

Calculate elemental stress resultants

*call STRESS (direction=l; location= INTEG_PTS; print=<false> )

*if < <IPRINT> /eq 1 > /then

[xqt VPRT

format = 4

print STAT DISP

stop

.Print static displacements

[xqt DGI

select /PRINT = 2

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR = 1

select /NINCR = <$SNCYL>

stop

.Calculate ply-level stresses,

.strains, and damage evolution

*endif

*if < <IPRINT> /ne 1 > /then

[xqt DGI

select /PRINT = 0

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR = 1

select /NINCR = <$SNCYL>

stop

.Calculate ply-level stresses,

.strains, and damage evolution

*endif

*if < <IPRINT> /eq 1 > /then .Store datasets for post processing

*copy i, PLYDT.<ES_NAME>.<$NCYL>.I = i, PDAT.<ES_NAME>.*

*copy i, DISP.<ES_NAME>.<$NCYL>.I = I, STAT.DISP.*

*endif

:CYCLOOP

*set echo=off

*end

19
B7.3. Progressive Failure Analysis Output

The following is a partial list of a progressive failure analysis output produced by processor DGI. Data for postprocessing arc stored in data set PLYDT.xxxx.xxx. 1.

** BEGIN DGI ** DATA SPACE: 2000000 WORDS

CYCLE NUM. = 496

ELEMENT NUMBER 1 TYPE EX47

EVALUATION (INTG) POINT NUMBER 1

REFERENCE SURFACE STRAINS AND CURVATURES

E0-X E0-Y E0-XY K-X K-Y K-XY

0.4619E-02 -0.6946E-04 0.I180E-02 0.0000E+00 0.0000E+00 0.0000E+00

COMBINED BENDING AND MEMBRANE STRESSES, STRAINS, AND MATRIX CRACK DAMAGE

VARIABLE

FOR EACH LAYER OF ELEMENT 1 TYPE EX47

LAYER THETA SIG-I SIG-2 TAU-12 STRAIN-I STRAIN-2 GAMMA-12

0.462E-02 -0.695E-04 0.I18E-02

-0.695E-04 0.462E-02 -0.I18E-02

0.462E-02 -0.695E-04 0.I18E-02

1 0. 0.I03E+06 0.187E+04 0.890E+03

2 90. 0.384E+03 0.578E+04 -0.890E+03

3 0. 0.I03E+06 0.187E+04 0.890E+03

LAYER ALPM-II ALPM-22 ALPM-12

1 0.000E+00 0.122E-II 0.000E+00

2 0.000E+00 0.473E-04 0.000E+00

3 0.000E+00 0.122E-II 0.000E+00

** BEGIN DGI ** DATA SPACE= 2000000 WORDS

CYCLE NUM. = 996

ELEMENT NUMBER 1 TYPE EX47

EVALUATION (INTG) POINT NUMBER 1

REFERENCE SURFACE STRAINS AND CURVATURES

E0-X E0-Y E0-XY K-X K-Y

0.4623E-02 -0.6882E-04 0.I183E-02 0.0000E+00 0.0000E÷00

COMBINED BENDING AND MEMBRANE STRESSES, STRAINS, AND MATRIX CRACK

VARIABLE

FOR EACH LAYER OF ELEMENT 1 TYPE EX47

LAYER THETA SIG-I SIG-2 TAU-12

1 0. 0.I03E+06 0.187E+04 0.892E+03

2 90. 0.382E+03 0.573E+04 -0.892E+03

3 0. 0.I03E+06 0.187E÷04 0.892E+03

LAYER ALPM-II ALPM-22 ALPM-12

1 0.000E+00 0.246E-II 0.000E+00

2 0.000E+00 0.901E-04 0.000E+00

3 0.000E+00 0.246E-II 0.000E+00

K-XY

0.0000E+00

DAMAGE

STRAIN-I STRAIN-2 G_24MA-12

0.462E-02 -0.688E-04 0.I18E-02

-0.688E-04 0.462E-02 -0.I18E-02

0.462E-02 -0.688E-04 0.I18E-02

** BEGIN DGI ** DATA SPACE= 2000000 WORDS

CYCLE NUM. = 1496

ELEMENT NUMBER 1 TYPE EX47

EVALUATION (INTG) POINT NUMBER 1
REFERENCESURFACESTRAINSANDCURVATURES

E0-X E0-Y E0-XY K-X K-Y K-XY

0.4625E-02 -0.6839E-04 0.I184E-02 0.0000E+00 0.0000E+00 0.0000E+00

COMBINEDBENDINGANDMEMBRANESTRESSES,STRAINS,ANDMATRIXCRACKDAMAGE

VARIABLE

FOREACHLAYEROF ELEMENT 1 TYPEEX47

LAYER THETA SIG-I SIG-2 TAU-12

1 0. 0.I03E+06 0.187E+04 0.893E+03

2 90. 0.376E+03 0.568E+04 -0.893E+03

3 0. 0.I03E+06 0.187E+04 0.893E+03

LAYER ALPM-II ALPM-22 ALPM-12

1 0.000E+00 0.372E-II 0.000E+00

2 0.000E+00 0.129E-03 0.000E+00

3 0.000E÷00 0.372E-II 0.000E+00

STRAIN-I STRAIN-2 GAMMA-12

0.463E-02 -0.684E-04 0.I18E-02

-0.684E-04 0.463E-02 -0.I18E-02

0.463E-02 -0.684E-04 0.I18E-02

** BEGINDGI ** DATASPACE= 2000000 WORDS

CYCLENUM.= 1996

ELEMENTNUMBER 1 TYPEEX47

EVALUATION(INTG) POINTNUMBER 1

REFERENCESURFACESTRAINSANDCURVATURES

E0-X E0-Y E0-XY K-X

0.4627E-02 -0.6806E-04 0.I185E-02 0.0000E+00

COMBINEDBENDINGANDMEMBRANESTRESSES,STRAINS,

VARIABLE

FOREACHLAYEROF ELEMENT 1 TYPEEX47

LAYER THETA SIG-I SIG-2 TAU-12

1 0. 0.I03E+06 0.187E+04 0.894E+03

2 90. 0.370E+03 0.564E+04 -0.894E+03

3 0. 0.I03E+06 0.187E+04 0.894E+03

LAYER ALPM-II ALPM-22 ALPM-12

1 0.000E+00 0.500E-If 0.000E+00

2 0.000E+00 0.164E-03 0.000E+00

3 0.000E+00 0.500E-If 0.000E+00

K-Y K-XY

0.0000E+00 0.0000E+00

ANDMATRIXCRACKDAMAGE

STRAIN-I STRAIN-2 GAMMA-12

0.463E-02 -0.681E-04 0.I!9E-02

-0.681E-04 0.463E-02 -0.I19E-02

0.463E-02 -0.681E-04 0.I19E-02

B8. Structure of Data Sets Unique to Processor DGI

B8.1. PDAT.xxxx

Data set PDAT.xxxx contains ply-level damage-dependent stresses, strains, and matrix crack internal state variables. Data are centroidal values. The variable xxxx is the element name. The data for each element are stored in a

record named DAT PLY. ielt, where ielt is the element number. Each record contains n items, where

n : nlayer * 9

and nlayer is the number of layers in the model.

The data are expressed with respect to ply coordinates and are stored in the following order:

1. 011 is normal stress in the fiber direction.

2. 022 is normal stress transverse to the fibers.

3. o12 is shear stress.

21
4. el I is strain in the fiber direction.

5. £22 is strain transverse to the fibers.

6. 1_12is shearing strain.

M

7. O_L I I is internal state variable associated with fiber fracture.

M

8. _L22 is internal state variable associated with mode I opening of the matrix crack.

M

9. a L 12 is internal state variable associated with mode II opening of the matrix crack.

Repeated nlayer times.

B8.2. DGP.DATA.I.1

This data set is created by AUS/TABLE and contains the growth law parameters for the matrix cracking evolutionary relationship. The following variables are used to specify table size:

NI = number of material parameters, for this case 3

NJ = number of material systems, for this case 1

Type = numerical format, such as real or integer

where NI and NJ are the number of columns and rows, respectively and Type specifies numerical format, real or integer.

Each entry contains the following:

1. Growth law parameter _:.

2. Growth law parameter h.

dtXLo

3. Parameter for determining --_-ff-, dpara.

These entries are repeated NJ times.

B8.3. ISV.xxxx

This data set contains the matrix cracking internal state variables at each layer. The variable xxxx is the element

name. The data are stored in a record named ALPAM. 1.

This record contains n items, where

n : nlayer * nintgpt * nelt

and n 1 aye r is the number of layers in the model, nint gpt is the number of integration points for element, and n e 1 t

is the number of elements.

The data are stored in the following order:

M

1. O_L 11 is the internal state variable associated with fiber fracture.

M

2. 0_L2 2 is the internal state variable associated with mode I opening of the matrix crack.

M

3. 0_L12 is the internal state variable associated with mode II opening of the matrix crack.

The data storage occurs for every layer, every integration point, and every element.

22
Appendix C

Residual Strength Program

CI. General Description

This appendix lists a sample program that was used to calculate the residual strength of a cross-ply laminate that was

first fatigue loaded and then monotonically loaded to failure. The program is similar to that described in appendix B for

Processor DGI.

C2. Residual Strength Analysis Input

The following list illustrates the input from a residual strength analysis. The problem being solved is the uniaxially

tensile-loaded open-hole cross-ply laminated plate, which is shown in figure 6, and described in the main body of this

report. The list contains the main program plus two procedure files. The first procedure file performs the calculations for

each fatigue load cycle as described in appendix B. The second procedure file calculates the response during the monotonic loading to failure and is presented in this appendix. The finite element model was created using PATRAN. The file

PT2T.CEHQUADFM.R1.PRC was created with the PATRAN-to-testbed (PT2T) neutral file converter located in

COMET. This file contains all the nodal locations, connectivity matrix, boundary conditions, and applied forces.

#@$-o msg.out

#@$-e msg.err

#@$-q verylong@blackb

#@S-me

#

cp $CSM PRC/proclib.gal proclib.gal

chmod u+w proclib.gal

testbed > notchm.o << \endinput

*set echo=off

*set plib=28

*open 28 proclib.gal /old

*open/new 1 cehquadatm.101

.Send output messages to file msg.out

.Send error messages to file msg.err

.Batchfile queue

.Send mail when run is complete

rectangular panel with circular cutout

quarter panel mesh

552 elements

615 nodes

EX47 4 node quad elements

residual strength after fatigue and monotonic

using monotonic growth law

loading

*add pffb.clp

*add pffdm.clp

*def/a es_name : EX47

*def/a es_proc = ESI

*call ES ( function = 'DEFINE ELEMENTS'; es_proc = <es_proc> ;--

es_name=<es_name> )

[xqt TAB

START 615

*ADD PT2T.CEHQUADFM.RI.PRC .Runstream data from PATRAN modelling

[xqt TAB

*call PT2T_START .615 nodes

jloc

*call PT2T_JLOC .Obtain joint locations from PT2T.* *.PRC

23
CONSTRAINT DEFINITION 1

*call PT2T_BC

.Constraints:

.Fixed end and suppressed drilling dof from

.PT2T.* *.PRC

[xqt AUS

SYSVEC : appl forc

.Create input datasets

.Applied Forces

*call PT2T_AF .Obtain applied forces from PT2T.* *.PRC

TABLE(NI=I6,NJ=I) : OMB DATA 1 1 .Ply-level material property

IM7/5260

I=i,2,3,4,5

J=l: 22.162E+6 0.333

I=6,7,8,9

J=l: 0.754E+6 1.0E-4

I=10, ii, 12,13,14,15,16

J=l: 0.0 0.0 0.0

1.262E+6 0.754E+6 0.754E+6

1.0E-4 0.01

0.015 0.008 0.000 0.0

TABLE(NI:3,NJ:3,itype--0): LAM OMB 1 1

J:l: 1 0.006 0.0

J=2: 1 0.036 90.0

J=3:1 0.006 0.0

.Section properties

TABLE(NI=3,NJ=I,ITYPE=0) : DGP DATA 1 1 .Damage evolution data

IM7/5260

J=l: 1.1695 5.5109 3.8686E-7

[xqt LAU

ONLINE:2

[xqt ELD

*call PT2T_CONN

.Create constitutive matrix

.Define connectivity

.Obtain connectivity from

PT2T.* *.PRC

[xqt E .Initialize initial datasets

stop

*call ES (function='INITIALIZE') .Initialize element matrices

*call ES (function='FORM STIFFNESS/MATL') .Form stiffness matrices

[xqt RSEQ

reset maxcon:12

[xqt TOPO

reset maxsub=200000

reset iram=100000

reset irkm=200000

[xqt K

[xqt INV

.Resequence

.Create maps

.Assemble global stiffness matrix

.Invert global stiffness matrix

*def/i ns overwrite=<true>

Call procedure to perform calculations at each cycle

*call PFFB ( es_proc=<es_proc> ; es_name=<es_name> ; --

N_fcycl=l ; N_icycl=100000 ; N cylinc=20 ;--.Fatigue up to i00,000 cycles

by 20 cycle

24
NSUB=I ; NSTRT=I ; NS_lcycl=50 ; --

NPRT=I000 )

.increments; ramp up in

50 subincrements;

.print datasets every

i000 th increment

Call procedure to perform monotonic loading

*call PFFDM ( es_proc=<es_proc> ; es_name=<es_name> ; --

N_fcycl=l ; N_icycl=2700 ; N_cylinc=l ;--.Increase load in 2700

load steps by 1 step

NSUB=0 ; NSTRT=0 ; NS_icycl=0 ; -- .increment; no subincrements;

NPRT=I00 ) .print datasets every

i00 th increment

*pack 1

[xqt exit

\endinput

C2.1. Procedure to perform loop through c_c_afions _r each _tigue load cycle (file name pffb.clp)

*procedure PFFB ( es_proc ; es_name ; --

N_fcycl ; N icycl ; N cylinc ; --

NSUB ; NSTRT ; NS_icycl ; NPRT )

Original version with subincrements

Single major loop

N_fcycl: first fatigue cycle

N icycl: last fatigue cycle

N cylinc: cycle increment

NSUB: subincrement flag

NSTRT: cycle to start subincrements

NS_icycl: number of subincrements

NPRT: output storage cycle increment

begin loop here

*set echo=on,ma

set echo=off

*def icount = 0

*DO :CYCLOOP SNCYL = <[N fcycl]>, <[N_icycl]>, <[N_cylinc]>

*def icount = ( <icount> + 1 )

*if < <icount> /eq <[NPRT]> > /then

*def iprint = 1

*def icount = 0

*else

*def iprint = 0

*endif

*def $SNCYL = 1

*IF < < <[NSUB]> /EQ i> /AND < <$NCYL> /EQ <[NSTRT]> > > /THEN

*def iscount = 0

*DO SSNCYL = i, <[NS icycl]>

*def iscount = ( <iscount> + 1 )

*if < <iscount> /eq <[NPRT]> > /then

25
*def isprint : 1

*def iscount : 0

*else

*def isprint = 0

*endif

*def delinc = ( 1.0 / <[NS_icycl]> )

[xqt DRF

select /PRINT = 0

select /DSTATUS = 1

select /XFACTOR : 0.0

stop

[xqt SSOL

*if < <IPRINT> /eq 1 > /then

[xqt VPRT

format = 4

print STAT DISP

stop

*endif

*call STRESS (direction=l; --

location= INTEG_PTS; print=<false> )

[xqt DGI

select /PRINT = 0

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR = <$SNCYL>

select /DSTATUS = 1

stop

*if < <ISPRINT> /eq 1 > /then

*copy i, PLYDT.<ES_NAME>.<$NCYL>.<SSNCYL> = --

i, PDAT.<ES_NAME>.*

*copy i, DISP.<ES_NAME>.<SNCYL>.<$SNCYL> -

i, STAT.DISP.*

*copy i, TISV.<ES_NAME>.<SNCYL>.<$SNCYL> = --

i, ISV.<ES_NAME>.*

*copy i, TSTRS.<ES_NAME>.<$NCYL>.<ZSNCYL> : --

i, STRS.<ES_NAME>.*

*endif

*ENDDO

*JUMP :CYCLOOP

*ENDIF

*def delinc = <[N cylinc]>

[xqt DRF

select /PRINT = 0

select /DSTATUS = 1

select /XFACTOR = 0.0

stop

[xqt SSOL

*if < <IPRINT> /eq 1 > /then

26
[xqt VPRT

format = 4

print STAT DISP

stop

*endif

*call STRESS (direction=l; location= INTEG_PTS; print=<false> )

[xqt DGI

select /PRINT = 0

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR = <$SNCYL>

select /DSTATUS = 1

stop

*if < <IPRINT> /eq 1 > /then

*copy i, PLYDT.<ES_NAME>.<$NCYL>.<$SNCYL> = I, PDAT.<ES_NAME>.*

*copy i, DISP.<ES_NAME>.<$NCYL>.<SSNCYL> = i, STAT.DISP.*

*copy i, TISV.<ES_NAME>.<$NCYL>.<$SNCYL> = i, ISV.<ES_NAME>.*

*copy i, TSTRS.<ES_NAME>.<$NCYL>.<$SNCYL> = i, STRS.<ES_NAME>.*

*endif

:CYCLOOP

*set echo=off

*end

C2.2. Procedure to perform monotonic loading c_c_ations (file name pffdm.clp)

*procedure PFFDM ( es_proc ; es_name ; --

N fcycl ; N_icycl ; N_cylinc ; --

NSUB ; NSTRT ; NS_icycl ; NPRT )

File to control monotonic loading to failure

Original version with subincrements

Single major loop

N_fcycl: first load step

N_icycl: last load step

N_cylinc: load step increment

NSUB: subincrement flag (=0, to bypass)

NSTRT: step to start subincrements(=0, to bypass)

NS_icycl: number of subincrements(=l, to bypass)

NPRT: output storage step increment

begin loop here

*set echo=on,ma

*set echo=off

*def icount = 0

*DO :CYCLOOP SNCYL = <[N_fcycl]>, <[N_icycl]>, <[N_cylinc]>

*def icount = ( <icount> + 1 )

*if < <icount> /eq <[NPRT]> > /then

27
*def iprint = 1

*def icount : 0

*else

*def iprint = 0

*endif

*def $SNCYL = 1

.... .°..°° ................ ° ........ °°,° .... oo

• °, ..... °o0 ...... ° .......... °, ..... °o,°.•°°.,

*IF < < <[NSUB]> /EQ I> /AND < <$NCYL> /EQ <[NSTRT]> > > /THEN

*def iscount = 0

*DO $SNCYL = i, <[NS icycl]>

*def iscount = ( <iscount> + 1 )

*if < <iscount> /eq <[NPRT]> > /then

*def isprint = 1

*def iscount = 0

*else

*def isprint = 0

*endif

*def delinc = ( 1.0 / <INS icycl]> )

[xqt DRF

select /PRINT = 0

stop

[xqt SSOL

*if < <IPRINT> /eq 1 > /then

[xqt VPRT

format = 4

print STAT DISP

stop

*endif

*call STRESS (direction=l; --

location= INTEG_PTS; print=<false> )

[xqt DGI

select /PRINT = 0

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR = <$SNCYL>

stop

*if < <ISPRINT> /eq 1 > /then

*copy i, PLYDTM.<ES_NAME>.<$NCYL>.<SSNCYL> _

i, PDAT.<ES_NAME>.*

*copy i, DISPM.<ES_NAME>.<$NCYL>.<SSNCYL> _

i, STAT.DISP.*

*copy i, TSTRS.<ES_NAME>.<SNCYL>.<SSNCYL> = --

i, STRS.<ES_NAME>.*

*endif

*ENDDO

*JUMP :CYCLOOP

*ENDIF

28
..................... . .... . , ..... ° ...........

*def delinc = <[N cylinc]>

[xqt DRF

select /PRINT = 0

select /DSTATUS = 22222

select /XFACTOR = 0.00079

stop

[xqt SSOL

*if < <IPRINT> /eq 1 > /then

[xqt VPRT

format = 4

print STAT DISP

stop

*endif

*call STRESS (direction=l; location= INTEG_PTS;

[xqt DGI

select /PRINT = 0

select /INC_SIZE = <delinc>

select /N_CYCLE = <$NCYL>

select /NINCR : <$SNCYL>

select /DSTATUS = 22222

stop

print=<false> )

*if < <IPRINT> /eq 1 > /then

*copy i,

*copy i,

*copy i,

*copy i0

PLYDTM.<ES_NAME>.<$NCYL>.<$SNCYL> = i,

DISPM.<ES_NAME>.<$NCYL>.<$SNCYL> = i,

TISV.<ES_NAME>.<$NCYL>.<$SNCYL> = I,

TSTRS.<ES_NAME>.<SNCYL>.<$SNCYL> = i,

PDAT.<ES_NAME>.*

STAT.DISP.*

ISV.<ES_NAME>.*

STRS.<ES_NAME>.*

*endif

:CYCLOOP

*set echo=off

*end

C3. Residual Strength Analysis Output

The following lists illustrate the standard output from a residual strength analysis. The print flag is set equal to 0 so

that the only information stored in the output file is the cycle number, failed ply number, the current £1!, and the current

cl I for the failed elements. The stress, strain, and displacement fields arc still stored in the library data sets as are the

internal state variables. How often such data are stored in data sets is up to the user and is controlled by the NPRT variable in the runstream and the *copy 1 command in the procedures pffb. clp and pf f_m. clp.

The first list is at the end of the fatigue loading, cycle number 99981.

** BEGIN DGI ** DATA SPACE: 2000000 WORDS

CYCLE NUM. : 99981

++PLY 1 OF ELEMENT 8 0.1832E-01 0.2743E+06 99981++

++PLY 3 OF ELEMENT 8 0.1832E-01 0.2743E+06 99981++

++PLY 1 OF ELEMENT 9 0.2511E-01 0.3023E+06 99981++

++PLY 3 OF ELEMENT 9 0.2511E-01 0.3023E+06 99981++

29
++PLY 1 OF ELEMENT i0 0.4472E-01 0.3324E+06 99981++

++PLY 3 OF ELEMENT i0 0.4472E-01 0.3324E+06 99981++

++PLY 1 OF ELEMENT 18 0.1554E-01 0.3242E+06 99981++

++PLY 3 OF ELEMENT 18 0.1554E-01 0.3242E+06 99981++

++PLY 1 OF ELEMENT 19 0.1817E-01 0.3324E+06 99981++

++PLY 3 OF ELEMENT 19 0.1817E-01 0.3324E+06 99981++

++PLY 1 OF ELEMENT 20 0.1948E-01 0.3324E+06 99981++

++PLY 3 OF ELEMENT 20 0.1948E-01 0.3324E+06 99981++

EXIT DGI CPUTIME= 1.74

CONVEX COMET VER. 1.5.4 - DEC. 1994 (blackb) 07:19:95 18:58:26

The second list is at load step 715 in the monotonic loading procedure. Since xfactor = 0.00079 in pffdm.clp, and the

applied load is 1572 lb/in, the load step 715 corresponds to applied load + xfactor * applied load *load step = 2460

Ib/in.

** BEGIN DGI

CYCLE NUM. =

** 2000000 WORDS

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

++PLY 3 OF ELEMENT

++PLY 1 OF ELEMENT

DATA SPACE=

715

7

7

8

8

9

9

i0

i0

18

18

19

19

20

2O

28

28

29

29

30

3O

38

38

39

39

40

4O

48

48

49

49

5O

5O

59

59

6O

6O

70

0.1542E-01 0.2988E+06

0.1542E-01 0.2988E+06

0.1965E-01 0.3040E+06

0.1965E-01 0.3040E+06

0.2530E-01 0 3067E+06

0.2530E-01 0

0 2093E+00 0

0 2093E+00 0

0 1674E-01 0

0 1674E-01 0

0 3489E-01 0

3067E+06

3382E+06

3382E+06

3209E+06

3209E+06

3290E+06

0 3489E-01 0.3290E+06

0 1316E+00 0.3384E+06

0 1316E+00 0.3384E+06

0 1728E-01 0.3279E+06

0.1728E-01 0 3279E+06

0 3099E-01 0

0 3099E-01 0

0 8494E-01 0

0 8494E-01 0

0 1595E-01 0

0 1595E-01 0

0 2312E-01 0

0 2312E-01 0

0 5433E-01 0

0 5433E-01 0

0 1555E-01 0

0 1555E-01 0

0.2130E-01 0

0.2130E-01 0

0.2729E-01 0

3297E+06

3297E+06

3389E+06

3389E+06

3291E+06

3291E+06

3297E+06

3297E+06

3366E+06

3366E+06

3317E+06

3317E+06

3292E+06

3292E+06

3337E+06

0.2729E-01 0.3337E+06

0.1883E-01 0.3333E+06

0.1883E-01 0.3333E+06

0.1919E-01 0.3329E+06

0.1919E-01 0.3329E+06

0.1699E-01 0.3312E+06

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

715++

30
++PLY 3 OF ELEMENT 70 0.1699E-01 0.3312E+06

EXIT DGI CPUTIME= 1.68

715++

CONVEX COMET VER. 1.5.4 - DEC. 1994 (blackb) 07:19:95 22:23:34

31
References

1. Stewart, Caroline B.: The Computational Structural Mechanics Testbed User's Manual. NASA TM-100644, 1989.

2. Allen, D. H.; Harris, C. E.; and Groves, S. E.: A Thermomechanical Constitutive Theory for Elastic Composites With DisWibuted Damage. l--Theoretical Development. Int. J. Solids &

Struct., vol. 23, no. 9, 1987, pp. 1301-1318.

3. Allen, D. H.; Harris, C. E.; and Groves, S. E.: A Thermomechanical Constitutive Theory for Elastic Composites With Dislributed Damage. II--Application to Matrix Cracking in Laminated Composites. Int. J. Solids & Struct., vol. 23, no. 9,

1987, pp. 1319-1338.

4. Vakulenko, A. A.; and Kachanov, M. L.: Continuum Theory of

a Medium With Cracks. Mekhanika Tverdogo Tela, vol. 6,

no. 4, 1971, pp. 159-166.

5. Lee, Jong-Won; Allen, D. H.; and Harris, C. E.: Internal State

Variable Approach for Predicting Stiffness Reductions in

Fibrous Laminated Composites With Matrix Cracks. J. Cornposit. Mater., vol. 23, Dec. 1989, pp. 1273-1291.

6. Jones, Robert M.: Mechanics of Composite Materials. Scripta

Book Co., 1975.

7. Allen, D. H.; Nottorf, E. W.; and Harris, C. E.: Effect of

Microstructural Damage on Ply Stresses in Laminated Composites. Recent Advances in the Macro- and Micro-Mechanics

of Composite Materials Structures--Proceedings of the Symposium, ASME, 1988, pp. 135-145.

8. Chou, P. C.; Wang, A. S. D.; and Miller, H.: Cumulative Damage Model for Advanced Composite Materials. AFWAL-TR82-4083, U.S. Air Force, Aug. 1982. (Also available from

DTIC as AD-AI22859.)

9. Lo, D. C.; Allen, D. H.; and Harris, C. E.: A Continuum

Model for Damage Evolution in Laminated Composites.

Inelastic Deformation of Composite Materials, George J.

Dvorak, ed., Springer-Verlag, 1991, pp. 549-561.

10. Lo, David C.; Allen, David H.; and Harris, Charles E.: A Procedure for Utilization of a Damage-Dependent Constitutive

Model for Laminated Composites. NASA TM-104219, 1992.

11. Coats, Timothy William: Experimental Verification of a Progressive Damage Model for Composite Laminates Based on

Continuum Damage Mechanics. NASA CR-195020, 1994.

12. Buie, Kevin Daniel: A Finite Element Model for Laminated

Composite Plates With Matrix Cracks and Delaminations.

M.S. Thesis, Texas A&M Univ., Dec. 1988.

13. Harris, Charles E.; Allen, David H.; and Lo, David C.: A

Mechanics Framework for a Progressive Failure Methodology

for Laminated Composites. Proceedings of the 4th American

Society for Composites Technical Conference, Oct. 1989,

pp. 767-781.

14. Stanley, Gary M.: The Computational Structural Mechanics

Testbed Structural Element Processor ESI: Basic SRI and

ANS Shell Elements. NASA CR-4357, 1991.

15. Allen, David H.; Groves, Scott E.; and Harris, Charles E.: A

Cumulative Damage Model for Continuous Fiber Composite

Laminates With Matrix Cracking and Interply Delaminations.

Composite Materials: Testing and Design, ASTM, 1988,

pp. 57-80.

32
Table 1. Material Properties of Unidirectional Ply of IM7/5260

E11, Msi ....................................................... 22.16

E22, Msi ........................................................ 1.26

G12, Msi ........................................................ 0.75

v12 ........................................................... 0.333

tply, in ......................................................... 0.006

I_llcrit ......................................................... 0.015

F._.22crit ......................................................... 0.008

Growth law parameters:

......................................................... 1.1695

h ......................................................... 5.5109

dpara ............................................. 3.8686 x 10-7

Table 2. Maximum Fatigue Loads Employed in Sample Calculations

Maximum fatigue

Layup Specimen geometry load (R = 0.1), lb/in.

[0/+45/90] s Unnotched 3300

[0/9031s

Open hole

Unnotched

Open hole

2000

2480

1572

33
Start )

Inputfiniteelement mesh,

damagestate,loadingcondition,

andmaterial properties

Calculateelement

stiffness matrices

Assemble and

factor global

stiffness matrix

Calculate damage resultant

forces and update global

force vector

Solve for global

displacements

Calculate elemental

stress resultants

Calculate ply-level

strains, stresses, and

damage evolution

Update damage state

YES

_ No

( _top)

Figure 1. Progressive failure analysis scheme. (From ref. 13.)

34
Z

Z

/

/,

/

/

/

/

/

/

/

20

6

_11f2

(a) Dimensions and boundary conditions.

F

Y

J

I

J

X

_--------_v--__._____________

I--'-"-"

I

I

(b) Finite element model in sample calculation.

Figure 2. Conditions and model of cross-ply laminated composite plate. All linear dimensions are in inches.

35
Cycle

.004 --

2000

1500

1000

.003 500

Damage

variable, .002

in.fin.

.001

1

I I !_ I

0 5 10 ! 5 20

Position, in.

M

Figure 3. Averaged distribution of mode I matrix crack damage variable _22 in 90 ° plies.

11000

10000

9000

Stress,

psi 8000

7000

6OOO

5000

Figure 4.

B

h

B

I I I

0 5 10 15

Position, in.

Cycle

1

500

1000

1500

2000

I

20

Distribution of stress component normal to fibers in 90 ° plies.

36
.1520

.1515

.1510

Extension,

in. .1505

.1500

.1495

.1490

1 500 1000 1500

Cycles

Figure5. Globaldisplacements fromloadredistribution.

2000

NX

1

Y

8

Figure 6. Laminate with central circular hole. All linear dimensions are in inches.

f

N X

v

Loading direction

y

y

lz x

Figure 7. Finite element model for a laminate with a central circular hole.

37
Normalized

stiffness

1.02

1.00

.98

.96

.94

.92

.90

.88

100

, gX

ZX [0/+-45/90] s experimental (3 tests) • •

[0/+45/90]s PDALC prediction

• [0/903] s experimental (3 tests) •

-- [0/903] PDALC edi ti

J J _ J_HI s_ _ J R_t_I pr,

c .....on _l _ _ . ,_,.I , , .....,_

101 102 103 104 105

Number of cycles

Figure 8. Stiffness loss of IM7/5260 laminates with central circular hole.

Failure load,

lb/in.

[0/+45/90] s [0/903] s

6000 -

_1_ Experimental 5000 , Model prediction

4000

3000

2000

1000

0

o= oo oo

Figure 9. Predictions of residual strength.

38
Stress,

ksi

100

80

60

40

20

0

_, _ I,_ ,. I_,., i,, ,, l,. ,_ t,.., i,, ,_ i,.., I

.05 .10 .15 .20 .25 .30 .35 .40

Distance from notch, in.

(a) No damage.

500-

Stress,

ksi

400

300

200

100

, ii Ii, ,, I,, ,__J| I

.05 .10 .15 .20 .25 .30 .35 .40

Distance from notch, in.

(b) Ply discount. T = 0; Ultimate tensile load = 2379 lb.

500

Stress,

ksi

400

300

200

100

I II l'' '' I,, ,. I., ,. I., t, I., ,. I,, ,. I,,., I

.05 .10 .15 .20 .25 .30 .35 .40

Distance from notch, in.

(c) Elastic perfectly plastic. 7 = 1; Ultimate tensile load = 3435 lb.

Figure 10. Fiber failure criteria.

39
(a) Mesh 1. 387 nodes; 336 elements.

iitI/IIIIIII/I//i_ I I I'

_,1_-11J.LllU222Y_ i i i

_/./_7"_fJ_,,,'q I I I

/']f/'[/'i l I I

/,TJ"_"j'[./l l I I

_ I i i

I I I

..,I,,'J,,"l I I I

I I I I

I l I

_ I I I

I I I

_ I I I

i i i

J I I I I I

+

(b) Mesh 2. 1071 nodes; 992 elements.

i i i I i i i ! } i

IIIIIilIIIIIIIil//I////L_ .......... 11

LIII#IIIIIltliilI/I////[,I_'_ I 'i ]1 _ i, : 1 ] _ l 1

j i i i i i I I I I I I

• • t • • . • i i ,

• • i • | l l i i i t

: _ 'I I' 'I I' 1 II It

'/IWi ..........!

] I I I t I I I l I I

] I I I 1 I I I I I [

I I I | I I l I I I

..... i i i i • t I I I I I I I

I

(c) Mesh 3. 2225 nodes; 2112 elements.

+

Y

lz

(d) Mesh 4. 2813 nodes; 2688 elements.

Figure 11. Finite element meshes used in convergence study.

4O
Ultimate

tensile

load, ib

4000

3000

2000

1000

iii!ii_ii!iiiiiiiiiiiii_iiiiiiiii,iiiii iiii_iiiiiiiii!iiiiiiiiiiiiiii_iliiiii_

!iii_!_i_i_!i_iii_i_ii_i_iii_i!!i!i_i!iiii_!i_i!i_iii!_i_ii_i!ii_i!iiii!!i_i!i_i_i_

_!iii_!iii_iiii_ii_iiiii_ii_ii_i_ii!iii!iiii_ii_ii_iiii!i_i!iii_i_iiiiiiiiiiiiiiiii_

387 nodes 1071 nodes 2225 nodes 2813 nodes

336 elements 992 elements 2112 elements 2688 elements

Figure 12. Mesh refinement study for residual strength predictions of [0/+45/90] s laminate open-hold geometry.

41
REPORT DOCUMENTATION PAGE Form Approved

OMB No. 0704-0188

IPubllc reporting burden for this (x)llsctlon of Info¢mstlo_l is emttmatad to everage 1 hour per response, Irtctuding the time for reviewing Inetructiorts, searching existing data Sources,

gathering and maintaining the data needed, and completing ancI re.dewing the collection of information. Send comments regarding this burden estimate or any other aspect of this

oollec_on of Inb'matto_, including suggestions for reducing this burden, to Washington Headquarters Servces, Directorate for Informstlon Operations and Reports, 1215 Jefferson

Davis Highway, Suite 1204, Arlington, VA 22202-4302, end to the Office Of Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503.

1. AGENCY USE ONLY (Leave blank) 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED

November 1996 Technical Memorandum

4. TITLE AND SUbTiTLE S. FUNDING NUMBERS

Progressive Damage Analysis of Laminated Composite (PDALC)--A

Computational Model Implemented in the NASA COMET Finite Element WU 538-02-10-01

Code

6. AUTHOR(S)

David C. Lo, Timothy W. Coats, Charles E. Harris, and David H. Allen

7. P_"HFORMING ORGANIZATION NAME(S) AND ADDHESS(ES) 8. PERFORMING ORGANIZATION

REPORT NUMBER

NASA Langley Research Center

Hampton, VA 23681-0001 L- 17545

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/MONITORING

AGENCY REPORT NUMBER

National Aeronautics and Space Administration NASA TM-4724

Washington, 1)12 20546-0001

11. SUPPLEMENTARY NOTES

Lo: Texas A&M University, College Station, TX; Coats: Old Dominion University, Norfolk, VA; Harris: Langley

Research Center, Hampton, VA; Allen: Texas A&M University, College Station, TX.

12a. Di,_iHiHUTION/AVAILABILITY STATEMENT

Unclassified-Unlimited

Subject Category 39

Availability: NASA CASI (301) 621-0390

12b. DISTRIBUTION CODE

13. ABel.ACT (Maximum 200 words)

A method for analysis of progressive failure in the Computational Structural Mechanics Testbed is presented in

this report. The relationship employed in this analysis describes the matrix crack damage and fiber fracture via

kinematics-based volume-averaged variables. Damage accumulation during monotonic and cyclic loads is predicted by damage evolution laws for tensile load conditions. The implementation of this damage model required the

development of two testbed processors. While this report concentrates on the theory and usage of these processors,

a complete list of all testbed processors and inputs that are required for this analysis are included. Sample calculations for laminates subjected to monotonic and cyclic loads were performed to illustrate the damage accumulation,

stress redistribution, and changes to the global response that occur during the load history. Residual strength predictions made with this information compared favorably with experimental measurements.

14.SUBJECTTERiS

Composites; Graphite/epoxy; Damage; Matrix cracks;

strength; Internal state variables; Finite element code

117. SECURITY CLASSIFICATION

OF REPORT

Unclassified

18. SECURITY CLASSIFICATION

OF THIS PAGE

Unclassified

NSN 7540_1-28_5500

Stiffness loss; Residual

19. SECURITY CLASSIFICATION

OF ABSTRACT

Unclassified

15. NUMBER OF PAGES

42

16. PRICE CODE

A03

20. LIMITATION

OF ABSTRACT

Standard Form 298 (Rev. 2-89)

Prescribed by ANSi Std. Z39-18

298-102