Application Center - Maplesoft

App Preview:

Building the Crack Size versus Number of Cycles (a_N) Curve

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

cycleandpeaks.mws

Building the Crack Size versus Number of Cycles (a_N) Curve

by: Jorge Alberto Rodrguez Durn

Pontificial Catholic Uni versity  of Rio de Janeiro

e-mail: duran@mec.puc-rio.br

2003 Jorge Alberto Rodrguez Durn

NOTE: This worksheet demonstrates the use of Maple for building the crack size versus number of cycles (a_N) curve f rom Cycle and Peaks Data Type Files in Variable Amplitude Loading Fatigue Crack Propagation Tests.

Introduction:

Perhaps the most difficult task when Variable Amplitude ( VA ) loading Fatigue Crack Propagation ( FCP ) tests  are made is the precise determination of crack size ( a ). The Back Face Strain ( BFS ) is a powerful approach to misleading this problem. For C(T)  or DC(T)  type specimens (see Figure 1), crack size versus BFS  calibration curves are available in the normalized form EBCW = A(beta) , where E  is the Young Modulus [MN/m2], B  and W  are geometrical dimensions of C(T)  or DC(T)  specimens [m], C  is the compliance (inverse of stiffness), equal to the ratio BFS/P  ( P  is the applied load) [usn/N], and beta  is the ratio a/W .

The aN procedure  of the present Maple worksheet take as input a cycle and peaks data file acquired during the test (variable m  of string type), an initial value of crack size (variable a0  of float type) and the goal graphic introduced by the variable G  of symbol type. Graphics can be of two types, crack size versus number of cycles ( N )  (in this case give the AN  value to G  variable) or crack size less initial crack size versus N  (use AA0N  in G  variable).

Procedure   aN  outputs the a_N  or the a-a0_N  curve depending on G  value. The cycle and peaks data file (an input to aN procedure ) contains extreme values of load and strain at certain intervals (established according the test requirements) and is stored in the current working directory as setting by the currentdir  maple command ( in this example "c:\\mydocu~1\\dur_n~1\\maple_~1" ) . A resultant datafile containing the calculated ( a,N ) or ( a-a0,N ) pair of values is also written to the curent directory by the aN procedure . Easy identification of that datafile is posible because its name is a result of concatenation of two strings (the name of input data file and the type of graphic).

The RG procedure , also showed in this worksheet, returns n1  normalized values of peaks and valleys between 0 and n% . This values are then uses in the software that controls the VA  loading test.

[Maple Metafile]

Figure 1 - Schematic representation of Compact Tension C(T) Specimen.

Procedures

>    restart;

>    with(plots):

Warning, the name changecoords has been redefined

>   

Procedure RG to obtain n ormalized values of the variable amplitude load history.

>    RG:=proc(n,n1)

>    local L,f,P,P1,J,S,S1;

>    L:=[seq(cos(i*Pi),i=1..n1)]:

>    f:=rand(0..n):

>    P:=[seq(f(),i=1..n1)]:

>    P1:=evalf(map(x->x/100,P),2):

>    J:=zip((x,y)->x*y,P1,L):

>    writedata("Lista",J);

>    listplot(J,view=[0..100,-1..1]);

>    end:

>   

Procedure aN to build the crack size  versus N (a_N) or crack size less initial crack versus N size (a-a0_N) curve.

>    currentdir("c:\\mydocu~1\\dur_n~1\\maple_~1");

>    aN:=proc(m::string,a0::float,G::symbol)

>    local J2,A,E,B,W,Min,lista,EBCW,a,G1,H1,G2,H2,TU,a_less_a0,a_N:

>    global a_less_a0_N;

>    J2:=readdata(m,7):

>    E:=2e5:B:=10:W:=50:

>    A:=20.52-225.36*(beta)+1001.14*(beta)^2-1830.93*(beta)^3+1347.23*(beta)^4:

>    Min:=0.2;

>    lista:=map(u->[u[1],1e3*(u[4]-u[5]),3*1e-6*E*B*W/(1e3*(u[4]-u[5]))*(u[6]-u[7])],J2):

>    EBCW:=lista[1..nops(lista),3]:

>    a_less_a0:=map(u->u-a0,evalf(map(u->W*(fsolve(A=u,beta,beta=Min..0.8)),EBCW),5)):

>    a:=map(u->u+a0,a_less_a0):a_N:=zip((x,y)->[x,y],lista[1..nops(lista),1],a):

>    a_less_a0_N:=zip((x,y)->[x,y],lista[1..nops(lista),1],a_less_a0): #Lista dos a_less_a0_N

>    writedata(m||` a_less_a0_N`,a_less_a0_N):writedata(m||` a_N`,a_N):

>    TU:=convert(a0,string):

>    with(plots):G1:=pointplot(a_less_a0_N,color=red,thickness=2,axes=boxed,labels=["N [cycles]","a-a0 [mm]"]):H1:=textplot([lista[round(nops(lista)/4),1],a_less_a0[4],"data file "||m||"  "||"a0 = "||TU||" mm"],color=blue,align=RIGHT):

>    G2:=pointplot(a_N,color=red,thickness=2,axes=boxed,labels=["N [cycles]","a[mm]"]):H2:=textplot([lista[round(nops(lista)/4),1],a[4],"data file "||m||"  "||"a0 = "||TU||" mm"],color=blue,align=RIGHT):

>    if G=AA0N then display(G1,H1) else if G=AN then display(G2,H2) else print("Please select the correct type of graphic, AN or AA0N") fi: fi:

>    end:

Examples of Application

The following are some examples of application of both aN  and RG   procedures  showed above. VA FCP  test are made under load control with Pa  (amplitude load) and Pm  (mean load) as specific parameters of control. FCP  behavior of materials, either under VA  or constant amplitude CA loading, is mainly controlled by the Stress Intensity Factor Range DK   = DP/B  sqrt(W) x f(a/w) , where B  is the thickness of C(T)  or DC(T)  specimen. We select   Pa  and Pm  values for a given initial crack size a0  and a target initial Stress Intensity Factor Range using a simple routine showed below.

>    Pa_Pm:=proc(DKi,W,B,a0,R)

>    local DK, DP, Pmax, Pmin, Pam, Pme;

>    DK:=evalf(1e-6*DP/(B*sqrt(W))*(2+a0/W)/(1-a0/W)^1.5*(0.886+4.64*(a0/W)-13.32*(a0/W)^2+14.72*(a0/W)^3-5.6*(a0/W)^4),4);

>    DP:=fsolve(DK=DKi,DP);

>    Pmax:=DP/(1-R);Pmin:=Pmax-DP;

>    Pam:=evalf((Pmax-Pmin)/2/1e3,2);Pme:=evalf((Pmax+Pmin)/2/1e3,2);

>    print(Pa = `Pam`, KN,Pm = `Pme`, KN);

>    end:

R , the only parameter of Pa_Pm   procedure  we have not explained yet, is either the ratio Pmin/Pmax  or the ratio Kmin/Kmax  in each cycle. Clearly, in VA  loading test this is only a reference value to initial values of maximun and minimun load, because the following will be different. In this case we use R = 0.38 .

>    Pa_Pm(23.9,50e-3,10e-3,14e-3,0.38);

Pa = 5.0, KN, Pm = 11., KN

Now we use the RN procedure  to get the random normalized values of peaks and valleys, as showed below, for n = 100%  and n1 = 1000 . For clarity we present only the first hundreds results. This values are then use to multiply, in the test software, the Pa  and Pm  values gotten earlier. As a result we have the VA  load block applied to specimens during the test.

>    RG(100,1000);

[Maple Plot]

What follows are two curves ( a_N  and a-a0_N ) returned by the aN procedure  from a data file called sp1.txt  and for an initial crack size a0 = 13 mm . Repair that each graphic contains enough information about the parameters used.

>    aN("sp1.txt",13.0,AN);

[Maple Plot]

>    aN("sp1.txt",13.0,AA0N);

[Maple Plot]

>   

Conclusions

Once again, Maple was very useful to solve important problems of engineering. We have used Maple capacities for build curves of FCP  test under VA  loading using BFS  technique for measuring the crack size. We hope our work can contribute to learning and diffusion of this important symbolic mathematical tool. If somebody have any doubt, please do not hesitate in contact the author (jorgeduranbr@yahoo.com.br).

>   

Disclaimer:  While every effort has been made to validate the solutions in this worksheet, Waterloo Maple Inc. and the contributors are not responsible for any errors contained and are not liable for any damages resulting from the use of this material.

>