You are on page 1of 36

Computer methods in applied mechanics and englneerlng

ELSEVIER Comput. Methods Appl. Mech. Engrg. 115 (1994) 197-232

Damage 90: a post processor for crack initiation
Jean Lemaitre*
Prof. Universite’

*’

Issam Doghri
of

~niversi~ Received 10 December

of

1992

A post processor is fully described which allows the calculation of the crack initiation conditions from the history of strain components taken as the output of a finite element calculation. It is based upon damage mechanics using coupled strain damage constitutive equations for linear isotropic elasticity, perfect plasticity and a unified kinetic law of damage evolution. The localization of damage allows this coupling to be considered only for the damaging point for which the input strain history is taken from a classical structure calculation in elasticity or elastoplasticity. The listing of the code, a ‘friendly’ code, with less than 600 FORTRAN instructions is given and some examples show its ability to model ductile failure in one or multi dimensions, brittle failure, low and high cycle fatigue with the non-linear accumulation, and multi-axial fatigue.

During the’past decades, the problem of macrocrack growth up to failure of structures has received much attention through the tremendous development of fracture mechanics. Crack initiation, which requires a knowledge of what happens before a mesocrack breaks the representative volume element (RVE), cannot be treated by classical fracture mechanics dealing with pre-existing meso or macro cracks. The usual engineering method of predicting the crack initiation consists of using some phenomenological or empirical criteria or relations to define the conditions of local rupture of which the following are examples: - a critical value of the maximum principal stress; - the von Mises equivalent stress or better the damage equivalent stress equal to some critical value for brittle fracture [l]; -the von Mises equivalent plastic strain equal to some critical value for ductile failure or better the micro-void growth models up to instability [2,3]; - the Manson-Coffin law for low cycle fatigue [4,5] - the Woehler-Palmgreen Miner rule for high cycle fatigue [6]; - for creep, a relation between the stress and the time to rupture corresponding to an infinite strain flow in a creep constitutive equation 173 or a stress criterion based on a linear combination of the stress tensor invariants [8]. The poor accuracy of such predictions in complex cases comes from the inability of those models to

* Corresponding

author.

1Visiting Professor at University of California, Santa Barbara.
00457825/94/$07.00 @ 1994 Elsevier Science B.V. All rights reserved 0045-7825(93)E0216-U

take into account the history of loadings and for most of them, the difficulty of being written in three-dimensions. The tool for modeling the evolution of the progressive deterioration of materials up to a mesocrack initiation is the damage mechanics which was developed after fracture mechanics but which is now in its stage of maturity. A continuous damage variable is introduced as an internal variable. It is of tensorial nature, but it reduces to a scalar if the damage is isotropic [9] which is the hypothesis considered here. It is the maximum equivalent area density of microcracks or microcavities which lies in any cross plane that can be defined in a RVE [lo]:

where &S is the area of the most damaged cross section of the RVE and &S, is the equivalent area of the microcracks and microcavities in 6s. The concept of effective stress Gii = aij/( 1 - D) [ll] associated with the principle of strain equivalence [12] allows one to write the Helmholtz free energy t,!tin the framework of the thermodynamics of irreversible processes. The couplings or uncouplings between elasticity, plasticity and damage are identified and modeled in accordance with the ‘state kinetic coupling theory’ [13] which defines a logical procedure to choose the analytical expressions of the state potential r(l and the potential of dissipation F from which are derived the kinetic constitutive equations. If small deformations and linear isotropic elasticity are assumed, I+G =5 [A &Q&z + (1 + v)Ll _ 2v) ciil (1 - D) + terms for plasticity ,

where &piis the elastic strain tensor, E and Y are the Young’s modulus and Poisson’s ratio and p is the mass density considered as a constant. The law of elasticity coupled to damage is derived from q,=p$=E(l-D) or l+V &?. =11 E 6, - z iQij E operator , 6, = 1 if i = j, 6, = 0 if i #j. The associated variable to D is defined by

dk4,
(1+ v)(l - 2v)

8, is the Kronecker’s

Y is the strain energy density release rate [14] defining the power dissipated in the damaging process as +,=YD>O, D=$, tbeingthetime.

It can be written in a close form as

4qR,
Y=2E(1-D)2’ where Use is the von Mises stress C_ = ($~ycry)~‘~, CJ~ is the stress deviator a: = aii - a,?jij, a, is the hydrostatic stress an = 3 wkk, and R, is the triaxiality function which depends on the triaxiality ratio u,/u_i, i.e. R, =;(I + v) + 3(12~)(?)‘.
eq

This allows the definition of the damage equivalent stress u* as the one-dimensional stress which gives, for the same value of the damage, the same elastic strain energy density W, as the three-dimensional state [l]. Since Y = w,/(l - D), then U* = creqRt". These basic concepts of damage mechanics are used in Section 3 to derive the set of constitutive equations.

2. Locally coupled analysis of damage in structures In most applications, the damage is very localized in such a way that the damaged material occupies a volume small in comparison to the macroscale of the structural component and even to the mesoscale of the RVE. This is due to the high sensitivity of damage to stress concentrations at the macroscale and to defects at the microscale. This allows us to consider that the effect of the damage on the sate of stress and strain occurs only in very small damaged regions. In other words, the coupling between damage and strains may be neglected everywhere in the structure except in the RVE(s) where the damage develops. This is the principle of the locally coupled analysis [15, 161 where the procedure may be split into the following two steps as shown in Fig. 1: - a classical structure calculation in elasticity or elastoplasticity by the finite element method (FEM) or any other method to obtain the fields of strain and stress; - a local analysis at the critical point(s) only dealing with the elasto-plastic constitutive equations coupled with the kinetic law of damage evolution, that is a set of differential equations. This method is much simpler and saves a lot of computer time in comparison to the fully coupled analysis which takes into account the coupling between damage and strain in the whole structure. The fully coupled method must be used when the damage is not localized but diffused in a large region as in some areas of ductile and creep failures [17]. The locally coupled analysis is most suitable for those cases of brittle or fatigue failures when the structure remains elastic everywhere except in the critical point(s). If the damage localizes, this is of course because stress concentrations may occur but also, because some weakness in strength always exists at the microscale. Let us consider a micro-mechanics model of a RVE at mesoscale made of a matrix containing a micro-element weaker by its yield stress, all other material characteristics being the same in the inclusion and in the matrix (Fig. 2). - The behavior of the matrix is elastic or elasto-plastic with the following characteristics of the material: yield stress uy, ultimate stress a, and fatigue limit of (o, < my,). - The behavior of the inclusion is elastic-perfectly plastic and can suffer damage. Its weakness is due to a plastic threshold which is taken to be lower than uy and equal to the fatigue limit of if not known by another consideration

Fig. 1. Locally coupled analysis of crack initiation.

the damage equivalent stress may vary differently at different points as functions of the time-like parameter defining the history. Then. The result of the calculation is a crack initiation at microscale that is a crack of the size of the inclusion. Another point of interest is the mesocrack initiation criterion. If the loading is proportional. there is no boundary value problem to be considered.D. The fatigue limit of the inclusion is supposed to be reduced in the same proportion: The second assumption which makes the calculation simple is the Lin-Taylor’s strain compatibility hypothesis [18] which states that the state of strain at microscale is equal to the state of strain imposed at macroscale. Below the fatigue limit ur no damage should occur. this is the point M* where at any time the damage equivalent stress is maximum. A small u* for a long time may be more damaging than a large u* for a short time! There is no rigorous way to select the critical point(s) but an ‘intelligent’ look at the evolution of u* as a function of the space and the time may restrict the number of the dangerous areas to a few points at which the calculation may be performed. that is constant principal directions of the stresses.d . Another interesting relation comes from the matching between damage mechanics and fracture mechanics. Two scale representative volume element.200 - c- - Fig. . its area is 6A = d’. The determination of this critical point is the bridge between the FEM calculation and the post processor. Y = Y. 2. This corresponds to a value of the strain energy release rate at mesoscale G that may be calculated from the variation of the strain energy W at constant stress.*. yields G (6A) = Y. u&. Only the set of coupled constitutive equations must be solved for the given history of the mesostrains at the critical point(s). If the loading is non-proportional. = Max(u(*.))+ M* . But -6 W/2 is also the energy dissipated in the inclusion by the damaging process at constant stress. Writing the equality between the energy dissipated by damage at microcrack initiation and the energy dissipated to create the same crack through a brittle fracture mechanics process.. DC d31 0 YdD 6A ’ G (6A) = Assuming a constant strain energy density release rate.

. The following hypotheses are made: . in Section 2).linear isotropic elasticity. the code described in Section 4. This shows that where is the accumulated plastic strain.where G. Nevertheless. Y /i or . is the instability of the meso RVE. It yields Comparing the two relations for shows that GcsA)= G. The latter hypothesis is justified by the fact that in most cases damage develops when the accumulated plastic strain is large enough to consider the strain hardening is saturated.small deformation. Then. (mesocrack initiation if as demonstrated . brittle. Y ifpsp. a constant characteristic of each material. 3. Y2 d& ‘= 2E(1-Dj2 =e’ +2S(l-D)’ where S is a damage strength. low or high cycle fatigue damage derives from the potential of dissipation in the framework of the state kinetic coupling theory D31. valid for any kind of ductile.3 allows one to consider stepwise perfect plasticity in order to take into consideration high values of strain hardening and the cyclic stress-strain curve for multilevel fatigue processes. . is bounded by the fatigue limit and the ultimate stress The plastic constitutive equations are derived in the most classical way from the yield function in which the kinetic coupling with damage obeys the strain equivalence principle applied on the plastic yield function: The plastic strain rate derives from f through the normality rule of standard materials [19]. . is the toughness of the material. The kinetic law of damage evolution.perfect plasticity. G. . the criterion of microcrack initiation is also the criterion for a brittle crack instability at mesoscale.uncoupled partitioning of the total strain in elastic strain and plastic strain eij = eQ + E:. The threshold of plasticity a. where h: is the plastic multiplier.

3). corresponds to an instability [20].202 J.. 0 a proportional CT2R loading for which R. and the tensile decohesive ultimate stress oU together with R. Consider the material of the inclusion having a plastic threshold stress oS and a fatigue limit of = of/o. it is related to the energy stored in the material. If piecewise perfect plasticity of several thresholds .. related to the stress to rupture a. Methods Appl.. Engrg.p. it can be related to a certain amount of energy dissipated in the damaging process D. Doghri I Comput. Considering that the threshold pD is governed by a critical value of this energy identified from the unidimensional reference tension test having a damage threshold up. The second principle of thermodynamics states that in the absence of any damage. . considered as the ‘physical yield stress’ (Fig. the energy dissipated in heat is v. I 0 Y dD = constant at failure . Then the stored energy density is w. a” (Us cT. = const. a plastic threshold equal to the ultimate stress mUand a fatigue limit Up.c..P plastic constitutive equation.IEPD . = I uii ds. Modelling a stress-strain curve pb is a damage threshold corresponding to microcrack nucleation. 11. 3. .)PD = t”u gff)EPD and PD = EPD 3 s Uf with of = a:/~~.urP oSsiis considered wS = C usi(Pi -Pi-l) and pD is defined by PgOusi(Pi -Pi-l) - urPD = tau - a. (r2R --fgDc=$~. The critical value of damage at mesocrack initiation D.5 (1994) 197-232 Fig. = 1 gives the rupture criterion. ..U.cr!)p . From the perfectly w. Mech. Lemaitre. Assuming for that calculation CT2R edD=eD. = (a. Nevertheless. Taking again the pure tension test as a reference which gives the critical value of the damage at mesocrack initiation D. 1.

(1 .lE( 1 2u. S. &‘H= E” + . for damage. in this model it is the damage which governs the plastic strain. 4 and as a function of Fig. The yield stress cry and the ultimate stress a. D. it is an important task to determine the material coefficients in each case of application. cpD. uu and the choice of a. In order to be able to perform numerical calculations. Then UH -=-Ueq E l-2V EH US. As the plastic strain rate .2. Note also that the perfect plasticity hypothesis allows one to write only as a function of the total strain. 2N As. Those coefficients are: and v for elasticity. 4(a). const.Uf * Mesocrack initiation occurs if D = 1. where N is the number of cycles. since U” = E(l-D) &K7 l-2V eq = a.D) . of 3. uf.. Usually The damaged parameters write [21] are deduced from the measurement of .= { 0. 4(b) since 2u.that is Collecting all the equations gives the set of constitutive equations to be solved by a numerical analysis: 3 6. 2 as P. &. for plasticity. This is always difficult because one is never sure that the handbook or the test results used correspond exactly to the material considered in the application.s&) and 0. and Ij is related to the damage rate d. iff<O. They can be easily obtained from a tensile stress-strain curve with unloadings or from a very low fatigue test at constant strain amplitude (NR s 10) as those of Fig. uy . if pap. . A classical experimental procedure with strains measured by strain gauges permits the determination of Young’s modulus Poisson’s ratio v and also the damaged elasticity modulus i? as defined on the graphs of Fig. are also of a classical procedure. in Fig.6 as the law of elasticity allows .. ifp<p.$ is governed by p. U” . The fatigue limit uf is the stress for which the number of cycles to failure NR in a high cycle fatigue test is very large: NR z lo6 to 10’ cycles.. 4. iff=k CT f=-&-us.

and for a given total strain increment.take crS= of for the highest bound on the time-like loading parameter to . Numerical procedure The method used is a strain driven algorithm: at each ‘time’ (or time-like parameter) increment.the critical value of the damage defined by Max(D). of accuracy needed in the crack initiation. 5. We show here that the general numerical procedure [22] becomes particularly simple and efficient because it is analytically derived in a closed form. 4. Identification (%. Identification of damaged parameters. 5 from which it is easy 1 and D = (afI2ES)@ .take crS= gU for the lowest bound on the time-like loading parameter to Fig. crack initiation.204 A& (4 Fig. The plastic yield threshold a. .).the damage threshold defined by EPDIj = 0 . (b) very low cycle fatigue test D=l-g.+l).. the damage D is plotted versus the accumulated plastic strain as in to deduce: . is a matter of choice regarding the type calculation: . one knows the values of the stresses and the other material model variables at the beginning of the increment (t. of elasto-plastic and damage parameters. (a) Tensile stress-strain (b) curve. since in one dimension -the damage strength S as S = . *D l- Fig.) and they have to be updated at the end of the increment (t. Then.

h and their partial derivatives and Cp are defined by C.=o. h+$:c. This non-linear f system is solved iteratively by Newton’s method. where 17 is the fourth order identity tensor and Since N C J-N:h P and N: &Vi&% = 0. Then the solution at t has to satisfy the following relations: f = GeqCT.E:) . is a deviator% tensor. If we replace Aep by its expression in the second where equation.. First let us prove that C. The set of equations for f and ii may be rewritten as f +N:C.=Atrel+2~(e-~~-AeP). The rate relations of Section 3 are discretized in an incremental form corresponding to a fully implicit integration scheme which presents the advantage of unconditional stability [23]. the system gives explicitly the correction for p: 3P - We shall prove that the correction for & can also be found explicitly. Tensorial notation is used for convenience. & and p.). . So. where A. and I_L are the Lame coefficients the and 1 is the second order identity tensor. -cl”s=O.In the following. For each iteration (s). we have +~:c. All the other ‘plastic’ variables arc equal to their values at t. Let us find @ and p which satisfy f=K. The ‘corrections’ C. = 0 ) r7.A~*=NAp. If f > 0. The starting iteration (s = 0) corresponds to the elastic predictor._ If this ‘elastic predictor’ satisfies the yield condition f Q 0.=u. From the second equation of the system and using the expression of aNlaG.(4. then the assumption is valid and the computation for this time increment ends. and Cp = (P)~+~ . AD=:Ap.=u. and N = $(GD/GG.(P). .+$c. We first assume that the increment is entirely elastic. are taken at in+1 and at the iteration (s). one obtains tr(C&) = -tr h . = (G)s+l . s where f. we have ci:= A tr &I+ 2p(s . we see that the problem isreduced to the first two equations for the two unknots. the subscript (n + 1) is omitted and all the variables which do not contain subscript (n + 1) are computed at t. this elastic state is ‘corrected’ as explained in the following in order to find the plastic solution..

is reached. We assume that during a number AN of cycles.] = (3A + 2~) tr E = tr[( 6)J = constant . with or without damage. These relations being true for any iteration (s).e. It allows one to ‘jump’ large numbers of cycles for a given approximation to the final solution. 4. this method is a fully implicit scheme with the advantage of an explicit scheme. Let be the increment of over this cycle. remains linear versus N with the slope This number AN is given by - where Afiis a given value which determines the accuracy on accumulated plastic strain. Once and 6 are found. E’ and D are calculated from their discretized constitutive equations and the stress components are given by cij = (1 . This number AN is given by .. tr[( G). a simplified method has been proposed [24] and a slightly different version is used in this work. yields for the second equation of the system.D)Gij.206 Using the definitions of h and C. A:C. For periodic loadings of fatigue with large number of cycles. Let us remark that the method described above can be applied to the case of non-linear isotropic and kinematic hardenings. We assume that during a number L\N of cycles. when (i) the calculation is performed with a constant value of the damage (fi = 0) until a stabilized cycle N. when (i) the calculation is performed until a stabilized cycleN. # 0. L+ApN@N. and in this case A-‘= 1++p eq i7+$ApN@N eq I. to (i) (b) Following damage growth (i. = -h -$f-N:~)N. the computation step by step in time becomes prohibitive and the complete computation is out of the reasonable occupation of any computer. (a) Before any damage growth (i. pnd D remain linear versus N with the slopes and respectively.) = 0 and the proof is achieved. then tr(C. for G 1 h -l Using this expression gives explicitly the correction -$f-N:~)N - 1 l+$Ap eq To summarize. no linear system is to be solved and the unknown are updated explicitly. is reached. (ii) a jump AN of cycles is performed and is updated as +AN. Then a fully coupled elasto-plastic and damage computation is performed for the next cycle.e. respectively. For that reason.2.+. Let and SD be the increments of and D for this cycle. Using this last result together with the expressions of aNla6 and C. eq where A= i ’ One can also check the following result: the tensor A is invertable if and only if Gek.

+ 1) +AN. epD = 10%) D. The post processor DAMAGE 90 A computer program called DAMAGE 90 has been written as a ‘friendly’ code on the basis of the method developed. D.. 5. It is designed to be used as a post processor after a FEM code.99. = 200 MPa.. each total strain cij varies linearly between two given ‘peak’ values. v = 0. sometimes it fails and the values of AD or G must be changed.. However. = 0. or a simplified one using the jump in cycles procedure described in Section 4..99 and &11 as the main input. (b) Piecewise periodic history: in this case. and the stresses aii up to crack initiation. DAMAGE 90 distinguishes between two loading cases: (a) General loading history: in this case.06 MPa.4 are listed in Appendix A together with the results. S AD = 50 and Ap = -Y(G) AD. ff.3. Appendix B is the complete Fortran listing of the program DAMAGE 90. - For this work. Case of ductile damage The material data are those of a stainless steel: E = 200 000 MPa. = D. we chose D. = Pure tension at microscale The pure tension case at microscale is obtained by giving pD = epD = lo%. 300 MPa. DAMAGE 90 asks the user if he wishes to perform a complete calculation. Examples The following examples were performed with the DAMAGE 90 code in order to point out the main properties of the constitutive equations used together with the locally coupled method.3.where AD is a given value which determines the accuracy on the damage. it may be used in an interactive way. DAMAGE 90 is written in FORTRAN 77 as available on a CONVEX computer. 4. The input data are the material parameters and the history of the total strain components eij. DAMAGE 90 assumes a linear history between two consecutive given values. the history is defined by the values of . a.+l)+AN+p D(N. S = 0.SD Go to (i) The choice of & and AD is of first importance. (ii) A jump E of cycles is performed and p and D are updated as p(N.2 if the number of cycles is large. In all the examples of Section 5.sij at given ‘time’ values. the accumulated plastic strain p. the loading is defined by blocks of cycles. the average computing time on the CONVEX machine was between 1 and 15 s for each run. and contains about 600 FORTRAN instructions. This method gives good results but as any heuristic method. + 1 +AN) = D(N. 5. = 0.+l+AN)=p(N. DAMAGE 90 computes the other strains . a. In each block. = 500 MPa. DAMAGE 90 gives as output the evolution of the damage D. where As is the strain amplitude .1. The questions asked by DAMAGE 90 for a case corresponding to an example of Section 5.

5 400 5 500 The results are shown in Fig. Fig. As from the this fixes the value of sI1 + sz2 = 3~~.. 115 (1994) 197-232 which represents the elasto-plastic contraction resulting in the incompressible plastic flow hypothesis (& = &!& = -+&yl). 7 and 8. uY = 250 MPa. each point sI1 was chosen and cz2 taken as cz2 = 3~~ .2. For a better representation of the large strain hardening of that material. the piecewise perfect plasticity procedure is used with the following data: 0 us (MPa) 200 0. 6. 5. Case brittle damage The material data are those of a ceramic: E = 400 000 MPa. The influence of the triaxiality (ratio an/a. 6 where the strain softening and the damage are linear functions of the strain as it is introduced in the constitutive equations. showing the classical strong effect of the triaxiality which makes the rupture more and more brittle ( pR .. Engrg. . 7. Doghri ! Comput. epR is the strain to rupture in pure tension ~.sz2= (YEAS. I. = 500 MPa. Elastoplasticity and ductile damage in pure tension at microscale. Lemaitre.). Y = 0. epn = 19. for constitutive equations. = [E/(1 . = 300 MPa.208 J. loo_ Fig. &pD = 0. or = 200 MPa. Q = 0.) upon the accumulated plastic strain to rupture pR was obtained by calculations for which in each of them mH/ueeqis fixed to a certain value. Methods Appl. The points of the limit curve in strains corresponding also to rupture were obtained with proportional loading in strain histories: . = 0. a. s = 0.25 300 1. Then. The results are plotted in Figs.05. Plane Those cases of two-dimensional loadings were performed in pure perfect plasticity with a plasticity threshold a.6%. = l/3. = a. D.00012 MPa..la. Effect of the triaxiality upon the strain to rupture. on /a.Q. Mech...2.2v)](s./a.pD) + 0 [2] and the classical ‘S’ shape of the limit curve of metal forming [25] here in plane strains.

I. which obey the same energetic mechanisms. Low In the damage model. The plastic threshold is taken as as = 200 MPa. according to the hypothesis. 10 at microscale where the effect of damage is sensitive. it is valid even when a cycle cannot be defined. elr is the main input and the two other principal strain components are imposed as . this induces a pure tension in the elastic range but a three-dimensional state of stress occurs as soon as the plastic threshold is reached due to the difference of the elasto-plastic contraction of the inclusion and the elastic contraction imposed by the matrix..J. written as a damage rate equation.~ei. 115 (1994) 197-232 209 Fig.a O-9 Fig. there is no difference in the equation between low and high cycle fatigue. 8. Lemaitre. Methods Appl.3. At microscale. Crack initiation limit curve in plane strains. The material data are those of an 0 0 I 1 I 2 I 3 I 4 I 5 I 6 I ? I 8 E. An elastic tension case is considered at mesoscale. Furthermore. 9. 5.ez2= es3 = . Stress-strain and brittle damage at mesoscale in pure tension.. Doghri I Comput. 9 for the behavior at mesoscale where no appreciable plastic strain appears and in Fig. Mech. Engrg. The results are shown in Fig. .

Stress-strain and damage at microscale when pure tension is applied at mesoscale. the ratio N. showing the evolution of the strain &II and the stress-strain loops (ull. 10.5 440 +4. 11.32.99. the equivalent stress ueeqand the accumulated plastic strain p together with the damage D.1. increases as NR increases. = 303 MPa. I I 10’ 10’ lo’ Id N at microscale. a.47 308 +1 370 +3. E11) as a function of the number of cycles.) is also reported. &pn = lo%. D. = 306 MPa. In order to take into account the cyclic strain hardening the following plastic thresholds taken from a cyclic stress-strain curve are considered for the different constant strain amplitudes imposed: 20. aluminum alloy: E = 72 000 MPa. v = 0. Fig. 11 in which the number of cycles to damage initiation N.. . As for the example of Section 5. (p =p. 12. the other strains being computed by DAMAGE 90.. a. s = 6 MPa. = 0. Fatigue rupture curve in pure tension . I II I I . The details of the results corresponding to the case AE~~= 7% are given in Fig.lN. As shown by experiments. aU = 500 MPa.5 460 The number of cycles to rupture obtained are given as a function of the strain amplitude imposed in Fig. pure tension cases at microscale are considered by giving as input data eli..210 0 Fig.43 305 +0.425 us (MPa) 303 kO.

generally Nl N2 NR1(Aq) + NRZ(A~2) < ’ ’ if ‘&I> A&z’ N1 N2 NR. &22= &33= .00 Fig.mll.00 200. The four similar graphs are shown in Fig. An important feature of fatigue damage is the non-linearity of the accumulation of damages due to oadings of different amplitudes. 12. It is interesting to compare this with the case of a pure elastic tension case at mesoscale inducing a hree-dimensional state of stress at microscale. Results of a very low cycle fatigue in pure tension at microscale AE~~ = 7%.L 40. NR = 40 cycles.5%.600% 400. 12 except hat the strains applied are &ii = +3.00 1:i. If a two level loading history is considered with N1 cycles at the strain amplitude A&i and N2 cycles at the strain amplitude AF* with N1 + N2 = NR the number of cycles to upture. -3.00 0.00 -400. in contrast with the Palmgreen-Miner rule.M) I -200. The same input are used as for the case of Fig.(Ael) + NRZ(A&J ’ ’ ’ if A&l< A&z’ .00 50.

47% for the highest level . they are in good qualitative agreement ‘-0. fatigue at microscale Nal and Na. This effect was studied with the same material data as those in Example 5. NR = 7720 cycles NR = 109 570 cycles .00 0..00 -500.425% for the lowest level . Results of a very low cycle fatigue in pure tension at mesoscale inducing three-dimensional he. diagram of Fig. The results are given in the accumulation with experimental results.00 IO Em3 -2000.00 -0.3 and 5.15Ot20 1000.00 -1000. The game played with DAMAGE 90 consisted of finding the state of strains which produces a given number of cycles to failure.06 -0. +0. Two cases of multi-axial fatigue were studied: biaxial fatigue and fatigue in tension and shear.04 -0.00 -1500.s33= -VEX1. . This was done by repeated trial from many calculations.4. Both were performed with the material data of Examples 5. and AQ.02 0.sz2= . NR = 8. being the number of cycles to failure corresponding to the constant amplitude cases of fatigue respectively at As. 14. 13.00 500.04 Fig. = 7%.3 for a one-dimensional case at mesoscale .

Biaxial fatigue in plane strain. =+-Y 9 E33 = Fig. 14. 15 shows contours of cycles to failure corresponding This is the same type of calculation with El1 = +x ) El2 = 2Y9 all other components = 0. . Fig. A plane state of strain is considered = +x ) E22 with the following in phase strains: 0.213 N2 “z.a . Accumulation diagram for two level tests in tension at mesoscale. 15. to NR = 7800 cycles.6 Fig. .

bl M. An integration algorithm and the corresponding consistent tangent operator for fully coupled elastoplastic and damage equations. Tekhn. Dufailly. These de Doctorat es Sciences. Billardon and I. Nauk 8 (1958) 26. [I71 A. Modelling complex behaviors of metals by the “State Kinetic Coupling” theory. Japan (1971).2 I .4_ . Plasticite couplee a I’endommagement en conditions quasi-unilaterales pour la prevision de I’amoqage des fissures. [41 S. . Lienard. J. On damage criteria. On the equations of state for creep. These de Doctorat es Sciences. Proc. Benallal. Hoff. Appl. Mechanics of Solid Materials (Cambridge University Press. t1-21 J. [Ill Y. Solids 20 (1972) 381. Rabotonov. Criteres d’instabilities plastiques et endommagement ductile en grandes deformations. 16. 1978. Localization bifurcation analysis for damage softening elasto-plastic materials. . [I81 G. Fig. I71 N. Cumulative damage in fatigue. Lemaitre.F. Trans.214 i!v 2 . 1989. Fracture 42 (1990) 87-99. NSF Workshop on Mechanics of Damage and Fracture. Popov. Universite Paris 6. D. WI A. J. Universite Paris 6. Thermoviscoplasticite et endommagement des structures. WI R. Universite Paris 6. Mech. Strain Localization and Size Effect due to Cracking and Damage (Elsevier. Description thermodynamique et phenomenologique de la viscoplasticite avec endommagement. (1968). Etude de la rupture par la mtcanique de I’endommagement. Mazars and Z. Cordebois. NACA Tech. These.L. 21 (1985) 1561-1576.S. Fonseka. Bazant. 1170. Fatigue in tension and shear strains imposed. Atlanta. Mech. ASME (1954) 76-931. Comm. Chaboche. [lOI L.M. J. Lemaitre and J. Mech. 1990). I91 D. Solids 17 (1969). Appl.I. Billardon.3 I . PI F. Kachanov. Numer. Lemaitre and D.L. A criterion for ductile fracture by the growth of holes. PI D. 1963) 307. Doghri. Numer. Study on the effects of cyclic thermal stresses in a ductile metal. Micro-mechanics of crack initiation. Rep. 1954. These de Doctorat es Sciences. Appl. Evaluation of dissipation and damage in metals submitted to dynamic loading. Chaboche. Taylor.l_ 0 0 I .J. ASME J. Methods 4 (1988) 731-740. Doghri. ASME Winter Meeting. GA (1982). 20 (1953) 105-108. 16 summarizes the results for the same number of cycles to failure. Lemaitre. WI J. Phys..A. Lemaitre and J. Accuracy and stability of integration algorithms for elastoplastic constitutive equations. Inst. R. [31 J.U. (1938) 62-307.l I . [51 F. Mech. J. Rice and D. Int. [I61 J.I_ . New York. C. Fract. Behavior of materials under conditions of thermal stress. 28 (1987) 643-661. J. in: J. Billardon and I. Applications a I’emboutissage. Mech. Met. The continuous damage mechanics of brittle materials .. v31 M. J. 1989) 295-307. SSSR. On the creep rupture.P. Appl. 1989. Hayhurst. Lemaitre. Tracey. in: Progress in Applied Mechanics. These de Doctorat es Sciences. 3. Izv. Manson. Methods Engrg. Miner. Plastic strains in metals. J. Otd. Marquis and J. Internat. Amsterdam. Baptiste. Eng. (241 R. Universite Paris 6. Kyoto. Appl. Prager Anniversary Volume (Macmillan. San Francisco (1989). On ductile enlargement of voids in triaxial stress fields. Benallal. Universite Paris 6. Ortiz and E.-P. Phys.2_ . 1989.I I . WI J. eds. McClintock. 1191 J. J.Parts I and II.a 5% 2 Fig. 48 (1981) 809. Coffin. Proc. Proc. 1983.P. Damage measurements.s I . Mech. J. 12 (1945) no. ICMl. ill J.N. Krajcinovic and G.

Lemaitre. ultimate stress SIGu 303. 2nd peak of 33-strain -0. Give the value of the plastic threshold stress SIGs for this block 303. yield stress SIGy. 0.2 1Zstrain Give: 1st peak. Give: fatigue limit SIGf. 0. 2nd peak of 11-strain 0.136E .2 Give: 1st peak. 0. 2nd peak of o. 306.(SIGf * * 2/SIGy)] 10. Give: Young’s modulus. 0. 115 (1994) 197-232 215 Give material constants and the strains history * * * DAMAGE90 * * * will give you the damage growth up to crack initiation Elasticity. DO o. Give: 1st peak.SIGf)/ [SIGs . Damage evolution: dD = (Y/S)dp. Give: S 6. Poisson’s ratio 72. 2nd peak of 22-strain -0. Doghri I Comput..2 Crack initiation: D = DC. 500.2. 0.E + 3. YOUR RESULTS FILES ARE: . Do you wish the jump in cycles procedure for large N? Y Give the number of blocks of constant amplitude (50 max) 1 Give the number of cycles for block: 1 120000 Give: 1st peak. Damage threshold dD = 0 if p < pD.2 Give: 1st peak.136E .136E . 2nd peak of o. Suggest a number of increments per cycle (minimum: 4) 4 * ** CRACK INITIATION.. Do you know DC? n Give Dlc in tension: DC = Dlc* [(SIGu/SIGs) * *2]/Rnu 0. Give: p0.. 0. Engrg.E .. I.32 Perfect plasticity: plastic threshold stress SIGs given with loading. Do you know pD? Gi:e EpD in tension: pD = EpD * (SIGu . 2nd peak of 13-strain o.425E . -0.. Methods Appl.2. * ** THE JOB IS ENDED. Mech.2. Is the stress state uniaxial? ‘y’ or ‘n’ n Is the strain history cyclic? ‘y’ or ‘n’ Y * ** YOUR LOADING IS CYCLIC.136E .J.99 Initial conditions. 23-strain Give: 1st peak.425E . 0..

9480E-01. 0. O. O. 0. 0.9858E+OO. 0.5OOOE+OO. ~. O.3714E+04. 0.3030E+03. 0.OOOOE+OO.4255E -01.l593E+02.1086E +06. 0.500E +OO. 0.9858E +OO.2814E +Ol.6808E+00. O. 0.3030E-tO3. DAM.OOOOE+OO.5446E+OO. 0. 0.l096E+06.2786E+04. O. 0. o.2725E+OO. 0.OOOOE+OO. 0.1086E +06.OOOOE+OO. O. O. 0.3030E +03.2786E304.OOOOE +OO. 0. 0.4298E+Ol. 0.OOOOE+OO. O.OOOOE + 00.OOOOE+OO. 0.9858E+OO. 0.3034E+03. 0.4303E +Ol.lOOOE +Ol .3034E303. 0.0000E+00. O. MISESSTRESS O.l086E+06.7500E+OO.OOOOE+OO. 0. 0. 0. 0.l593E+02.2725E+OO.4642E+04.4642E +04.3992E -01.l593E+02.l593E+02. 0.out STOP: shear. 0.EQU.9858E300.OOOOE+OO.2786E+04.OOOOE+OO.1593E+02. O.2814E +Ol. 0.4641E +04. 0. -.4255E -01.OOOOE+OO. -01.3990E -01.3034E303. 0.9858E +OO. 0. 0.OOOOE+OO.2814E+Ol.4298E+Ol.l086E+06. 0. O. O.out CYCLE O.4298E+Ol. O.2. 0. O. 0.l858E+04. 0. 0.3034E+03. O. O. 0. 0.3987E-01.3992E-01. 0. O.3714E+04. 0. 0.3030E+03. 0. 0.4296E+Ol. O. 0. 0.3034E+03.5446E+OO.2814E+Ol.l593E+02. 0.3000E+Ol.OOOOE+OO. 0.4303E+Ol. O. 0.OOOOE+OO. -0. 0.216 J.4251E-01. 0. O.3713E+04.3030E+03. 0.4642E+04. O.2814E+Ol. O. 0.2814E+Ol. O.9858E +OO.3OOOE+Ol.OOOOE+OO. 0. 0. 0. O. O.3714E+04.llOOE -03. 0.3034E+03. 0.2785E+04. 0. 0. 0.30OOE +Ol. 0. O.3034E+03.3030E-tO3. 0. 0. 0. 0. 0. 0. D O.4085E+OO.l086E+06.llOOE-03.OOOOE+OO. 0.STRESS O.3667E-04. 0. 0.OOOOE+OO.5447E+OO.6807E+OO. 0. 0.OOOOE+OO 0.1593E302.3034E+03.0. O.2814E+Ol. 0. O.3OOOE+Ol.3030E +03.6807E+OO. 0. 0.2814E+Ol.l086E+06.OOOOE+OO.out fatigue.l593E+02. 0. direct.3034E+03. 0.9858E +OO. O. 0. O.9492E . O. 0.4085E+OO.l858E+04.3000E+Ol. 0.1607E +02.4253E -01.3000E+Ol.l086E+06.OOOOE + 00. O.3030E+03.5447E+OO.4293E+Ol.. 0. 0.4301E +Ol. 0. 0.3000E+Ol.6808E+00. 0. 0. O.2814E+Ol.3000E+Ol.4086E+OO. O. 0. 0. 0.l086E+06.lOOOE+Ol . 0. 0. 0. 0.3OOOE+Ol. O.4086E+OO. 0.9858E +OO.3030E-tO3.3667E-04.OOOOE + 00.

yyl real*8 yy2. dpmax. ncycl0.SIGHF(6). do. dtmin.HIST(6. SO.*)' Give material constants and the strain history' WRITE(MS. ig.13.SSDO WRITE(MS.*)' *** DAMAGE SO ***' WRITE(MS.TWO.COUPL CHARACTER*20FILEI.EPSS(6. mb. sigs. C*** Written by Issam Doghri C*** Version: May 1990 c*====================================================================x====== implicit none integer ntens.STATEVI(NSTATV). one. pslope. i.NBCYCL(50) COMMON/ETIql/EO. energ2. ncysum.*)' ’ WRITE(MS. tper. j real*8 e0.*)'**ELASTICITY .DSTRAN(NTENS).5O). sigu. energl. igiv.23/ C*** READ DATA MS=6 MB=5 NAXI=6 NCYCLE=O SMPD=l. ncycle.JUMP.NSTATV=ll) REAL*8 STRS(NTENS). nstatv.CYCLIC.2OO). ddmax0. trdeps. deltd CHARACTER*1UNIAXI. C WI* Fully implicit integrationscheme. nu2. dlc.*)'**********************************************************' WRITE(MS. C*2* Jump in cycles procedure.*)’ **********************************************************’ WRITE(MS.SYIEL(50) 'INTEGER ISLOPE(6). energb real*8 tolene. kk.*)' YOUNG"s modulus :' . icycle integer nrcycl. dpmax0.CONVER.*) WRITE(MS. smp0. ngiv. PERDIV(G). dhtime. rac2. ilook0. ehl.33. xnu. smpi. ibl integer ist. yyy. dtime. epsmin.ANSPD. STRAN(NTENS). epd.*)'will give you the damage growth up to crack initiation' NRITE(MS.Appendix B __________________-_----~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------C* ____________________--~~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~----------X _____- C*** DAMAGE SO Elastic-perfectly plastic law coupled to a ductile damage model. nblock.XNU. rtime real*8 xxnu. .SIGS. dslope. Give :' WRITE(MS. time. dcrit real*8 sigf.D+lO DCRIT=O.*)' ’ WRITE(MS.STATEV(NSTATV). ipass. strsb. sigy.EPSB(6.TIM(200>. dhf.5O). energO. naxi.IPER(6).STAB.12. star real*8 mu. nul. two. ddmax. three. INCUSE(50>.INDEX(G).SIGHI(6).THREE DATA INDEX /11.*)' ’ WRITE(MS. deltp. ideltn.SMPD. dhi. smpd.ANSDC. smpf.*)' ’ WRITE(MS.22. ms. . tfin.SO COMMON/ETIq2/ONE.FILE2 CHARACTER*6COMMENT PARAMETER(NTENS=G.

(ANSPD.EQ.(ANSDC. Do you know DC ? "Y" READ(MB.0R.UNIAXI.*)'**PERFECT PLASTICITY : plastic threshold SIGs . GOOD BYE.O.*)' The value of PO :' READ(KB.'y'.AND.*)Dlc ELSE STOP'*** WRONG DATA. Give :' WRITE(IIS.OR.*)'**LOADING' WRITE(MS.'Y'))THEN WRITE(MS.EQ.*)' Yield stress SIGy :' READ(HB.'nJ).EQ.)SMPD=l.*)' POISSON"s ratio :’ READ(#B.*)SIGU WRITE(MS.*)DO WRITE(HS.EQ.*)SO FORMAT(A) h!RITE(MS. pD? JaYJ) or “NpJJ READ(MB.*)SMPD IF(SMPD.'n'.(ANSPD.D-6 ELSE IF((ANSPD.'y'). Give S' READ(MB.*)' Give the value of pD :' READ(MB.' END IF WRITE(MS.*)'** DAMAGE THRESHOLD : dD=O if p<pD.'y').*)' Ultimate stress SIGu :' READ(MB.NE.OR. Give :' WRITE(MS.*)'**INITIAL CONDITIONS .*)SIGF WRITE(MS.*)' The value of Do :’ READ(MB.EQ.'N'))TAEN WRITE(MS.*)'**CRACK INITIATION : D=Dc .E9.I)ANSPD IF((ANSPD.*)'**DAHAGE EVOLUTION : dD = (Y/S) dp.l)ANSDC IF((ANSDC. given with loading .*)DCRIT ELSEIF((ANSDC.I) 2' Give EpD In Tension : 3 pD=EpD*(SIGu-SIGf)/[SIGs-(SIGf**2/SIGy)]' READ(MB.Eq.O. Do you know .I)UNIAXI IF(UNIAXI.AND.(ANSDC.'Y'))TIiEN WRITE(HS.*)EPD IF(EPD.*)' Give the value of DC (remember:O<Dc<i) :' READ(WB.I READ(MB.*)SIGY WRITE(MS.*)XNU WRITE(MS.Eq.'n').*)' Is the stress state uniaxial? "Y" or READ(MB.' END IF WRITE(MS.*)EO WRITE(MS.EQ.*)' Give Dlc in tension : . or "N"' .'1'))THEN WRITE(MS.*)' Fatigue limit SIGf :’ READ(MB.NE.)EPD=i. GOOD BYE.EQ.*)SMPO WRITE(MS.D-6 ELSE STOP'*** WRONG DATA. DC = Dlc * [(SIGu/SIGs)**2] / Rnu ’ READ(MB.OR.

(50 max)' READ(MB.IG=i.OR.*)' Is the strain history cyclic? "Y" or "I"' READ(MB.NE.NE.EI&'y').'N'))then WRITE(MS.NGIV) DO IST=I.NAXI WRITE(MS.*)' Do you wish the jump in cycles procedure for .*)' ' WRITE(MS.I)JUMP IF(JUHP.NE.UNIAXI.*)' ' WRITE(MS.'-strain') READ(MB.'y').*)' Give the values of time at these points :' READ(MB.NAXI WRITE(MS.12.2)INDEX(IST) 2 FORMAT0 Give the values of '.'N')STOP'***WRONG DATA.'n').'N')STOP'*** WRONG DATA.NE.Eq. . ’ times :'> READ(MB.*)NGIV WRITE(MS.AND.CYCLIC.*)'***** YOUR LOADING IS CYCLIC.*)'***** YOUR LOADING IS NOT CYCLIC.Eq. CYCLIC.AND.*>NBCYCL(IBL) NCYCLE=NCYCLE+NBCYCL(IBL) DO IST=I.3>INDEX(IST) 3 FORMAT('Give:1st peak 2nd peak of '.*)EPSB(IST.I)CYCLIC IF(CYCLIC.'N')STOP'*** WRONG DATA.AND.*)INCUSE(IBL) END DO ELSE IF((CYCLIC.UNIAXI.*)' Suggest a number of incrementsper cycle .JUMP.*)SYIEL(IBL) WRITE(MS.*)' Give the number of cycles for block :'. .*)(HIST(IST. JUHP.'Y'.IG=i.NBLOCK WRITE(MS.'Y'))THEN WRITE(MS.12.NE.'y'.NE.NE.NGIV) .OR. (minimum : 4) : ) READ(MB. GOOD BYE.ED.AND.'Y'.***' WRITE(MS. .NE.*)' ’ WRITE(MS.*>(TIM(IG).***' IF((CYCLIC.EPSS(IST.(lJNIAXI.*)' Give the value of the plastic threshold stress b SIGs for this block :’ READ(MB.NE.IBL) END DO WRITE(MS.AND.'n'.IBL READ(MB.CYCLIC. GOOD BYE. large N ? "Y" or "N'J' READ(MB.*)' Give the number of blocks of constant amplitude .'Y')) NAXI=l URITE(HS.Eq.' WRITE(MS.tory (200 max) :' READ(MB.'y'.IG).'n'.IBL).' WRITE(MS. GOOD BYE.'Y'.NE.(CYCLIC.***' 'IF(("NIAXI.*)' Give the number of points which define the his .*)' ’ WRITE(Ms.' -strain at these' .(CYCLIC.AND.JUMP.ED.AND.OR.*)NBLOCK DO IBL=l.

p.'Y'))EPD=SMPD ENERGl=(SIGU-SIGF)*EPD ENERGO=O. 9X..SIG eq.27X.. 'MISESJ.dD.EQ. READ(MB.*)(SYIEL(IG).lOX.'li'.IG=l.STATEV= r.OR.l2'.EQ...EQ.9X.SX.9X. DO IST=l.NGIV) WRITE(MS.D+00 THREE=3.3lS)COMMENT 312 FORMAT(2X.2lX.'SIG*. .314) 313 FORMAT(l9X.lOX.NSTATV STATEVI(IST)=O.312)COMMENT WRITE(90.A6.'33'.(pstrn>. END DO STATEVI(2)=SHPO STATEVI(3)=DO STATEVI(4)=0.23X.SX. llX.out.D. llX.SD-2 ILOOKO=O COUPL='y' IPASS=O ONE=l.'MISES EQ.'p'.D+00 RACZ=DSQRT(TWO) NUl=ll NU2=12 FILEl=.STRESS') WRITE(NUl.shesr. TOLENE=2..SIG*.'l2'.D.file=FILEZ) COMMENT=' TIME' IF((CYCLIC.8X.'DAM.'DAMAGE'.9X.(CYCLIC. DSTRAN(IST)=O.*)' Suggest an initial time increment < to Lintervallebetueen first 2 points.'23'.'SIG eq'.*)' Give the values of the plastic threshold stress S &IGs at these times :’ READ(MB.312)COMMENT URITE(NU2.D+OO TWO=2.STRESS' .6 STRAN(IST)=O.9X.9X.23X.SX.'STRAINS'.'Y'))COMMENT=' CYCLE' WRITE(NUl.313) WRITE(NU2.'l3'.8X.l6X.'22'.lOX...EQ.file=FILEl) OPEN(UNIT=NU2.dp DO IST=l.END DO WRITE(MS.OR.*)DTIME END IF C***INITIALIZE. END DO IF((ANSPD.) 315 FORMAT(SX.'ll'.out' FILEZ=.'y').) 314 FORnAT(l9X.9X.'22'.D.'23'.'STRESSES'.'i3'.(ABSPD..EQ.2X.9X.'33'.'p'.9X.'y').A6.'DAMAGE'. ENERGS=O.direct. OPEN(UNIT=NUl.

STATEV(ll).NTENS.SIGU)STOP'*** PLEASE REVIEW THE & VALUES OF SIGf SIGu and SIGs .O.TFIN) DO IST=I. ENERG2.STATEV.IGIV~~ & /(TI~(IGIV+I)-TIM(IGIV)) END DO CONVER='y' DO IST=I.OR.EQ.E~.LT.'y'. ILOOKO.STRESS') C*** IF TEE LOADING IS NOT CYCLIC IF((CYCLIC. BY 2 IF(CONVER.GT.O.GT.GT.(ANSPD.l.OR.A~.GT.DCRIT.GT.E~.AND.'n')THEN IPASS=IPASS+l DTIME=DTIME/2.SIGS.NSTATV STATEVI(IST)=STATEV(IST) END DO DO IST=I.NSTATv.221 EQ.or.'y'.(ANSPD. STATEV(3).NTENS.Eq.LE.STAR.OR.GT.I. STRSB.ECj.ANSDC.OR.05*ENERGi.'n'.SIGF. TFIN=TIM(NGIV) IGIV=I CALL OUTPUT(NUI.Eq.STRS.OR.EQ.STRAN.)THEN ENERG2=ENERG3+(SIGS-SIGF*(SIGF/SIGY))*STATEV(ll) IF(ANSDC.O.DIVIDE TIME INC.0.NSTATV.ANSPD.'n')DCRIT=DlC*((SIGU/SICS)**2~/RNU IF(ILOOKO.'n'.(CYCLIC.O5*DCRIT)THEN CONVER='n' END IF END IF IF(CONVER.'N'~.STAR) DOUHILE(TIME+DTIME.AND.AND.'N'))THEN JUMP='n' TIME=TIM(l) DTMIN=DTIME/l0000.l.IGIV+1)-HIST(IST.STRSB.E~.6 STRAN(IST)=STRAN(IST)+DSTRAN(IST) END DO TIME=TIME+DTIME .STATEV(2). & CONVER.E~.AND.RNU) C*** IF NO CONVERGENCE.NAXI DSTRAN(IST)=DTIME*(HIST(IST.ANSPD.DSTRAN.EQ. C*** IF CONVERGENCE ELSE IF((ANSDC. .E~.99DO)DCRIT=O.STATEV.TIME.'n').COUPL.OS*SMPD.OR.AND.'Y') .E~.NSTATV STATEV(IST)=STATEVI(IST) END DO SIGS=SYIEL(IGIV) IF(SIGS.’ CALL INTEGR(STRAN.UNIAXI.'N') .STRS.NU2.99DO IPASS=O DO IST=l.ECJ.

STAR) IF(STATEV(3).O.NGIV)THEN DTIME=TIM(IGIV+I)-TIME END IF IF(IPASS.E~.AND.) .ENERGI)TIiEN SMPD=STATEV(2) ILOOKO=I ELSE IF((ANSPD.6 SIGHI(I)=O. ICYCLE=I NRCYCL=ICYCLE DHTIME=O. STRSB.O.Eq.'IPASS='.AND.OR.GE.LT.IPASS GO TO 308 END IF END DO END IF C*** IF THE LOADING IS CYCLIC IF((CYCLIC.CALL OUTPUT(NUl.GE.file=.(ANSPD. TIME=O.STRAN.'y').Eq.IGIV~l.*)'DTIME='.CE.l3.LE.AND.l.GE. .EQ.out.GT.l)STOP'*** DAMAGE CANNOT EXCEED I.I IF(TIME+DTIME.STATEV.'Y').OR.DTMIN)THEN WRITE(MS.'y').STRS.Eq. STATEV(2).OR.TIW(IGIVtl)tDTMIN.NU2.*)'***CRACK INITIATION.'n'.DTIME.LE.OR.OR.SMPD>THEN ILOOKO=I END IF END IF IF(DABS(TIME-TIM(IGIV+I)).AND.DTMIN)THEN IGIV=IGIV+l END IF END IF DTIME=DTIME*l.DCRIT)THEN WRITE(HS.*)'***NO CONVERGENCE' WRITE(MS.ENERG3.(CYCLIC.STATEV(ii).DTIME.'y').'Y'))THEN TPER=l.NSTATV.' GO TO 308 END IF IF(STATEV(3).NTENS. DO 1=1. END DO SMPI=SMPO DHI=DO IF((JUMP.)THEI ENERG3=ENERG2 IF((ANSPD.TIHE.'N') .EQ.*)' ' WRITE(HS.ECj.ED.EQ. DTMIN=TPER/40000.EQ.ANSPD.(JUMP.'Y'))THEN COUPL='n' OPEN (UNIT=80.' C*** FIND pD IF(ILOOKO.GT.fatigue.

O.GT.NTENS.NSTATV.LT.NSTATV.OR.*)'REAL TIME WRITE(80.6 IF(EPSB(IST.'n'.ICYCLE WRITE(80.IBL)*EPSS(IST.ibl) DSTRAN(IST)=ISLOPE(IST)*xxnu*2.IBL)*DTIME/PERDIV(IST) ELSE xxnu= epsb(ist.’ CALL INTEGR(STRAN.NSTATV STATEV(IST)=STATEVI(IST) END DO SIGS=SYIEL(IBL) EHl=SIGS/lOOO.EQ.TIME.STRAN.LE.OR.DSTRAN. C*** IF CONVERGENCE ELSE IF((ANSDC.SMPI END IF CALL OUTPUT(NUi.STRS.ibl)-epss(ist.NAXI IF(TIME+DTMIN. .STATEV.NTENS.Eq.ANSDC. STRSB'STAR) IBL=l DTIME=TPER/INCUSE(IBL) DO IST=l. EPSMIN=SIGS/E0/10000.)THEN PERDIV(IST)=TPER/4.COUPL.SIGF.IBL).Eq.D P' TIME WRITE(80.DHI.GT.STRS.TIME.URCYCL WRITE(80.SIGS.UNIAXI.'n'.EQ.*)'CYCLE(MACHINE) ='. BY 2 IF((ANSDC.LT.STATEV.STRSB.O.AND.*)'BEGINNING OF THE CYCLE' ='. IF(SIGS.400)RTIME.DIVIDE TIME INC.OR.PERDIV(IST))THEN DSTRAN(IST)=EPSB(IST.EQ. b CONVER.NU2. END IF IPER(IST)=l ISLOPE(IST)=l END DO NCYSUM=O DOWHILE(NRCYCL.'W') .'U'). ELSE PERDIV(IST)=TPER/2.LE. STATEV(Il).) DCRIT=DlC*((SIGU/SIGS)**2)/RNU IF(CONVER.ANSDC.*)'CYCLE(REAL) WRITE(80.*)'******************************' WRITE(80.SIGU)STOP'*** PLEASE REVIEW THE & VALUES OF SIGf SIGu and SIGs .NCYCLE) DO IST=I.STAR.*DTIME/TPER END IF END DO CONVER='y' DO IST=l.RNU) C*** IF NO CONVERGENCE.'n')THEN IPASS=IPASS+l DTIME=DTIME/2.

99DO IPASS=O DO IST=l.NU2.EPSMIN)THEN ISLOPE(IST)=-ISLOPE(IST) END IF END DO C*** END OF A CYCLE IF(DABS(TIME-TPER*ICYCLE).Eq.NSTATV.STRS.IBL)).ENERGl)THEN SMPD=SMPF NCYCLO=NRCYCL-NCYSUM ILOOKO=l ELSE IF((ANSPD.DCRIT)THEN WRITE(HS.ENERG3.LE.6 SIGHF(I)=STRS(I) END DO SMPF=STATEV(2) DBF=STATEV(3) DELTP=SMPF-SMPI DELTD=DBF-DHI C*** FIND pD IF(ILOOKO.*)' ' WRITE(MS.IBL)) .AND.'n'.NSTATV STATEVI(IST)=STATEV(IST) END DO DO IST=1.AND. .'N') .DTMIN)THEN IDELTN=O DO 1=1.' DO IST=I.*)'***CRACK INITIATION.AND.GE.GE.' GO TO 308 END IF IF(STATEV(3).LE.STRAI.DABS(STRAN(IST)-EPSB(IST.DTMIN)THEN IPER(IST)=IPER(IST)+l DTIME=I.l)STOPJ*** DAMAGE CANNOT EXCEED 1.STAR) IF(STATEV(3).LE.'y'.OR.EQ. STATEV(2).NTENS.ISLOPE(IST).ANSPD.DCRIT.AND.0.6 IF(DABS(TIME-IPER(IST)*PERDIV(IST)).l.EQ.ANSPD.GT.O.DABS(STRN(IST)-EPSS(IST.LE.OR.ECj. DELTP*(NRCYCL-NCYSUM) IF((ANSPD.O)THEN ENERG3=ENERGO+(SIGS-SIGF*(SIGF/SIGY))* .RTIn.GE.GE.EQ./INCUSE(IBL) END IF IF(ISLOPE(IST).GT.OR.O. L STRSB.AND.LT.'Y').STATEV.SMPD)THEN NCYCLO=NRCYCL-NCYSUM & . .99DO)DCRIT=O.6 STRAN(IST)=STRAN(IST)+DSTRAN(IST) END DO TIME=TIME+DTIME RTIME=TIHE+DHTIME CALL OUTPUT(NUI. EPSMIN.224 .

ILOOKO=l END IF END IF C*** JUMP IN CYCLES PROCEDURE IF((JUMP./EO YY2=EO*TRDEPS*TRDEPS/(l.LT.YYY ELSE WRITE(80.NCYCLO. IF((ANSDC.DHF.'y').*)'***JUMP OF '.'N')) DDMAXO=DlC/50.*)'STABILIZED CYCLE' IF(STATEV(2>.TIHE.(UNIAXI.IDELTN*DELTP.*)'ENDOF THE CYCLE' WRITE(80.ENERG3 IF(STAB.SMPF DDMAXO=DCRIT/SO.SMPD)THEN C*** JUMP OF CYCLES BEFORE DAMAGE GROWTH IDELTN=IDINT(DPMAX/DELTP) IF(NRCYCL+IDELTN.GT. YYY=YYl+YYZ END IF DPMAXO=SO*DDMAXO/YYY DPMAX=DPMAXO PSLOPE=NBCYCL(IBL)*DELTP IF(DPMAX.'ENERG3='.NCYSUM+NBCYCL(IBL)) IDELTN=NCYSUM+NBCYCL(IBL)-NRCYCL ENERG2=ENERGO+(SIGS-SIGY)*DELTP*(NRCYCL+IDELTN-NCYS~) IF(ENERG2.*)'DPMAX='.EQ.*)'COUPLED COMPUTATIONFOR NEXT CYCLE ’ COUPL='y' END IF END IF ELSE C*** JUMP OF CYCLES AFTER DAMAGE GROWTH .LT.'pD='.'y'). 'YYY='.*XNU)/6.OR.(ANSDC.IBL) END DO YYl=(I.'CYCLES' WRITE(80.EQ.'NCYCLO='. IF((UNIAXI.0R.SMPD IF(COUPL.05) IDELTN=(ENERGl-ENERG3)/(SIGS-SIGY)/DELTP WRITE(80.400)RTIME.SMPD)THEN STAB='y' DO KK=I.IDELTN.EQ.EQ.EHI)STAB='n' END DO WRITE(80.6 IF(DABS(SIGHF(KK)-SIGHI(KK)).'Y'))THEN YYY=SIGS*SIGS/2.*)'ENERGl='.'y') THEN WRITE(80.3 TRDEPS=TRDEPS+EPSB(IST.ENERGl./EO ELSE TRDEPS=O.'Y'))THEB WRITE(80.*)'ILOOKO='.ILOOKO.'nJ.STATEV(2).PSLOPE)DPMAX=PSLOPE WRITE(80.GT.GT.EQ.'n'>.+XNU)*SIGS*SIGS/3.EQ.IBL)-EPSS(IST.-2. DO IST=1.OR.OR.EQ.ENERG1*1.(JUMP.EQ.GT.

(JUMP.' IF(DELTD.NRCYCLtI WRITE(80.DPMAX)IDELTN=O IF(IDELTN.*)'***JUMP OF '.)STOP'*** PROBLEM : NEGATIVE JUMP OF CYCLES.IPER(IST)*PERDIV(IST)tDTMIN)THEN DTIME=(IPER(IST)*PERDIV(IST))-TIME 400 .DPMAX)WRITE(80.TIME.IDINT(DPMAX/DELTP))IDELTN=IDINT(DPMAX/DELTP) WRITE(80.GT.IDELTN*DELTP COUPL=.'CYCLES' WRITE(80. DDMAXO IS TOO SMALL.DSLOPE)DDMAX=DSLOPE NCYCLO=O IDELTN=IDINT(DDMAX/DELTD) IF(NRCYCL+IDELTN.NCYSUMtNBCYCL(IBL))THEN ENERGO=ENERGO+(SIGS-SIGF*(SIGF/SIGY))*DELTP*(NRCYCL-NCYSUM) NCYSUM=NCYSUMtNBCYCL(IBL) IBL=IBL+l END IF ICYCLE=ICYCLE+l NRCYCL=NRCYCLtl END IF FORMAT(IX.6 SIGHI(J)=SIGHF(J) END DO SMPI=SMPFtDELTP*IDELTN DHI=DHFtDELTD*IDELTN STATEVI(2)=SMPI STATEVI(3)=DHI DHTIME=DHTIMEtTPER*IDELTN NRCYCL=NRCYCLtIDELTN RTIME=TIMEtDHTIHE IF((JUMP.6 IF(TIMEtDTIME.EQ. END IF IF(DELTP. 'DPMAX='.4(El2.LT.SMPI END IF IF(NRCYCL.'Y'))THEN WRITE(80.DDMAX)YRITE(80.GT.O5) .DDMAX.EQ.DCRIT*1.GT.O.*)'*** PROBLEM : DPMAXO IS TOO SMALL.IDELTN*DELTD.GT.*)'CYCLE(REAL) ='.DDMAX=DDHAXO DSLOPE=(NBCYCL(IBL)-NCYCLO)*DELTD IF(DDMAX.*)'*** PROBLEM : . IDELTN=IDINT((DCRIT-DHF)/DELTD) IF(IDELTN.NCYSUMtNBCYCL(IBL)) .'y').GT.*)'BEGINNING OF THE CYCLE' WRITE(80.GT.OR.IDELTN.n. IDELTN=NCYSUMtNBCYCL(IBL)-NRCYCL IF(DBFtDELTD*IDELTN.*)'-------------------------' WRITE(80.')) END IF DO IST=1.*)'CYCLE(MACHINE) ='.ICYCLEtl WRITE(80.GT.DELTP.' END IF DO J=1.'.*)'DDHAX='.400)RTIME.GT.' IF(DELTD.6.GT.OR.EQ.DHI.

j.PSTRN(S). smpd.(JUnP. xnu.DSTRAN(NTENS). one. YOUR RESULT FILES ARE :' 308 WRITE(MS. % STRN(S). % N(S).NISS ID(I. smr. CESTRS(6).NSTATV. % CONVER.. Doghri I Comput. denom.NISS)=ONE C*** IDENTITY VECTOR DO I=l. rac2. Methods Appl. WRITE(MS. restrs.J)=O.RNU) C*____________________________________________________________________ ____________________~~~~~~~~~~~~~~~~~~~~~~~_~~~~~~~~~~~~~~~~~~~~~~~~ ______ X_____implicit none integer ntens.FILE2. dd. Mech.SIGS.OR. xnkes. csmp. estrsb real*8 sign.DTIME.OR.'y'). xmu. smp.Eq. div2. f. divl. i.STAR.*)' ’ IF((JUMP.EC). I. nstatv.STRS.UNIAXI. d. nfois.ESTRS(G).ID(S.SO COMMON/ETIq2/0NE.FILE2 IF((JUMP.Eq.LT.UNIAXI COMMON/ETIql/EO. dsmr REAL*8 STATEV(NSTATV>.AS(S>. treps.Eq.COUPL. two.DPSTRN(6) REAL*8 LAMDA.SMPD.I)=ONE END DO ID(NISS. three.outJ STOP END C*____________________________________________________________________X______ _______------_______-------_~~~~~~~~~-~--~~~~~~~~~~~~~~~~~~~~~ ______ SUBROUTINE INTEGR(STRAN.*)'***THE JOB IS ENDED. ntest real*8 e0.COUPL.TWO. estrsh.D-6 NISS=NTENS C*** IDENTITY MATRIX DO I=l.*)'***NO CONVERGENCE' WRITE(MS.DSTRAN. END DO ID(I.*~FILEl.TIiREE C NN=THREE/TWO RAC2=DSqRT(TWO) TOLRES=SIGS*l.Eq.NISS .XNU.DTMIN)THEN WRITE(HS.NISS-1 DO J=I+l.STRAN(NTENS).*)FILE1.STATEV. sigs. star real*8 mu.STRSB. rel. % STRS(G). strsb. Lemaitre.OR.13. y real*8 tolres.S).IPASS GO TO 308 END IF END DO END IF WRITE(MS.NN LOGICAL CRITERE CHARACTER*1CONVER.NTENS.'n'>.l)=O.'iatigue.I.(JUMP. niss.*)'DTIME='. dsmp. Engrg.KESTRS(6).'Y')) . ID(J.DTIME.'N'))WRITE(MS. SO. 115 (1994) 197-232 221 END IF END DO IF(IPASS.'IPASS='.

3)AS(I)=ONE IF(I.)THEN GO TO 500 ELSE C*** IF THE ELASTIC PREDICTOR DOES NOT VERIFY THE YIELD CONDITION DO I=l.EQ.O.*F*N(I)/3..5-XNU)*PSTRN(l) STRN(3)=STRN(2) END IF C . . . .EQ.4)AS(I)=O.ESTRSB. IF((UNIAXI.*XMU CSMP=F/DENOM C . Effective stress DO I=l. C*** TEST THE YIELD CONDITION F=ESTRSB-SIGS IF(F.. . Trace of strain tensor TREPS=STRN(l)+STRN(2>+STRN(3) C .*XMU*(ST~(I)-PSTRN(I)) END DO CALL INVAR(ESTRS.(UNIAXI.4)STRN(I>=STRN(I)*RAC2 END DO C*** ELASTIC PREDICTOR DSMP=O.ESTRSH.GE. .LT.NISS N(I>=NN*(ESTRS(I)-ESTRSH*AS(I))/ESTRSB END DO C*** Correctionsover the elastic predictor c.OR.IF(I.'Y'))THEN STRN(2)=-XNU*STRN(l>-(0. .CorrectionOVER P DENOM=3. XMU=EO/(ONE+XNU)/TUO LAMDA=EO*XNU/(ONE-TUO*XNU)/(ONE+XNU) n b SMR=STATEV(l) SMP=STATEV(2) D=STATEV(3) DO I=l.GE.NISS) SIGN=l.'y'). END DO C*** LAME COEFF.NISS PSTRN(I)=STATEV(I+4) END DO C*** TOTAL STRAIN DO I=I. .)SIGN=-1. Correction over effective stress DO I=l. IF(ESTRS(l>.NISS CESTRS(I)=-2.. END DO C*** LOOP ON THE PLASTIC CORRECTIONS . .O.NISS STRN(I)=STRAN(I)+DSTRAN(I) IF(I.LE. .LE.NISS ESTRS(I)=LAMDA*TREPS*AS(I)+2.

'y').NISS N(I>=NN*(ESTRS(I)-ESTRSIi*AS(I))/ESTRSB END DO IF(NTEST. If we converge too slowly.D-02))THEN CONVER='n' GO TO 500 END IF C*** Compute residual functions F=ESTRSB-SIGS IF((UNIAXI.GE. DO WHILE(CRITERE) NFOIS=NFOIS+l DIVl=ESTRSB NTEST=2 IF(NFOIS. of p DSMP=DSMP+CSMP C .0R.REL. . .OR.2)THEN DIVZ=ESTRSB REL=(DIVZ-DIVI)/DIVI END IF main C .ESTRSB.NISS ESTRS(I)=ESTRS(I)+CESTRS(I) END DO CALL INVAR(ESTRS.exit.RESTRS)RESTRS=DABS(KESTRS(I)) END DO C*** ITERATIVE TEST ON THE YIELD CONDITION IF(DABS(F).LT. . .l)NTEST=l C*** UPDATE THE STATE C . .2.5*STRN(1)+(O. . . Max.EQ.(UNIAXI. . Update inc.50. DO I=I. Update effective stress DO I=l. .RESTRS.EQ.TRUE.ESTRSH.NISS KESTRS(I)=ESTRS(I)-LAHDA*TREPS*AS(I)& 2. IF(NFOIS.LT.5-XNU)*SIGN*SIGS/EO STRN(3)=STRN(2) TREPS=STRN(l)+STRN(2)+STRN(3) END IF DO I=i. .TOLRES. .'Y'))THEN STRN(2)=-O.NFOIS=O CRITERE=.EQ.AND. residuals RESTRS=O. . ELSE C*** PLASTIC CORRECTIONS . program will propose a smaller "time" increment.GT.I5.EQ.EQ.or we diverge.NISS) DO I=l.The C .FALSE. & (NTEST.EQ.*XMU*(STRN(I)-PSTRN(I)-DSMP*N(I)) END DO C .NISS IF(DABS(KESTRS(I)). . .AND.TOLRES)THEN CRITERE=. .

. .. Correction over p DENOM=3. plastic multiplier increment DSMR=(ONE-D-DD)*DSMP C .SMP+DSMP.XNKES..OR./3.'y')THEN DD=Y*DSMP/SO END IF STAR=(ONE-D_DD)*DSqRT(2. ...)*(XNKES-DENOM*F)*N(I)-KESTRS(1) CESTRS(I)=CESTRS(I)/DENOM END DO C*** END OF THE ITERATIVE TEST ON THE YIELD CONDITION END IF C*** END OF THE LOOP ON THE PLASTIC CORRECTIONS END DO C*** END OF TEST ON THE YIELD CONDITION END IF 500 CONTINUE IF(CONVER..KESTRS.*XMU CSHP=(F-XNKES)/DENOM C ..'y'>.GE.O. . Compute Stresses DO I=I. Damage increment DD=O.Eq. .IF RETURN .. .) DO I=I.Y.COUPL.AND. .'Y'))THEN DSTRAN(2)=STRN(2)-STRAN(2) DSTRAN(3)=DSTRAN(2) END IF C .ElJ.*EO*Y) C .NISS) C . Correction over effective stress DENOM=DENOM*DSMP/ESTRSB+(I..(UNIAXI.ECj.'y')THEN IF((UNIAXI..E~. plastic strain increment DO I=I..AND.ESTRSB.NISS CESTRS(I)=(2.RNU) IF(DSMP. .NISS STRS(I)=ESTRS(I)*(ONE-D-DD) END DO STRSB=ESTRSB*(ONE-D-DD) C*** STORE STATEV AT THE END OF THE INCREMENT STATEV(l)=SMR+DSMR STATEV(2)=SMP+DSMP STATEV(3)=D+DD STATEV(4)=DD DO I=l.GT.NISS DPSTRN(I)=N(I)*DSHP END DO C . CALL DAMAGE(TREPS. .SMPD.NISS STATEV(I+4)=PSTRN(I)+DPSTRN(I) END DO STATEV(ll)=DSMP END .CALL VTRANVl(N.

three. RNU=2. y.4>CONST=CONST+V(I)*V(I) END DO VB=DSqRT(THREE*CONST/TWO) RETURN END C*________-___________________________--_______---______----_____----_____--____----_____~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--~~~~ X___--SUBROUTINEDAMAGE(TREPS.SMPD. vb. term1 real*8 term2 COMMON/ETI~l/EO. . mu. xnu.+XNU)/EO TERM2=EO*TREPS*TREPS/(l.Vl.*XNU)/2.ESTRSB.231 END C*__-_______________________________________________________--________ ____________________________________________________________________X====== SUBROUTINE INVAR(V.STATEV.Vi(S> C VTVl=O.STRAN.Y.STRS. treps.NU2.-2..LE. Y=(TERMl+TERM2)/3.TIME. smpd. .SIGS. DO I=l. . i real*8 one.NISS IF(I..THREE C VH=(V(I)+V(2)+V(3))/THREE CONST=O. sigs. SO.SO C TERMl=ESTRSB*ESTRSB*(I. two.NISS) C*___--___----______-_____________________________________________________--____---__________________________~--~~~~~~~~~~-~~~~~~~~--~~~~X~~~~~~ C .VH. const REAL*8 V(6) COMMON/ETIq2/0NE.VB. DO I=I.3)CONST=CONST+(V(I)-VH)*(V(I)-VH) IF(I.GE. vh.TWO.*EO*Y/ESTRSB/ESTRSB RETURN END C*_________________________---_____----______----______---_-_____---__ _____--____--_______~~~~~~~~~~~~~~~~~~~~~~-~~~~~~~~~~-~~~~~~~~--~~~~ X____-SUBROUTINE VTRANVl(V. Inner product of 2 symmetric 2nd order tensors implicit none integer niss. estrsb.RNU) C*~~________________________--______----____------______----____-----_____--___----______~-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-~~~ ____-X___--implicit none real*8 e0.NISS) C*===_____________________________________________-_________------____ ____-______________________________________________-__________-__X====== C .NISS VTVl=VTVI+V(I)*Vl(I) END DO RETURN END C*~~_________________________-______----______----________--__________ _____--___---___________________________~~~~~~~~~~~~~~~~~~~~~~~~~~X~~~~~~ SUBROUTINE OUTPUT(NUl.XNU. 1st and 2nd stress invariant8 implicit none integer niss.VTVI. i real*8 vtvl REAL*8 V(S).

I=4.3~.'.STRSB.STAR 130 FORMAT(3X.STATEV(2).6).4.I=1.6).(STRS(I).130)TIME.3~.ll(ElO.STATEV(3).130)TIME.STRSB.')) FORMAT(3X.')) 444 RETURN END . star REAL*8 STRAN(NTENS).4.'. i real*8 time.STATEV(NSTATV) C WRITE(NU1.I=4. strsb.232 NTENS.444)TIME.STAR WRITE(90.~STRS~I~. nstatv. & STATEV(3). nu2.STRSB.(STRAN(I).I=I.NSTATV. ntens.5(ElO.STAR) implicit none integer nul.(STRAN(I~. b STATEV(3).STATEV(2).STAR WRITE(NU2.STRS(NTENS).STATEV(2).STRSB.