A111D5 b 5 M 0 3 fl MRQID

NATL INST OF STANDARDS & TECH R. .C. a«4?fev.j0UNTING METHODS FOR

FATIGUE ANALYSIS WITH RANDOM

LOAD HISTORIES:

A FORTRAN USER’S GUIDE

o

QC1

REFERENCE

NBS

PUBLICATIONS

Yi-Wen Cheng

Jerry J. Broz

National Bureau of Standards

U.S. Department of Commerce

Boulder, Colorado 80303

August 1986

QC

100

• U56

86-3055

1986

NBSIR 86-3055

Research Information Center

iNationai Bureau of Standards

Gaithersburg, Maryland 20899

CYCLE-COUNTING METHODS FOR

FATIGUE ANALYSIS WITH RANDOM

LOAD HISTORIES:

A FORTRAN USER’S GUIDE

Yi-Wen Cheng

Jerry J. Broz

Fracture and Deformation Division

Institute for Materials Science and Engineering

National Bureau of Standards

Boulder, Colorado 80303

August 1986

Sponsored by

U.S. Department of Interior

Minerals Management Service

Reston, Virginia 22091

U.S. DEPARTMENT OF COMMERCE, Malcolm Baldrige, Secretary

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director

CONTENTS

Page

INTRODUCTION 1

CYCLE-COUNTING METHODS 2

Rainflow Cycle-Counting Method 2

Mean Crossing-Range Technique 8

SUMMARY 10

REFERENCES 11

APPENDIX 1 - COMPUTER PROGRAM LIST FOR

RAINFLOW CYCLE-COUNTING METHOD 12

APPENDIX 2 - COMPUTER PROGRAM LIST FOR

MEAN CROSSING-RANGE TECHNIQUE 26

APPENDIX 3 ~ EXAMPLE OF PROGRAM EXECUTION 38

iii
LIST OF FIGURES

Page

1. Illustration of rainflow cycle-counting method A

2. Illustration of mean crossing-range

cycle-counting technique 9

A3.1. Example of VAXT.DAT (FTN60.DAT) input file AO

A3. 2. Example of FTNxx.DAT (FTN50.DAT ) input file Al

A3. 3. Example of program execution. Italic letters are operator's responses to the computer's prompts A2

A3. A. Output example from the rainflow cycle-counting

method AA

A3. 5. Output example from the mean crossing-range

cycle-counting technique... A5
CYCLE’ COUNTING METHODS

FOR FATIGUE ANALYSIS WITH RANDOM LOAD HISTORIES:

A FORTRAN USER’S GUIDE

Yi-Wen Cheng

Jerry J. Broz

Fracture and Deformation Division

National Bureau of Standards

Boulder, Colorado 80303

Rainflow and mean crossing-range methods are used in counting the stress

ranges and cycles of a random load history. Each method is defined and then

applied to a simple random load history example. Fortran IV computer programs were written to make analysis of long random load histories possible.

The stress ranges and cycles obtained by these programs have been used for

fatigue crack growth analysis under sea-wave loading.

Key words: cycle-counting methods; fatigue of materials; mean crossing-range

counting method; rainflow counting method; variable amplitude loading

v

INTRODUCTION

Real-life structures, such as airplanes, automobiles, ships, pressure

vessels, bridges, offshore structures, etc. are often subjected to cyclical

loads that result in structural failure due to fatigue. To avoid any potential fatigue failure, the fatigue life of the structure must be known. The

loads that cause structural failure by fatigue are usually complex and random

in form. Current approaches to random load fatigue analysis utilize

experimentally obtained fatigue data, which are often acquired through

constant-amplitude testing methods, such as stress-life (S-N), strain-life

(e-N), or fatigue crack growth rate, to predict the fatigue lives of actual

structures subject to random loading. All these commonly used approaches

require that stress ranges and cycles of the random load history be defined

in order to perform fatigue-life calculation.

Except for constant-amplitude and narrow-band random loadings, where the

precise definition of a cycle is clear, the determination of the stress

ranges and cycles is a problem. Thus, before any fatigue analysis can be

performed, some sort of cycle-counting method to reduce the random load

history to proper stress ranges and cycles must be devised. Once a cyclecounting method is established, and the stress ranges and cycles are defined,

evaluation of the fatigue damage under random loading is possible. Two of

the many cycle-counting methods currently available are the rainflow counting

method [1], and the mean crossing-range technique [2], This guide presents

Fortran IV computer programs which utilize the rainflow counting method and

the mean crossing-range technique in counting the stress ranges and cycles of

random load histories.

1
CYCLE-COUNTING METHODS

The purpose of all cycle-counting methods is to reduce a complex

random load history so that the results can be compared with S-N and e-N

curves obtained from constant-amplitude testing for predicting the fatigue

life of an actual structure subject to random loads. To facilitate the life

prediction, the number of cycles and the magnitude of stress ranges in the

random load history must be determined. Unlike constant-amplitude and

narrow-band load histories, where a cycle and stress ranges have exact definitions, the random load history has no set definition for a cycle or a

stress range. It is expected that each cycle-counting method will have a

different way of defining a cycle and stress range, resulting in a number of

different ways in which the random load history can be counted. With so many

variations for counting cycles and stress ranges in a random load history, it

is unfortunate that no one method can be satisfactorily proven to be the

best. Each method has its advantages as well as its disadvantages. In this

guide, two methods for counting random load histories will be presented.

These are (1) the rainflow-counting method, and (2) the mean crossing-range

technique.

Rainflow Cycle-Counting Method

Of all the methods currently available, the rainflow cycle-counting

technique is the most popular. The rainflow technique was first presented in

Japanese in 1968 by Tatsuo Endo, and an English translation was published in

1974 [1]. The method, like other counting methods, defines cycles, stress

ranges, and the mean of a random load history. Some of the reasons for its

2
popularity stem from the simplicity of its algorithm and its compatibility

with corresponding stress-strain relation when it is applied to a strain

history [3]. Another, more important, reason is that the method determines

the energy used during the complex loading through the identification of

hysterisis loops corresponding to counted stress ranges [4]. Originally, the

method was developed to analyze fatigue crack initiation under a random load

history. However, using a Fortran IV computer program, the rainflow technique has been extended to analyze fatigue crack propagation in a specimen

subject to random load history [5].

The rainflow method gets its name from a metaphorical flow of raindrops down many overlapping "pagoda" roofs, where the peaks and valleys of a

random load history are represented by the edge of each roof [1]. In

figure 1 , a short random load history is turned 90° clockwise. Using some

imagination, it can be seen that the load history resembles a series of roofs

down which the raindrops must flow. The raindrops can flow in either direction down the roofs (left or right), but they must cover the top of every

roof. There are, however, a few conditions which govern the way the raindrops

can actually flow. The analysis of the random load history using these conditions is best demonstrated through example.

The rain starts to flow from the first peak, the highest roof, until it

reaches the edge, drops off, and lands on another roof. This sequence of

events continues until one of the following two conditions is satisfied:

1 . The rain falling from a roof above cannot cross the path of rain flowing

down a roof. If this occurs, the range is counted and the peak and

valley which make up the range are discarded, since they will have no

3
LOAD AMPLITUDE

Results

Range Total Cycles

H/l 1 A/B 1 D/F 1 C/G 1

Figure 1. Illustration of rainflow cycle-counting method.

4
effect on future events. Ranges H/I , A/B, and D/F in figure 1 are good

examples of this rule.

2. For a drop falling from the tip of a roof, the flow stops if the falling

drop passes opposite either a peak which is more positive than that at

the start of the path under consideration or a valley which is more

negative than that at the start of the path under consideration [6],

Again, this leads to a range being counted and the points which make up

the range being discarded. In figure 1, this can be illustrated using

the flow starting at H. The flow stops after I because A is a more

negative valley than H.

In this process, if the range counted contains the starting point of

the counting sequence, this range comprises only one-half cycle; otherwise,

one cycle is counted. In the former case, only the starting point is discarded and the second point becomes the starting point.

If a typical segment of a random load history is repeatedly applied, as

is commonly done in laboratory tests, the rainflow count is identical for

each subsequent repetition of the history once either the maximum peak or

minimum valley is reached for the first time. Detailed procedures for

obtaining such a repeating random load history cycle count are as follows:

1 . Find the maximum peak (or valley) and begin the rainflow count at that

point

.

2. Read the next valley (or peak). If out of data, go to step 7.

5
3. If there are fewer than three points, go to step 2. Form ranges Y

(the first two points) and X (the second and third points) using the

three most recent peaks and valleys that have not been discarded.

4. Compare ranges X and Y:

• if X < Y, go to step 2.

• if X ^ Y, go to step 5.

5. Count range Y, discard the peak and valley associated with range Y.

6. Go to step 3.

7. Print the results.

Take the random load history in figure 1 as an example:

1 . The maximum peak is found at point G.

2. Read point H.

3. There are fewer than three points. Go to step 2.

4. Read point I.

5. Form range G/H as Y, and range H/I as X.

6. Because X is smaller than Y, go to step 2.

7. Read point A.

8. Form range H/I as Y, and range I/A as X.

9. Because X is greater than Y, go to step 5.

10. Count the range H/I as one cycle, and discard points H and I. Points G

and A remain.

11. Go to step 3.

12. There are fewer than three points. Go to step 2.

13. Read point B.

6
1*1. Form range G/A as Y, and range A/B as X.

15. Because X is smaller than Y, go to step 2.

16. Read point C.

17. Form range A/B as Y, and range B/C as X.

18. Because X is greater than Y, go to step 5.

19. Count the range A/B as one cycle, discard points A and B. Points G and

C remain.

20. Go to step 3.

21. There are fewer than three points. Go to step 2.

22. Read point D.

23. Form range G/C as Y, and range C/D as X.

2*1. Because X is smaller than Y, go to step 2.

25. Read point E.

26. Because E is an intermediate point, discard point E and go to step 2.

27. Read point F.

28. Form range C/D as Y, and range D/F as X.

29. Because X is smaller than Y, go to step 2.

30. Read point G.

31. Form range D/F as Y, and range F/G as X.

32. Because X is greater than Y, go to step 5.

33. Count the range D/F as one cycle, and discard points D and F. Points G,

C, and G remain.

3*1. Go to step 3*

35. Form range G/C as Y, and range C/G as X.

36. Because X equals Y, go to step 5.

7
37. Count the range G/C as one cycle, and discard points G and C. Point G

remains

.

38. Go to step 3.

39. There are fewer than three points. Go to step 2.

40. Out of data, go to step 7.

41. Print the results.

A complete Fortran IV computer program for repeating random load

histories is presented in Appendix 1 and an example of the program execution

is given in Appendix 3. Many comments have been incorporated into the program; it is intended to be self-explanatory. The program was written to

operate in an interactive mode. The inputs, except load-time pairs which are

stored in mass storage units, are fed into the computer through a terminal

keyboard. Because of the wide variety of computers available, the reader may

have to make some minor alterations of the program in order to make it compatible with his data files and system.

Mean Crossing-Range Technique

The mean crossing-range technique is a modified version of the levelcrossing counting method. The mean-load level is used as the basis for

counting the cycles and stress ranges. Each time the varying load crosses

the mean level, a count is made. After three mean crossings, a cycle is

counted and a stress range is measured from the maximum peak to the minimum

valley among these crossings. These points are subsequently discarded since

they will have no effect on future events. This method is illustrated using

the short random load history shown in figure 2.

8
BanindiAiv avcn

9

Figure

2.

Illustration

of

mean

croosing-range

cycle-counting
Starting at point G, only consecutive positive peaks and negative

valleys with a mean crossing in between will be considered for analysis. The

points G and H are not read into the calculations because there is no mean

crossing between them; also, they are of the same sign. There are, however,

mean crossings between points I and A, A and B, and B and C. These points,

are in turn used to define the cycle and stress range. As shown in figure 2 ,

there are three mean crossings between the points I and C, thus, the range

which spans from B to C is counted as one cycle. Once the cycle and stress

range are counted, the points preceding point C are discarded from any

further calculations, and the count continues from point C. The counted

cycles and stress ranges are also given in figure 2 . A complete Fortran IV

computer program using the mean crossing-range technique for counting random

load histories is presented in Appendix 2 and an example of the program execution is given in Appendix 3. Because of the wide variety of computers

available, the reader may have to make some minor alterations of the program

in order to make it compatible with his data files and system. Again, many

comments have been incorporated into the program; it is intended to be selfexplanatory. The program was written to be interactive. The inputs, except

load-time pairs which are stored in mass storage units, are fed into the

computer through a terminal keyboard.

SUMMARY

Many methods for counting the cycles and stress ranges in a random load

history exist. This guide presents two of these methods, the rainflow

counting technique and the mean crossing-range method, in the form of simple

10
examples and complete Fortran IV computer programs. These easy to follow

programs have been successfully run on repeating random load histories of

different irregularity factors (the number of mean crossings divided by the

number of peaks plus valleys) [2,5].

REFERENCES

1. Endo, T., Mitsunaga, K. , Takahashi, K. , Kobayashi, K., and

Matsuishi, M. , "Damage Evaluation of Metals for Random or Varying

Loading - Three Aspects of the Rainflow Method," Proc 1974 Symposium on

Mechanical Behavior of Materials , Vol. 1 (The Society of Materials

Science, Japan 1974), pp. 371-380.

2. Cheng, Y. W. , "The Fatigue Crack Growth of a Ship Steel in Saltwater

under Spectrum Loading," Int. J. of Fatigue , Vol. 7, No. 2, 1985,

pp. 95-100.

3. Anzia, H., and Endo, T., "On Site Indication of Fatigue Damage under

Complex Loading," Int. J. of Fatigue , Vol. 1, No. 1, 1979, pp. 49-57.

4. Downing, S. D., and Socie, D. F., "Simplified Rainflow Counting

Algorithms," Int. J. of Fatigue , Vol. 4, No. 1, 1982, pp. 31-40.

5. Cheng, Y. W., "Fatigue Crack Growth Analysis under Seawave Loading,"

submitted for publication in the International Journal of Fatigue.

6. Gurney, T. R., Fatigue of Welded Structures , second edition, 1979,

Cambridge University Press, Cambridge, U. K. , pp. 378-380.

11
APPENDIX 1

COMPUTER PROGRAM LIST FOR RAINFLOW

CYCLE-COUNTING METHOD

(FOR REPEATING LOAD HISTORIES)

12
0001 PROGRAM CYCLE 1 C

c- - purpose:

C— EXAMINE A RANDOM LOAD HISTORY, WHICH IS ON

C- - TWO SEPARATE DISKS,' FIND THE MAXIMUM PEAK, COUNT

C- - THE NUMBER 0‘~ POINTS, AND USE THE RAINFLON

C- - COUNTING METHOD TQ COUNT THE CYCLES AND THE

C- - STRESS RANGES.

c — usage:

C-- THE PROGRAM CYCLE 1 IS ON THE SYSTEM DISK, SO THAT

C- - THE GREATEST AMOUNT OF DATA CAN EE ANALYZED. THUS

C- - IT MUST BE RUN WITH THE COMMAND 'R CYCLE! ' . C- - DESCRIPTION OF PARAMETERS:

C — NONE.

C— SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C-- FILES

C-- MAXMIN

C- - HSTINT

C — TEXPO

C — RANFLO ( YZ , I JK , YHAT

)

C- - MSTGRM ( RANGE

)

C- - YESNO ( I YESNO

c- - comments:

C — THIS PROGRAM IS COMPOSITE OF SEVERAL SUBROUTINES

C- - EACH HAVING A SEPARATE PURPOSE. THESE SUBROUTINES

C — ARE COMBINED IN A LIBRARY FILE (RANFIL) WHICH IN

C— TURN IS LINKED WITH THE MAIN PROGRAM CYCLE!.

C

C — THE DATA ANALYZED IS GN TWO SEPERATE DISKS:

C-- RIGHT-SIDE DISK - GNE FILE OF JUST DATA. THIS

C— DISK IS ALWAYS READ FIRST.

C— LEFT-SIDE DISK ~ SYSTEM DISK WITH CYCLE!

C-- PROGRAM, AS WELL AS, ANOTHER DATA FILE (VAXT.DAT)

C- - WHICH IS A CONTINUATION OF THE FILE ON THE RIGHT

C — SIDE DISK.

C- - PROGRAM WRITTEN BY YI-WEN CHENG AND JERRY J. E’ROZ

C- - THIS PROGRAM IS A PROPERTY OF THE U.S. GOVERNMENT

C- - AND NOT SUBJECT TO COPYRIGHT

0003

0004

0000

0006

0007

0008

COMMON/EXPO/YZ , I JK , YHAT

COMMON/ FILES /INFILE

COMMON/ HST I NT /NX NO , XINC , YRANGE ( 100) , XRANGE ( 100)

COMMON / MAXM I N / A PEX , AMALLY , XPO I NT

C

0— THE FILE VAXT.DAT ON THE LEFT-SIDE DISK IS ASSIGNED

C— THE LAE’EL FTN60.DAT,

CALL ASS I GN ( 60 ,

' 5Y : VAXT . DAT ' , 1 1 , , , ) 0

TYPE 10

10 FORMAT (/////' -- THIS CYCLE 1 PROGRAM IS USED FOR',/,

1

' THE LEFT AND RIGHT SIDE DISKS. THE INPUT FILE',/,

1

' ON THE LEFT DISK SHOULD PE VAXT.DAT AND THE',/,

1

' INPUT FILE ON THE RIGHT DISK NEEDS TO PE DES- ' , /

,

1

' IGNATED. PLEASE MAKE SURE THE CORRECT DISKS',/,

13
1 ARE IN THE RESPECTIVE DRIVES BEFORE STARTING.')

0009

0 0 i 0

0011

002

00 1

3

0014

0015

r

C- - c

c

cc

r*cOBTAIN THE NAME OF THE INPUT FILE WHICH IS ON THE

RIGHT SIDE DISK.

CALL FILES

READ THE DATA FROM E’QTH THE RIGHT AND LEFT DISKS, THEN FIND

THE MAXIMUM PEAK, THE MINIMUM VALLEY, AND THE TOTAL NUMBER

OF DATA POINTS PRESENT IN THE COMBINED FILES.

CALL MAXMIN

DESIGNATE THE INTERVAL TO BE USED FOR PRINTING OUT THE

HISTOGRAM OF THE STRESS RANGES.

CALL HSTINT

PICK THE STARTING EXPONENT, THE NUMBER OF CALCULATIONS,

AND THE INCREMENT OF THE EXPONENT FOR FINDING THE DESIRED

VALUES OF M--RGOT.

CALL TEXPO

EXAMINE THE RANDOM LOAD-TIME HISTORY ON THE TWO DISKS,

DEFINE AND COUNT THE CYCLES AND STRESS RANGES USING THE

RA INFLOW COUNTING METHOD.

CALL RANFLO ( Y2 , I JK , YHAT

)

STOP

END

14
000 1

0002

0003

0004

000b

0006

0007

0008

0009

0010

0012

0013

n

n

r-j

SUBROUTINE FILES

C

c — purpose:

c — designate which input file will ee used in the

C-- CALCULATIONS. THIS DATA FILE SHOULD EE FOUND

C — ON THE RIGHT-SIDE DISK.

C-- usage:

C— CALL FILES

C— DESCRIPTION OF PARAMETERS:

C-- INFILE - THE NUMBER OF THE FILE TO BE EXAMINED

C— IANS - Y ES = 1 , OR N0 = 0

C— SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C — YESNO ( I YESNO

)

c — comments:

C — NONE.

C

COMMON /FILES/ INFILE

0 TYPE 30

-- DESIGNATE INPUT FILE TO BE USED

30 FORMAT!/, ' TYPE IN THE NO. OF INPUT FILE',/)

ACCEPT 40, INFILE

40 FORMAT (13)

TYPE 50, INFILE

50 FORMAT!//,'— THERE WILL BE A SLIGHT WAIT',/,

1

' WHILE THIS FILE IS READ. — ',//,

1

' THE INPUT FILE I S', 1 4,//,

1' IS THIS INFORMATION CORRECT?')

CALL YESNO! IANS)

IF (IANS .EG. 0) GO TO 20

RETURN

END

15
0001 SUBROUTINE HSTGRM< RANGE >

0002

0003

0004

0005

0006

0007

0008

0009

0011

0012

0013

C

c — purpose:

C — CALCULATES THE SIZE OF THE INTERVAL FOR THE HISTOGRAM

C— PLACEMENT OF RANGES, PLACES THE OBTAINED STRESS RANGES

C — INTO THE APPROPRIATE INTERVAL, AND THEN COUNTS THE

C — NUMBER OF TIMES THE RANGES FALL WITHIN A GIVEN

C — INTERVAL. NOTE, THIS IS HISTOGRAM DATA, AND NOT A

C — HISTOGRAM.

C — usage:

C — CALL HSTGRM( RANGE)

C-- DESCRIPTION OF PARAMETERS:

C — XRANGE - ARRAY OF THE ENDPOINTS OF THE INTERVAL

C — USED FOR THE HISTOGRAM PLACEMENT

C— RANGE - STRESS RANGE OBTAINED FROM RA INFLOW

C — XDEL 1 - CHECKS TO SEE IF THE RANGE IS ABOVE THE

C — LOWER ENDPOINT OF THE HISTOGRAM INTERVAL

C — XDEL2 - CHECKS TO SEE IF THE RANGE IS BELOW THE

C— UPPER ENDPOINT OF THE HISTOGRAM INTERVAL

C— YRANGE - ARRAY TO COUNT THE NUMBER OF TIMES A RANGE

C — MAGNITUDE FALLS WITHIN A GIVEN INTERVAL

C — SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C— NONE.

c— comments:

C — DOUBLE PRECISION IS USED TO MAKE SURE THAT ALL THE

C — RANGES GET COUNTED AND PLACED INTO THE HISTOGRAM.

C— MAINLY USED TO INCREASE THE ACCURACY OF THE

C — COMPARISON/PLACEMENT TEST.

C

IMPLICIT DOUBLE PRECISION ( A , H , R , X

)

CQMMON/HST I NT/N I NC , X I NC , YRANGE ( 1 00 ) , XRANGE ( 1 00

)

C

C — INITIALIZE THE PARAMETER

XRANGE ( 1

) =0.

C

C — INCREMENT STEP TO ESTABLISH INTERVALS

DO 10, I =2 , NINC+1

XRANGE ( I > = XRANGE ( 1-1 >+XINC

C

C— * COM PAR I SON /PL A CEMENT TEST * C— COMPARISON OF THE RANGES FOR HISTOGRAM PLACEMENT

XDEL 1 =RANGE-XRANGE ( 1-1 ) XDEL2=RANGE-XRANGE ( I

)

IF ( XDEL 1 .GT. l.D-5 .AND. XDEL2 . LE . 1 . D-5

)

C

C— COUNTS THE NUMEER OF OCCURANCES WITHIN AN INTERVAL

1 YRANGE ( I - 1

) = YRANGE ( I - 1 ) + 1 . 10 CONTINUE

RETURN

END

16
0001

000?

0003

0004

0005

0006

0007

0008

0009

0010

0011

001 ?

0013

0015

0016

0017

0018

0019

0020

0021

SUBROUT I NE HSTINT

C

c— PURPOSE:

C-- PROMPTS FOR THE NUMBER OF I NERVALS TO BE USED IN

C-- SETTING UP A HISTGRAM FOR THE STRESS RANGES OBTAINED

C-- FROM RA INFLOW, ONCE THE NUMBER OF INTERNALS IS

C-- KNOWN, THE INCREMENT OF THE HISTOGRAM CAN BE ESTABLISHED.

c — usage:

C-- CALL HSTINT

C— DESCRIPTION CF PARAMETERS:

C-- NINC - THE TOTAL NUMBER OF INTERNALS BETWEEN

C-- EXTREMAS FOR THE HISTOGRAM

C-- RNGMAX - THE MAXIMUM POSSIBLE RANGE FOR THE HISTOGRAM

C — XNINC - THE REAL NUMBER CONVERSION OF NINC

C-- XINC - THE INCREMENT FOR THE HISTOGRAM

C — YRANGE - ARRAY TO COUNT THE NUMBER OF TIMES A RANGE

C — MAGNITUDE FALLS WITHIN A GIVEN INTERVAL

C — XRANGE - ARRAY OF THE ENDPOINTS OF THE INTERVALS

C— USED FOR THE HISTOGRAM PLACEMENT

C— SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C— YESNO ( I YESNO ) c — comments:

C — DOUBLE PRECISION IS USED TO INCREASE THE ACCURACY

C-- OF THE CALCULATIONS.

C

IMPLICIT DOUBLE PRECISION ( A , H , R , X

)

COMMON/MAXMIN/APEX, AVALLY,XPQINT

COMMON/HST I NT / N I NC , X I NC , YRANGE ( 1 00 ) , XRANGE ( 1 00

)

CcC-- THE MAXIMUM POSSIBLE RANGE FOR THE HISTOGRAM IS FOUND

R N G MA X = A P E X - AVA L L Y

20 TYPE 30

30 FORMAT!/, ' TYPE IN THE NUMBER OF DESIRED INTERVALS',/,

1' BETWEEN THE EXTREMA '

, 1 4 , /

)

ACCEPT 40, NINC

40 FORMAT (13)

TYPE 50, NINC

50 FORMAT ( / ,

' THE NUMBER OF INTERVALS IS: ',15,/,

1' IS THIS INFORMATION CORRECT?')

CALL YESNO (IANS)

IF (IANS .EQ. 0) GO TO 20

C

C— REAL NUMBER CONVERSION

XNINC=FLOAT (NINC)

X I NC = RNGMAX /XNINC

C

C— INITIALIZE YRANGE FOR THE HISTOGRAM COUNT

DO 60, 1=1 , NINC

YRANGE ( I

) =0.

60 CONTINUE

RETURN

END

17
0001 SUBROUTINE MAXMIN

0002

0003

0004

0005

0006

0007

0008

0009

0010

0012

0013

0014

C

c— purpose:

C — TO READ DATA FROM BOTH LEFT AND RIGHT DISKS, FIND THE

C — MAXIMUM PEAK, THE MINIMUM GALLEY, AND THEN COUNT THE TOTAL

C-- NUMBER OF DATA POINTS.

C — usage:

C~- CALL MAXMIN

C-- DESCRIPTION OF PARAMETERS'.

C — I READ - DETERMINES WHICH DISK IS TO BE READ

C — 0 - INFILE

C— <>0 - GAXT.DAT (FTN60.DAT)

C — XPOINT - THE TOTAL NUMBER GF DATA POINTS

C-- APEX - MAXIMUM PEAK

C-- AGALLY - MINIMUM GALLEY

C — I DAY - NUMBER DAYS OF RANDOM LOAD

C — I HOUR - NUMBER HOURS QF RANDOM LOAD

C — IMIN - NUMBER OF MINUTES OF RANDOM LOAD

C— XSEC - NUMBER OF SECONDS OF RANDOM LOAD

C— XH - LOAD CORRESPONDING TO AEOGE TIMES

C— SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C— NONE.

c— comments:

C-- DOUBLE-PRECISION WAS USED TO INCREASE THE ACCURACY

C— OF THE CALCULATIONS.

C

IMPLICIT DOUBLE PRECISION (A,H,R,X>

COMMON/FILES/INFILE

COMMON/MAXM IN/ APEX, AGALLY, XPOINT

C

C— INITIALIZE THE PARAMETERS

I READ=0

XPOINT = 0

.

A PEX=- 10000.0

AOALLY= 10000.0

C

C— XPOINT IS USED AS A COUNTER FOR EACH DATA FILE

C— AND IS INCREASED BY ONE EACH TIME A DATA POINT IS

C-~ READ, RESULTING IN A TOTAL COUNT OF ALL DATA POINTS

C— IN THE INPUT FILES.

10 XPOl’NT-XPOlNT+1 . cC— THE LOAD-TIME HISTORY IS READ FROM EACH DATA FILE.

C — THE READING STARTS WITH THE RIGHT-SIDE DISK AND ONCE

C— THAT DISK IS FINISHED, THE LEFT-SIDE DISK IS READ.

IF (I RE AD .NE, 0) GO TO 21

C

C — GNCE THE END OF THE FILE IS REACHED, IREAD MUST BE MADE

C— GREATER THAN ZERO TO INDICATE THE LEFT DISK SHOULD BE READ.

READ( INFILE, 20, END = 30) I DAY, I HOUR, IMIN, XSEC, XH

20 FORMAT (315, 2F 14.5)

GO TO 25

C

C— ONCE THE LEFT-SIDE DISK HAS BEEN COMPLETELY READ,

18
C

THE RESULTS CAN BE PRINTED OUT IF SO DESIRED.

00 1 b 21

p

READ ( 60 , 20 , END = 40 ) I DAY, I HOUR, I M I N , XSEC , ><H Lc

THE COMPARISON TESTS TO FIND THE PEAK AND 0 ALLEY OF FILES

0016 2 b IF (XH .GT. APEX) APEX=XH

0018 IF (XH .LT. AMALLY) AMALLY=XH

0020 GO TO 10

002

30 I READ = IREAD+1

0022

p

GO TO 21

Lc

PRINTS THE PEAK AND MALLE

0023 40 PRINT 41 , APEX, AM ALLY

0024 41 FORMAT <//' THE PEAK IS ',D14.5,/,' THE MALLE

IS ', D 1 4 . 5 ) 002b

P

XPOINT=X POINT-1

.

Lic

PRINTS THE NUMBER OF DATA POINTS PRESENT IN BOTH FILES

0026 PRINT 60 , XPO I NT

0027 60 FORMAT ( /

' THERE ARE ',D14.b,' POINTS.'//)

0028 RETURN

0029 END

19
0001 SUE’ ROUT I NE RANFLO ( YZ » I JK , YHAT ) C

c — purpose:

C — STARTING AT THE MAXIMUM PEAK OF THE INPUT FILES

C-- COUNT THE CYCLES AND STRESS RANGES IN A RANDOM

C — LOAD-TIME HISTORY USING THE RA I NFLGW-GQUNT I NO

C — METHOD . THEN MAKE A HISTOGRAM USING THE OBTAINED

C — STRESS RANGES AND CALCULATE THE VALUERS) FOR

C— H-ROGT WITH THE GIVEN EXPONENT (S)

c— usage:

C— CALL RANFLO < YZ , I JK , YHAT ) C-- DESCRIPTION OF PARAMETERS:

C— JR - COUNTER USED WHEN MANIPULATING DATA

C— I READ - DETERMINES WHICH DISK IS TO BE READ

C— 0 - INFILE

C

-- ~ < > 0 ~ V A X T . DAT CFTN60.DAT)

C— YPCINT - COUNTER OF THE CURRENT DATA POINTS BEING

C — READ FROM THE INPUT FILES

C — XNUMBR - COUNTER FOR THE TOTAL NUMBER STRESS RANGES

C — XZ - EXPONENT FOR Hi- ROOT

C — H - ARRAY INTO WHICH THE PEAKS AND VALLEYS

C— ARE READ AND THEN USED IN RA INFLOW COUNTING

C— HBARR - ARRAY INTO WHICH THE SUMMATION OF THE STRESS

C — RANGES RAISED TO THE XZ POWER ARE PLACED

C— HROOT - ARRAY INTO WHICH THE CALCULATED VALUE OF

C — H-ROOT IS PLACED

C— APEX - MAXIMUM PEAK OF THE LOAD-TIME HISTORY

C — XDIFF - USED TO LOCATE THE PEAK OF THE INPUT FILES

C— jo THAT RA INFLOW CAN BE STARTED AT THAT POINT

C — XSIGN1 - SLOPE OF CURRENTLY CONSIDERED RANGE

C— XSIGN? - SLOPE OF PREVIUQSLY CONSIDERED RANGE

C — ASSIGN ~ USED TO CHECK IF CONSECUTIVE DATA POINTS (PEAK

C — OR VALLEY ) ARE EQUAL

C — XSIGN - USED TO CHECK IF XSIGN1 AND SIGN? ARE OF THE

C — SAME SIGN <+/->

C— X r XY - RANGES FORMED USING THE THREE MOST RECENT

C — PEAKS AND VALLEYS

C — XYMNSX ~ DIFFERENCE OF RANGE X AND RANGE XY, USED TO CHECK

C — IF A COMPLETE CYCLE WAS FORMED

C — 0< ~ NO CYCLE FORMED ? NEXT POINT MUST BE READ

C — 0 > = - CYCLE FORMED AND COUNTED

C — RANGE - THE COUNTED STRESS RANGE (XY)

C— YXZ - EXPONENT FOR HBARR CACULATION

C

- - S UhR OUT I NES A N D F U NC T 1 0 N SU b P R 0G R A Si S R E QU I R E D : C

- - HS'T GRM ( R A N G E ) c— comments:

C — WITH THIS SUBROUTINE, THE RA INFLOW METHOD IS EXTENDED

C — to THE ANALYSIS OF FATIGUE CRACK PROPAGATION IN A

C — SPECIMEN SUBJECT TO A RANDOM LOAD-TIME HISTORY.

000?

0003

0004

0000

I M P L I C I T D 0 U BL E PRECIS 1 0 N (A, H , R , X

)

C 0 MM0

? ‘/FI L £ S / I NFILE

C 0M M0N / MA X M I N / A P E X , AV ALL Y , X P0 1 N

C GMM0N / H S V I NT/NINC, X I N C , Y R ANGE ( 1 0 0 ) , XR A N G E ( 1 00

)

20
0006

0008

0009

00 1

0

00 1 1 00 i .

• 0013

00

4

0015

0016

00 1 V

0018

00 1

9

00? 1 00 ??

00?3

00? 4

00? 5

00? 6

00? 8

0029

0020

0031

003?

0023

003b

0036

0037

0038

0039

004 1 0042

0043

C —

L —

10

?c

?6

27

30

C

c

33

0 .1 MENS I GrV H ( 1 00 ) r HRQOT ( 1 00 ) r HBARR ( 1 00

vEWI.ND INFILE

REWIND 60

INT.T7AILI2E THE PARAMETERS

V / W “T — WT ! AL“

L

I READ =0

YPO

NT= 1

.

M ( 1 ) = APEX

J R = 1 XNUMBR=0

„

DO 15 f I = -. 7 I JK

ARR< I ) =0,

HRGG7 { I > = 0.

CONTINUE

W I T M T !-! e A P E X 0 A L UE ( M A X I M U M PE A K ) P R £ V 1 0U S L Y

OBTAINED, THE INPUT FILES ARE RE-EXAMINED TO FIND

THE LOCATION OF THE APEX SC THAT THE R A INFLOW

C 0UNIX N G M E T H0 D C A N B E S T A R TED A T THE M A X I MU M P E A K

.

BOTH OF THE INPUT FILES MUST BE EXAMINED.

IF (I READ .ME. 0) GO tq y\\

READ ( INF I L E , 7 0 , E N D = ? 7 ) I D A Y , I H0UR , I M 1 1-4 , X S E C , X

FORMAT ( 3 I b , ?D 1 4 . b

)

GO TQ ?

6

READ ( 60 , ?0 , END-999 > I DAY , I HOUR , J M I N , XSEC , XH

X D I F F = D A b

3

< X H -APEX

)

I F < XD I FF , GT . 1 , D-b ) GO TO 1

0

GO TO 30

I READ* I READ--

GO TO ?b

JR = JR+1

YPO I NT = YPQ I NT -t- 1 .

REA- THE PEAKS AMD VALLEYS USE RA INFLOW CGUN*

IF (I RE AD . Q£ . 1) GO TO 3 b

READ ( I NF I LE , 20 , END --35 ) I DAY , I HOUR , I M I N , XSEC . H ( JR ) GO TO 40

READ ( 60 > ?0 , END - 1 00 ) I DAY , I HOUR , I M 1 N , XSEC , H < JR

)

I READ* I READ*

0 — ONLY FOUR DATA POINTS ARE ALLOWED

C-- IN THE H ARRAY AT ONE TIME.

40 IF (JR , L T „ 4) GO TO 30

C — CALCULATES THE SLOPES OF THE CURVE BEING EXAMINED

X S I G N 1 * H ( J R ) - H ( J R - 1 ) A B S I GN = D A b 3 ( XS I GN t ) X S I GN? = H ( J R - 1 > - H < J R - ? ) r;C — CHECKS IF SUCCESSIVE POINTS ARE EQUAL

C— IF IT BG HAPPENS, ONLY ONE OF THE POINTS IS CONS I BORE

C

- ~ F 0 R F U T UR E C AL CU LA T 1 0NS . 0044 IF' (A E S I G N . G T . 1 . D - 5 ) G 0 T 0 b 0
0046

0047

0048

0049

0051

0052

0053

0054

005 5

0056

0057

0059

0060

0061

0067

0063

0064

0066

0067

0068

0069

0070

0071

0073

0074

0075

0076

0077

0078

0079

0080

008

J ft = J R -

GG TC 30

C

G — CHECKS IF TWO CONSECUTIVE SLOPES AR E OF THE SAME

C-- THIS IS REALLY TO MAKE SURE THAT ONLY PEAKS AND

C-- USED IN THE RANGE CALCULATIONS. THUS, ONLY THE

C-- THE VALLEY IS READ, the INTERMEDIATE POINTS ARE

5 0 X S I G N = ( X S I G N 1 / X SIGN 3

)

IF < XSIGN . LT, 0.) GO TO 60

H< JR-1

)

=H( JR

)

JR= JR

GO TO 30

C

C— THE RANGES ARE FORMED, AND USING THE RULES OF RA INFLOW,

C— ARE COMPARED. IF THE CONDITIONS OF RA INFLOW ARE MET,

C — THE STRESS RANGE IS COUNTED.

60 X =DABS ( H ( JR- 1

) -H ( JR- 7 )

)

XY = DADS ( H ( JR- 3 ) -H ( JR-3 ) > XYMNSX=XY-X

IF (XYMNSX . GT . l.D-5) GO TO 30

RANGE =XY

SIGN <+/-)

VALLEYS ARE

PEAK AND

DISCARDED.

C— THE STRESS RANGES ARE PUT INTO A HISTOGRAM

CALL HSTGRM ( RANGE

)

0

C — THE VALUES OF H-BARR ARE CALCULATED USING THE STRESS

C — RANGES JUST OBTAINED BY RA INFLOW.

DO 70, 1 = 1, UK

HBARR ( I

) = ( RANGE**YX2 ) +HBARR ( I

)

Y X Z = Y X 2 + Y HAT

IF (I .EG. UK) YXZ = YZ

70 CON -

I NUE

X NU MB R = X N U M B R + 1 . 0

C — THE PEAK AND THE VALLEY OF THE COUNTED RANGE ARE

C — DISCARDED SINCE THEY HA V E N 0 BE A R I N G 0N F U T UR E E VE N T S . JR = JR-3

H< JR) =H< JR+2)

H ( JR-1 ) =H< JR+1

)

0

C— CHECK IF ALL THE PEAKS AND VALLEYS HAVE BEEN EXAMINED

C— BY THE RA I NFL 07: COUNTING METHOD.

IF ((JR-1) .EG. 1 .AND. YPOINT . GT, XPGINT) GO _r G 300

GG TO 40

100 I READ=0

REWIND INFILE

REWIND 60

JR = JR-1

YPOINT = YPOINT- 1

.

GO TO 30

C

C— THE RESULTS OF THE HISTOGRAM ARE PRINTED OUT.

300 PRINT 201

201 FORMAT (

' R A N8; E

- '

, 1 0X ,

22
1

' — CYCLE

oos:-' 23 240, 1=1 NC

0003 230 PRINT 231 , XRANGE ( I } , \f r, a i r~ t r j h » r\W ! , ! u.: c \ j. -r i } \t r s a K\ f** C / T l

r i f \ r J r-f UC\ 1 / 0084 :-*3i FORMAT (1)1 4 , 5 , ' ' rs i -"3 l -i 7

-.. \/

7 U J. uj » v > r 1 V A r E 1 4 5 > 0085 40 CONTINUE

0086 245 PRINT 246 7 XNUMBR

0087 246

r*» format:/' the number OF RANGES IS! '

, D 1 4 . 5

)

L

C — THE H-RQOT OF THE RANGES IS NON C ALCULATED USING

c — THE RESPECTIVE EXPONENT, AND THE or C2 i i ‘ t- c> Ar*-: o r

*• t

“r c* t\ I1COULIO r ; C 1 i \ I i C. X7 0088 DC 255, 1 = 1 , UK

0089 HROOT ( I > = ( HBARR ( I ) /X NUN DR ) ** < 1 .

/ \ /

• > \ / { A. / 0090 250 PRINT 251 , 72 > HROOT ( I / 0091 251 format://' with the EXPONENT OF :

' , e i 4 . s r / ,

1

' THE H--ROOT OF THE RANGES IS: / t\h yi •: „ s

r w* A -r * v / 009:-* Y2 = Y2 + YHAT

0093 255 CONTINUE

0094 GO TO 999

0095 990 TYPE 991

0096 991 FORMAT: ' SOMETHING I S WRONG !!!! 5 / \ 0097 c,‘ C,= C.> RETURN

0098 END

23
0001 SUBROUTINE TEXPO

0002

0002

0004

0005

0006

0 0 0 7

0008

0009

00 1 0

001

002

0013

00 1

00 1

5

00 1 6

0017

0018

0019

002 0

002

0022

0024

002 b

C

c-- purpose:

C— DESIGNATES THE STARTING EXPONENT , THE NUMBER OF H--ROQT

C-- CALCULATIONS'

AND THE INCREMENT BY WHICH THE EXPONENT

C— IS INCREASED FOR EACH H-ROOT CALCULATION.

c~~ usage:

C — CALL TEXPO

C— DESCRIPTION OF PARAMETERS:

YZ - STARTING EXPONENT FOR THE H-RGOT CALCULATIONS

C — UK -- THE NUMBER OF TIMES H-RCOT IS TO BE CALCULATE

C— YHAT - THE INCREMENT BY WHICH THE EXPONENT IS I NCR E

0— FOR EACH H-RCOT CALCULATION

C

- - SU B R 0UT I NE S A N D F UNCTION SU B P R0 GRA M S K EGUI R£ D

C— YESNQ ( IYESNO)

c— comments:

c — none;

r*' U

C 0M MON/ E X P0 /

2

,

I J K r Y H A

20 TYPE 30

30 F GR M AT ( / t

' T Y PE START I N G E X P 0 N E N T F 0 R H R 0 QT '

> ACCEPT 40 , YZ

40 ,, FORMAT ( F7 . 4 ) TYPE 42

4 2 F0R M A T ( / r

7 T Y P E T H E N U MBER OF H-ROOT C A L C UL A T 1 0 NS '

> ACCEPT 4b f UK

4b FORMAT (lb)

TYPE 46

46 FORMAT*/ *

' TYPE THE INCREMENT FOR H-ROOT EXPONENT ' ) ACCEPT 47 r YHAT

47 FORMAT (F7,b>

TYPE 50 , YZ

50 F 0

ft A T </, ' THE S T A R T I N G E X P 0 N ENT G F HROOT IS: '

, F 7 . 4 , /

)

TYPE 5b r UK

5b FORMAT* ’• THE NUMBER OF H-ROOT CALCULATIONS IS: bits,/)

TYPE 60 7 YHAT

6 0 F 0 R M A T* ' THE INC RE MENT OF H- R COT EXPONENT I S I

'

, F 7 . 5 , /

/

y

1

' IS THIS INFORMATION CORRECT? ' ) CALL YESNOUANS)

IF (IANS .EG. 0) GO TO 20

RETURN

END

24

a

co
000 SUHfv'CUT I NE YESNO ( I YESNO ) C

c- - THIS IS A SIMPLE DOUBLE CHECK TEST PROGRAM

r> _ __ U CAN BE USED ANYWHERE an input IS TO BE

r*

L* DOUBLE CticCKED

.

000? ~ 00 I CAL# 1 AMS (20)

0003 l_GG I CAL# 1 CHARN

«./ 0 L 4 DATA C h A t

c

N / 1 H N

/

OOOw TYPE 2

000L>

r* FORMAT (

' ANSWER YES CR NO ' ) 0007 * ACCEPT 3, ANS

O 0 o 3 2 FORMAT ( 20 A 1

)

000 DO 70 1=1,20

V li J 7C IF ( ANS < I > . EG . CHARN ) GOTO 80

001? I YESNO =1

0013 . vc. TURN

0014 ec I YESNO =0

DC 10 END

25
APPENDIX 2

COMPUTER PROGRAM LIST FOR

MEAN CROSSING-RANGE TECHNIQUE

26
0001 PROGRAM H MARNO

000?

0003

0004

c

c— purpose:

C — EXAMINE A RANDOM LOAD HISTORY, WHICH IS ON TWO

C- - SEPERATE DISKS, FIND THE MAXIMUM PEAK, AND THE MINIMUM

C-- VALLEY, COUNT THE NUMBER OF DATA POINTS, AND USE THE

C-- ZERO CROSSING MEAN METHOD TO COUNT THE CYCLES AND STRESS

C — RANGES PRESENT.

c—usage:

c- - THE PROGRAM HBARNO IS ON THE SYSTEM DISK, SO THAT THE

C-- GREATEST AMOUNT OF DATA CAN BE ANALYZED. THUS, IT MUST

C — BE RUN WITH THE COMMAND ' R HBARNO'

C — DESCRIPTION OF PARAMETERS:

I DAY

I HOUR

IMIN

SEC

XT

IREAD

- NUMBER OF DAYS OF RANDOM LOAD

- NUMBER OF HOURS OF RANDOM LOAD

- NUMBER OF MINUTES OF RANDOM LOAD

- NUMBER OF SECONDS OF RANDOM LOAD

-- LOAD CORRESPONDING TO ABOVE TIMES

- EXPONENT OF HBARN

- DETERMINES WHICH DISK IS TO BE READ

0 - INFILE

0<> - VAXT.DAT (FTN60.DAT)

CYCLE - COUNTS THE NUMBER OF CYCLES FOUND BY USING

THE ZERO CROSSING MEAN METHOD

N - COUNTER USED WHEN MANIPULATING DATA

ISIGN - ARRAY USED FOR COMPARING DATA POINTS WHEN

CYCLE COUNTING

X T < 0 - I S I GN = 0

X T = > 0 - I S I GN=

XTMAX - ARRAY USED IN CALCULATING THE MAGNITUDE OF

THE STRESS RANGES

MBAR - ARRAY INTO WHICH THE SUMMATION OF THE STRESS

RANGES RAISED TO THE XZ POWER ARE PLACED

HBARN - ARRAY INTO WHICH THE CALCULATED VALUE OF

HBARN ( H-ROOT > IS PLACED

XT ABS - THE ABSOLUTE VALUE OF THE PEAK OR VALLEY

RANGE - THE MAGNITUDE OF THE COUNTED STRESS RANGE

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

TEXPO

INPUT

MXMN

HSTNT?

M ISTGM ( RANGE

)

COMMENTS:

THE CALCULATION TO COMPUTE THE VALUE OF HBARN IS DONE

USING THE EXPONENT IN THE PARIS EQUATION. THE ONLY

RANGES COUNTED ARE THOSE WITH THREE ZERO CROSSINGS.

PROGRAM WRITTEN BY YI-WEN CHENG AND JERRY J. BROZ

THIS PROGRAM IS A PROPERTY OF THE U.S. GOVERNMENT

AND NOT SUBJECT TO COPYRIGHT

C

COMMON/EXPO/ YZ , I JK , YHA'

COMMON /MXMN/ APEX , A VALLY

COMMGN/HSTNT?/NI NO , X I NO

XPOINT

Y RANGE ( 1 00 ) , X RANGE (100)

27
0005

0006

0007

oooe

0009

0010

001

0012

0013

0014

0015

00 1

6

0017

008

0019

0020

0021

0022

0023

0024

0025

oo26

0027

0 0 2 8

0029

0030

0032

0033

0034

0035

0036

COMMON/ INPUT/ INFILE

DIMENSION I SIGN (3) ,XTMAX<3) ,HBAR( 100) , HEARN ( 100)

C0— THE FILE VAXT.DAT ON THE LEFT-SIDE DISK IS ASSIGNED THE

C— LABEL FTN60.DAT.

CALL ASSIGN (60, 'SY: VAXT.DAT Ml,,,)

TYPE 99

99 FORMAT (/////, ' THIS PROGRAM COUNTS THE CYCLES AND CALCULATES',/,

1

' THE VALUE OF H- ROOT USING THE HBAR’N COUNTING METHOD.')

C

C-- PICK THE STARTING EXPONENT, THE NUMBER OF HEARN CALCULATIONS,

C — AND THE INCREMENT OF THE EXPONENT FOR FINDING THE DESIRED

C— VALUES OF HBARN (H-ROOT).

CALL TEXPO

C

C— INITIALIZE THE PARAMETERS

XNUMBR=0

.

Y X Z = Y Z

I READ=0

CYCLE=0

.

N = 1 DC 18 1=1,3

I S I GN ( I

) =0

XTMAX ( I

) =0.

IS CONTINUE

DO 20 1 = 1, UK

H3AR ( I

) =0.

HBARN ( I

) =0.

20 CONTINUE

C— PROMPT FOR THE DATA FILE CN THE RIGHT-SIDE DISK

CALL INPUT

n

C — READ THE DATA FROM BOTH DISKS, FIND THE MAXIMUM PEAK,

C — THE MINIMUM VALLEY, AND THE NUMBER POINTS PRESENT IN BOTH

C-- FILES.

CALL MXMN

C— DESIGNATE THE INTERVAL TO BE USED FOR PRINTING

C— OUT THE HISTOGRAM OF THE STRESS RANGES.

CALL J-ISTNT2

C

REWIND INFILE

REWIND 60

C— THE LOAD-TIME HISTORY IS READ FROM THE TWO DISKS. THE READ

C- - STARTS ON THE RIGHT-SIDE DISK AND THEN THE LEFT-SIDE DISK

C — IS READ.

40 CONTINUE

IF < I READ .EQ. 1) GO TO 60

READ (INFILE, 50 , END = 500 ) I DAY , I HOUR , I MIN , SEC , XT

50 FORMAT ( 3 I 5 , 2E 14.5)

GO TO 100

60 RE AD ( 60 , 50 , END = 600 ) I DAY , I HOUR , I M I N , SEC , XT

100 TYPE 115, XT

28
0037 FORMAT (

' THE UALUE OF XT E 1 4 . 5 )

0038

0040

0042

0043

0045

0046

0047

0048

0050

0051

0052

0053

0055

0056

0057

0058

0059

0060

0061

0062

0063

0064

0065

0066

0067

0069

0070

0071

0072

0073

0074

0075

115

C

C-- TESTS TO DETERMINE IF THE RANGE IS TO BE COUNTED

C— AND USED FOR FURTHER CALCULATIONS. THE PEAK AND

C— 0 ALLEY ARE TO PE THE ONLY POINTS TO BE CONSIDERED.

C— THE TESTS EXAMINE SUCCESS I ME POINTS. IF THEY ARE

C-- OF THE SAME SIGN, THEN THERE WAS NO ZERO-CROSSING,

C — THUS, THE SMALLER OF THE TWO POINTS IS DISREGARDED

C-- FOR ANY FURTHER CALCULATIONS. ONCE THERE HAUE BEEN

C— THREE ZERO-CROSSINGS, A CYCLE AND STRESS RANGE ARE

C-- COUNTED. THE PEAK AND MALLEY WHICH MAKE UP THIS RANGE

C-- ARE DISCARDED SINCE THEY NAME NO EFFECT ON FUTURE

C— EMENTS.

IF (XT .LT. 0.) I S I GN ( N ) =0

IF (XT . GE . 0.) I S I GN ( N ) =

XTABS= APS ( XT

)

IF (N .GT. 1) GO TO 150

XTMAX(N) =XTABS

N = N + 1 GO TO 40

150 IF (ISIGN(N) .NE. ISIGN(N-l)) GO TO 200

XTMAX ( N- 1

) = AMAX 1 (XTMAX(N) ,XTABS)

GO TO 40

200 XTMAX ( N ) =XT APS

IF (N .EG. 3) GO TO 250

N = N+

GO TO 40

250 RANGE = XTMAX ( 1 ) + XTMAX ( 2

)

C

C— THE STRESS RANGES ARE PLACED INTO A HISTOGRAM

CALL HISTGM ( RANGE

)

C

C — THE COUNTED POINTS ARE DISCARDED AND THE COUNT CONTINUES.

XTMAX ( 1 > = XTMAX (2)

XTMAX ( 2 ) = XTMAX ( 3

)

I SIGN (2) = ISIGN(3>

N = 3

CYCLE=CYCLE+ 1

.

C

C — THE UALUES OF HBAR ARE CALCULATED USING THE STRESS RANGES

C — OBTAINED FROM THE MEAN CROSS I NG- RANGE METHOD.

DO 300 1 = 1 , UK

HBAR ( I) = ( RANGE**YXZ ) +HBAR ( I

)

YX2 = YXZ + YHAT

IF (I .EG. IJK) YXZ= YZ

300 CONTINUE

GO TO 40

500 I RE AD =1

C

C— THE RESULTS ARE NOW PRINTED GUT

TYPE 510

510 FORMAT ( / , ' GO TO 40

END OF FILE IN DISK DK :

' ) 600 PRINT 610, I DAY,

HOUR, I MIN, SEC , XT

29
0076

0077

0078

0079

0080

0081

0087

0083

0084

0087

0086

0087

0088

0089

0090

0091

0092

0093

0094

610 FORMAT ( / ,

' RESULTS OF HEARN CYCLE COUNTING METHOD',///,

1

' THE TIME AND AMPLITUDE OF THE LAST DATA POINT ARE:',/,

1 I 7 r

' :'

, I 2 , '

:

' , I 2 ,

'

I

'

, F6 . 3 , ", '

, E 1 4 . 7 , / / / ) C

c— PRINT OUT THE RESULTS OF THE HISTOGRAM

PRINT 900

900 FORMAT!' RANGE ',10X,

1

' — CYCLE — ' ) DO 930, 1=1 , N I NC

YRANGE ( I

) = ( YRANGE ( I ) / 2

)

910 PRINT 920 , XRANGE ( I ) , XRANGE ( I + 1 ) , YRANGE ( I

)

920 FORMAT ! E 1 4 . 7 » ' '

, E 1 3 . 7 , 1 OX , E 1 4 . 7

930 CONTINUE

C

C— CALCULATE THE UALUE OF HEARN (H-ROOT) FOR THE DETAINED

C— STRESS RANGES USING THE RESPECT I OE EXPONENT, THEN THE

C— RESULTS ARE PRINTED OUT.

CYCL2=< CYCLE/2)

PRINT 700 , CYCL7

700 FORMAT!/,' THE TOTAL NUMBER OF CYCLES IS: ',E14„5)

DO 800, 1 = 1, UK

HEARN ( I

) = ( HEAR ( I > /CYCLE > ** < 1 . /Y2

)

PRINT 750, YZ, HEARN! I

)

770 FORMAT!//,' WITH THE EXPONENT OF: '.E14.7,/,

1

' THE H-EAR OF THE RANGES IS: ',E14„5>

YZ= YZ+YHAT

800 CONTINUE

CALL EXIT

END

30
0001 SUBROUT I NE H I STGM ( RANGE

)

0 00 ?

0003

0004

000b

0006

0007

0008

0009

0011

0012

0013

cc

c

c—

purpose:

CALCULATES THE SIZE OF THE INTERVAL FOR THE HISTOGRAM

PLACEMENT OF RANGES, PLACES THE OBTAINED STRESS RANGES

INTO THE APPROPRIATE INTERVAL, AND THEN COUNTS THE

NUMBER OF TIMES THE RANGES FALL W I THIN A GIVEN

INTERVAL. NOTE, THIS IS HISTOGRAM DATA, AND NOT A

HISTGRAM.

usage:

CALL HI STGM (RANGE)

DESCRIPTION OF PARAMETERS:

XRANGE - ARRAY OF THE ENDPOINTS OF THE INTERVAL

USED FOR THE HISTOGRAM PLACEMENT

RANGE - STRESS RANGE OBTAINED FROM RA INFLOW

XDEL1 - CHECKS TO SEE IF THE RANGE IS ABOVE THE

LOWER ENDPOINT OF THE HISTOGRAM INTERVAL

XDEL2 - CHECKS TO SEE IF THE RANGE IS BELOW THE

UPPER ENDPOINT OF THE HISTOGRAM INTERVAL

YRANGE - ARRAY TO COUNT THE NUMBER OF TIMES A RANGE

MAGNITUDE FALLS WITHIN A GIVEN INTERVAL

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED.*

NONE.

comments:

DOUBLE PRECISION IS USED TO MAKE SURE THAT ALL THE

RANGES GET COUNTED AND PLACED INTO THE HISTOGRAM.

MAINLY USED TO INCREASE THE ACCURACY OF THE

COMPARISON/PLACEMENT TEST.

IMPLICIT DOUBLE PRECISION <A,H,R,X>

COMMON /HSTNT2/N I NO , X I NO , YRANGE ( 1 00 ) , XRANGE ( 1 00

)

INITIALIZE THE PARAMETER

XRANGE ( 1

) =0.

INCREMENT STEP TO ESTABLISH INTERVALS

DO 10, I =2 , N I NC+

XRANGE ( I

) = XRANGE ( I - 1 ) +X I NO

* COMP ARISON/ PLACEMENT TEST * C-- COMPARISON OF THE RANGES FOR HISTOGRAM PLACEMENT

XDEL 1 =RANGE-XRANGE ( 1-1

)

XDEL2=RANGE-XRANGE ( I

)

IF ( XDEL 1 .GT. l.D-b .AND. XDEL2 . LE . l.D-b)

C

0 — COUNTS THE NUMBER OF OCCURANCES WITHIN AN INTERVAL

1 YRANGE ( I - 1

) = YRANGE < I - 1 > + 1 . 10 CONTINUE

RETURN

END

31
0001

0002* 0003

0004

SUBROUTINE HSTNT2*

C

c — purpose:

C — PROMPTS FOR THE NUMBER OF INTERVALS TO BE USED IN

C-- SETTING UP A HISTGRAM FOR THE STRESS RANGES OBTAINED

C-- FROM ZERO CROSS I NG/ MEAN . ONCE THE NUMBER OF INTERVALS IS

C-- KNOWN 7 THE INCREMENT OF THE HISTOGRAM CAN BE ESTABLISHED.

c— usage:

C— CALL HSTNT2'

C — DESCRIPTION OF PARAMETERS:

0— NINO - THE TOTAL NUMBER OF INTERVALS BETWEEN

C — EXTREMAS FOR THE HISTOGRAM

C-- RNGMAX - THE MAXIMUM POSSIBLE RANGE FOR THE HISTOGRAM

C-- XN INC - THE REAL NUMBER CONVERSION OF NINO

C — XINC - THE INCREMENT FOR THE HISTOGRAM

0 — YRANGE - ARRAY TO COUNT THE NUMBER OF TIMES A RANGE

0— MAGNITUDE FALLS WITHIN A GIVEN INTERVAL

C-- XRANGE - ARRAY OF THE ENDPOINTS OF THE INTERVALS

0 — USED FOR THE HISTOGRAM PLACEMENT

C — SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C-- YESNO ( I YESNO

)

c-- comments:

C — DOUBLE PRECISION IS USED TO INCREASE THE ACCURACY

C-- OF THE CALCULATIONS.

0

IMPLICIT DOUBLE PRECISION (A,H,R,X)

COMMON/MXMN/APEX, AVALLY,XPGINT

CGMMGN/HSTNT2/NINC,XINC, YRANGE ( 100) , XRANGE ( 100)

0005

0006

0007

0008

0009

0010

001 1 0012

0013

0015

0016

0017

0018

0019

0020

002

C~- THE MAXIMUM POSSIBLE RANGE FOR THE HISTOGRAM IS FOUND

RNGMA X = A P E X - AVAL L Y

20 TYPE 30

30 FORMAT!/, 7 TYPE IN THE NUMBER OF DESIRED INTERVALS',/,

1' BETWEEN THE EXTREMA 7

, 1 4 , /

)

ACCEPT 40, NINO

40 FORMAT < 13

)

TYPE 50, N INC

50 FORMAT!/, 7 THE NUMBER OF INTERVALS IS: 7 ,15,/,

l

7 IS THIS INFORMATION CORRECT? 7

) CALL YESNO (IANS)

IF (IANS .EG. 0) GO TO 20

C

0 — REAL NUMBER CONVERSION

XN I NO = FLOAT ( N I NO

)

X I NO = RNGMAX / XN I NO

C

C — INITIALIZE YRANGE FOR THE HISTOGRAM COUNT

DO 60, 1=1 , NINO

YRANGE ( I

) =0

.

60 CONTINUE

RETURN

END

32
000

000 /' 0003

0004

0005

0006

0007

0008

0009

0010

00 1

0013

r-j uu

n

SUBROUTINE INPUT

C

c— purpose:

C-- DESIGNATE WHICH INPUT FILE WILL BE USED IN THE

C— CALCULATIONS. THIS DATA FILE SHOULD BE FOUND

C-- ON THE RIGHT-SIDE DISK.

c-- usage:

C— CALL INPUT

C— DESCRIPTION OF PARAMETERS:

C— INFILE - THE NUMBER OF THE FILE TO BE EXAMINED

0— IANS - Y E S = 1 j OR NQ = 0

C— SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

C — YESNO ( I YESNO

)

c— comments:

C — NONE.

c COMMON/ INPUT/ INFILE

0 TYPE 30

-- DESIGNATE INPUT FILE TO BE USED

0 FORMAT ( / ,

' TYPE IN THE NO. OF INPUT FILE',/)

ACCEPT 40, INFILE

40 FORMAT (13)

TYPE 50, INFILE

50 FORMAT?//,'— THERE WILL BE A SLIGHT WAIT',/,

1

' WHILE THIS FILE IS READ. — ',//,

1

' THE INPUT FILE IS', 14,//,

1' IS THIS INFORMATION CORRECT?')

CALL YESNO (IANS)

IF (IANS . EQ. 0) GO TO 20

RETURN

END

33
0001 SUBROUTINE MXMN

0002

0003

0004

0005

0006

0007

0008

0009

0 0 1

0

0012

0013

0014

c—

c

c

c

c

c

cc

c

cc—

ccc—

c

c

c—

c

cc

c

20

r»c

purpose:

TO READ DATA FROM BOTH LEFT AND RIGHT DISKS, FIND THE

MAXIMUM PEAK, THE MINIMUM MALLE Y, AND THEN COUNT THE TOTAL

NUMBER OF DATA POINTS.

USAGE

CALL MXMN

DESCRIPTION OF PARAMETERS:

I READ - DETERMINES WHICH DISK IS TO BE READ

0 - INFILE

<>0 - MAXT.DAT (FTN60.DAT)

XPOINT - THE TOTAL NUMBER OF DATA POINTS

APEX - MAXIMUM PEAK

AMALLY - MINIMUM MALLE

I DAY - NUMBER DAYS OF RANDOM LOAD

I HOUR - NUMBER HOURS OF RANDOM LOAD

I MIN - NUMBER OF MINUTES OF RANDOM LOAD

XSEC - NUMBER OF SECONDS OF RANDOM LOAD

XH - LOAD CORRESPONDING TO ABOME TIMES

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

NONE.

comments:

DOUBLE- PRECISION WAS USED TO INCREASE THE ACCURACY

OF THE CALCULATIONS.

IMPLICIT DOUBLE PRECISION (A,H,R,X)

COMMON/ INPUT/' INFILE

COMMON /MXMN /APEX , AMALLY , XPOINT

INITIALIZE THE PARAMETERS

I READ =0

XPG I NT = 0

.

AP£X=- 10000 .

0

A MALL Y = 1 0 00 0 .

0

XPOINT IS USED AS A

AND IS INCREASED BY

READ, RESULTING IN A

IN THE INPUT FILES,

COUNTER FOR EACH DATA FILE

ONE EACH TIME A DATA POINT IS

TOTAL COUNT OF ALL DATA POINTS

XPOINT =XPO INT+ 1

,

THE LOAD-TIME HISTORY

THE READING STARTS HI

THAT DISK IS FINISHED,

IF (I READ . NE

IS READ FROM EACH DATA FI!. TH THE RIGHT-SIDE DISK AND

T HE L h F -SIDE DISK IS

c . ONCE

READ .

ONCE THE END

GREATER THAN

READ ( INFILE

FORMAT (315,

GO TO 25

OF THE FILE IS REACHED, I READ MUST BE

ZERO TO INDICATE THE LEFT DISK SHOULD

, 20 , END = 30 ) I DAY , I HOUR , I M I N , XSEC , XH

2F 1 4 . 5

)

MADE

BE READ.

ONCE THE LEFT-SIDE DISK HAS BEEN CGMPLE BEAD

34
C — THE RESULTS CAN BE PRINTED OUT IF SO DESIRED.

00 1 5 21

P

READ ( 60 , 20 , END=40 ) I DAY, I HOUR, IMIN,XSEC,XH

Lc

THE COMPARISON TESTS TO FIND THE PEAK AND VALLEY OF FILES

0016 25 IF (XH .GT. APEX) APEX=XH

0018 IF (XH .LT. A V ALLY) AVALLY=XH

0020 GO TO 10

0021 30 IREAD= IREAD+1

0022

P

GO TO 21

L

c-- PRINTS THE PEAK AND VALLEY

0023 40 PRINT 41 , APEX, AVALLY

0024 41 FORMAT ( // ' THE PEAK IS '.D14.5,/,' THE VALLEY IS ', D 1 4 . 5

)

0025

p

XPO I NT = XPO I NT- 1

.

Lc

PRINTS THE NUMBER OF DATA POINTS PRESENT IN BOTH FILES

0026 PRINT 60, XPO I NT

0027 60 FORMAT ( /

' THERE ARE ' ,014.5,' POINTS.'//)

0028 RETURN

0029 END

35
0001 SUBROUTINE TEXPO

0002

0003

0004

0005

0006

0007

0008

0009

0010

001

0012

0013

0014

0015

0016

0017

0018

0019

0020

0021

0022

0024

0025

20

30

40

42

45

46

47

50

55

60

purpose:

DESIGNATES THE STARTING EXPONENT, THE NUMBER OF H-ROOT

CALCULATIONS, AND THE INCREMENT BY WHICH THE EXPONENT

IS INCREASED FOR EACH H-ROOT CALCULATION.

usage:

CALL TEXPO

DESCRIPTION OF PARAMETERS:

YZ - STARTING EXPONENT FOR THE H-ROOT CALCULATIONS

UK - THE NUMBER OF TIMES H-ROOT IS TO BE CALCULATED

YHAT - THE INCREMENT BY WHICH THE EXPONENT IS INCREASED

FOR EACH H-ROOT CALCULATION

SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED:

YESNO ( IYESNO)

comments:

NONE.

COMMON / EX PO/YZ, I JK, YHAT

TYPE 30

FORMAT ! / ,

' TYPE STARTING EXPONENT FOR HROOT ' ) ACCEPT 40, YZ

FORMAT (F7. 4)

TYPE 42

FORMAT!/,' TYPE THE NUMBER OF H-ROOT CALCULATIONS')

ACCEPT 45, IJK

FORMAT! 15

)

TYPE 46

FORMAT!/,' TYPE THE INCREMENT FOR H-ROOT EXPONENT')

ACCEPT 47, YHAT

FORMAT (F7. 5)

TYPE 50, YZ

FORMAT!/,' THE STARTING EXPONENT OF HRQOT IS: ',F7.4,/)

TYPE 55, IJK

FORMAT!' THE NUMBER OF H-ROOT CALCULATIONS IS: ',15,/)

TYPE 60, YHAT

FORMAT!' THE INCREMENT OF H-ROOT EXPONENT IS : ',F7.5,//,

1

' IS THIS INFORMATION CORRECT?')

CALL YESNO! IANS)

IF (IANS . EQ. 0) GO TO 20

RETURN

END

36
0001 SUBROUTINE YESNC < I YESNC

C

c- - THIS IS A SIMPLE DOUBLE CHECK TEST PROGRAM

c

CAN BE USED ANYWHERE AN INPUT IS T G BE

c

Du’JHLt CmcCK ED

.

»

J

.1 LCG I CAL* 1 ANS ( 20

)

0003 LGG I CAL* 1 CNARN

C 004 DATA C hA : v N / 1 H N

/

0005 TYPE 2’ 0006 2 FORMAL' ANSWER YES CR NG '

)

0007 ACCEPT 2, ANS

oooe 3 FCfvMAT ( COA 1 ) 0009 DC 70 1 = 1 ,S'C

0010 70 I F ( ANS ( I ) . EG . CHARN ) GDTO 80

A A <

v*/ V i. «- I YESNC=

V.* A A < ^. w r, ETULN

A A 4 n v 0 * 4 EC I YES NO = 0

A 4 t. END

37
APPENDIX 3

EXAMPLE OF PROGRAM EXECUTION

(APPLICABLE FOR BOTH PROGRAMS IN APPENDIXES 1 AND 2)

38
INPUT DATA

For the programs to function properly, two input data sets are required

1. Data File: VAXT.DAT (FTN 60.DAT)

This file, which contains the second portion of the data to be

analyzed must be on the system volume, the "left-disk," for the

programs to function properly. On the system volume, the file is

called VAXT.DAT; however, in the programs it will be assigned the

name FTN 60.DAT. Refer to figure A3 • 1 for sample file.

2. Data File: FTN xx.DAT

This file, which contains the first portion of the data to be

analyzed, is on the storage volume, the "right-disk." Refer to

figure A3. 2 for sample file. The symbol xx represents an integer

whose value is between 1 and 99.

NOTE: FTN xx.DAT is read first and VAXT.DAT (FTN 60.DAT) is read

second, but this program examines these two files as if they were

one large data file.

RUNNING OF THE PROGRAMS

The programs were written in the interactive mode, refer to figure A3.

3

for an example of the prompts.

Description of Terms:

Intervals between extrema - the number of divisions between o and the

largest range when generating the histogram data for the stress ranges.

HROOT - equivalent-stress range, defined to be:

39
8

8

8

8

8

8

8

8

8

8

8

8

8

8

B

8

8

8

8

8

8

8

8

8

8

8

8

8

3

8

VALUE OF PEAK

MIN SEC OR VALLEY

0 .500788+01 60965E+OO

0 . 81312E+01 - . 85032E+00

0 . 1 1236E+02 . 79637E+00

0 . 14151E+02 - . 46743E+00

0 . 16519E+0? . 1 77 1 7E+00

0 . 1 8S54E+02 - . 4651 1E+00

0 . 21751E+02 , 986U6E+UU

0 & CD r'-. m + o - . 1 2579E+0

0 . 28020E+02 . 1 1645E+01

0 ,31 139E+02 -- . 831 02E+00

0 . 34 1 33E+02 . 4661 8E+00

Q . 36989E+02 - . 31618E+00

0 . 40084E+02 . 38693E+00

0 . 4354 1E+0? - , 58 992 E +00

0 . 46S93E+02 . 85384E+00

. 50105E+02 - . 108 6 6 E + 0

0 . 53259E+02 , 12281E+01

0 . 5 6 42 0E +02 1 2587E+0

0 . 59655 E+ 02 . 1 1573E+01

1 . 30924E+0

- . 91464E+00

1 . 70484E+01 » 72587 E +00

1 . 1 0S31E+02 - . 75006E+00

X . 141 20E+02 . 69061E+00

1 . 17121E+02 - . 48633E+00

1 , 1 9799E +02 . 30465E+00

i » 222S4E + 02 - ,312618+00

X . 24936E+02 . 47692E+00

» 27794E + 02 - . 65215E+00

i1 . 30775E+02 . 78700E+00

4

. 33859E+02 -.8471 1E+00

A3.1. Example of VAXT.DAT (FTN60.DAT) input file.

40
VALUE OF PEAK

DAY HR MIN SEC OR VALLEY

0 0 o . 1 4625E+0

- . 1 1702E+01

0 0 0 . 4786 1 E+0

. 8S788E+00

0 0 0 . 8394SE+01 - .41 536E+00

0 0 0 . 1 3696E+02 . 45695E+00

o 0 0 . 16945E+02 — . /3E+UO

0 0 0 . 1 9937E+02 . 52202E+00

0 0 o . 22754E+02 - . 49976E+00

o o 0 . 25&76E+02 o 63 1 83E+00

0 0 0 . 28564E+02 — . 85585E-f-00

0 0 0 . 3 1 706E+02 . 10121E+01

o 0 0 . 34937E+0? 102ME+ 01

0 0 o . 38 1 88E+02 . 91595E+00

0 0 0 . 4 1 372E+02 - . 78927E+00

0 0 0 . 44447E+02 . 76372E+00

0 0 0 . 47486E+02 - .91998E+00

0 o o . S05^8E+02 . 1 lb76E+01

0 0 0 . t>363t>E + 0? 1 2860E+0

0 0 0 . 56652E+0? . 1 2600 E+0

o o o . 59562E+0? 1 163LE+01

0 0 1 . 23969E+0

. 1 1802E+01

0 0 1 . 52780E+0

~ . 1 360 1 E+0

o 0 1 .826S7E+01 . 1M7SE+01

0 0 1 . 1 1324E+02 1 4430E+0

0 o 1 . 14376E+0? . 1 0948E + 01

o 0 1 . 17316E+02 - . 65628E+00

0 0 1 . 20048E+0? . 40073E+00

0 0 1 . 22779E+0? - .41940E +00

o 0

-1X .25824E+02 . 45603E+00

0 0 1 . 29209E+02 - . 39 1 55E+00

0 0 1 . 32737E+02 . 27893E+00

Figure A3. 2. Example of FTNxx.DAT (FTN50.DAT) input file.

41
TYPE IN THE NO. OF INPUT FILE.

50

**THERE WILL BE A SLIGHT WAIT

WHILE THIS FILE IS READ.

THE INPUT FILE IS 50

IS THIS INFORMATION CORRECT?

ANSWER YES OR NO

yes

TYPE IN THE NUMBER OF DESIRED INTERVALS

BETWEEN THE EXTREMAS

.

2 0

THE NUMBER OF INTERVALS IS : 20

IS THIS INFORMATION CORRECT?

ANSWER YES OR NO

yes

TYPE IN THE STARTING EXPONENT FOR HROOT

2.0

TYPE IN THE NUMBER FOR HROOT CALCULATIONS

7

TYPE IN THE INCREMENT FOR HROOT EXPONENT

0.5

THE STARTING EXPONENT FOR HROOT IS: 2.0000

THE NUMBER FOR HROOT CALCULATIONS IS: 7

THE INCREMENT FOR HROOT EXPONENT IS: 0.50000

IS THIS INFORMATION CORRECT?

ANSWER YES OR NO

yes

Figure A3. 3. Example of program execution. Italic letters

are the operator’s responses to the computer's

prompts

.

42
HROOT =

where,

n = some power (exponent in fatigue crack growth equation)

H^= ith stress range

N

= total number of ranges

OUTPUT

The output is directly printed out and consists of the extrema, the

number of data points analyzed, a histogram data of the calculated stress

ranges, the total number of stress ranges, and value of HROOT for its respective exponent. Refer to figures A3. 4 and A3. 5 for examples of output for

each program (rainflow, and mean crossing-range techniques, respectively).

43
THE PEAK IS 0 . 15178D+01

THE VALLEY IS -0 . 1 4430D+01

THERE ARE 0.60000D+02 POINTS.

— RANGE — CYCLE —

0 . 0 0000 D +00 — 0 . 1 48040+00 0 . OOOOOE+OO

0. 14804D+00 — 0 . 2960SD+00 0 . OOOOOE+OO

0 . 29608B+00 — 0 . 444120+00 0 . OOOOOE+OO

0 . 444120+00 — 0.592160+00 0 . OOOOOE+OO

0 . 592 1 6D + 00 — 0 . 740200+00 0 . 3 000 OE +01

0 , 740200+00 — 0 , 888240+00 0 . 30000E+0

0 . 888240+00 — 0. 103630+01 0 , 2 0 000 E +01

0.103*30+01 — 0.1 18430+01 0.10000E+01

0. 1 1843D+01 — 0. 13324D+01 0 . 30000E+0

0. 1 33240+0

— 0.148040+01 0 . 20000E+01

0 . 148040+01 — 0.162840+01 0 . 1 0000E+01

0 . 1 62840+0

— 0.177650+01 0 , 30000E+0

0. 177650+01 , 0. 19245 D+ 01 0 . 20000E+01

0. 192450+01 — 0 . 2 0 / 26 0+01 0 . 1 OOOOE+O

0 . 20726D+0

— 0 . 2 2 2 060+ 0

0 , OOOOOE+OO

0 . 222060+01 — 0.236860+01 0 . 40000E+0

0. 236860+01 — 0.251670+01 0,2 OOOOE+O

0.251670+01 — 0.266470+01 0. 1 OOOOE+O

0. 266470+01 — 0.281280+01 0 . OOOOOE+OO

0.281280+01 — 0 . 296080+01 0 . 1 OOOOE+O

THE NUMBER OF RANGES IS: 0.29000D+02

WITH THE EXPONENT OF:

THE H-ROQT OF THE RANGES

0 . 20000E+0

IS: 0.1 72620+01

WITH THE EXPONENT OF: 0.25000E+01

THE H-ROOT OF THE RANGES IS: 0.17850D+01

WITH THE EXPONENT OF: 0.:

THE H-ROGT OF THE RANGES IS

000E+C1

0. 1 8390D+0

WITH THE EXPONENT OF:

THE H-ROGT OF THE RANGES

0 . 3 5 0 00 E + 0

IS: 0.188830+01

WITH THE EXPONENT of: 0 . 40000E+01

THE H -ROOT OF THE RANGES IS: 0 . 1 9333D+0

WITH THE EXPONENT of: 0 . 45000E+01

THE H -ROOT OF THE RANGES is: 0 . 1 9744D+0

WITH THE EXPONENT of: 0 . 50000E+0

THE H -ROOT OF THE RANGES is: 0.20121D+01

Figure A3. 4. Output example from the rainflow cycle-counting

method

.

44
THERE ARE 0.60000D+02 POINTS

RANGE

0 . OOOOOE+OO

0 . 1 4804E + 00

0.29608E+00

0.4441 2E + 00

0 . 5921 6E+00 ' 0 . 74020E+00

0 . 88824E+00

0 . 1 03^>3E+0 1 0.11 843E+0 1 0 . 1 3324E+0 1 0.14804E+01

0 . 162B4E+01

0 . 1 7765E+0 1 0.19245E+01

0 . 20726E+0 1 0 . 22206E+0 1 0 . 23686E+0 1 0.2M67E+01

0.26647E+01

0.28128E+01

THE TOTAL NUMBER OF

0. 14804E+00

0 . 29608E+00

0 . 444 1 2E+00

0 . 59216E+00

0 . 74020E+00

0 . 88824E+00

0. 10363E+01

0. 11843E+01

0. 1 3324E+0

0. 14804E+01

0. 16284E+01

0. 1776SE+01

0. 1924t>E+01

0 . 20726E+0

0 . 22206E+0

0 . 23686E+01

0.?bl67E+01

0.26647E+01

0 . 28128E-+-01

0 . 29608E+01

CYCLES is: 0.

— CYCLE —

0 . OOOOOE+OO

0 . OOOOOE+OO

0. OOOOOE+OO

0. OOOOOE+OO

0 . 20000E+01

0 . 35000E+0

0 . 20000E+0

0 . 25000E+01

0. 15000E+01

0 . 30000E+01

0. 10000E+01

0 . 25000E+0

0.50000E+00

0 . 30000E+01

0 . 50000E+00

0. 15000E+01

0.2S000E+01

0. 15000E+01

0. OOOOOE+OO

0. 1 OOOOE+O

500E+0?

WITH THE EXPONENT OF I 0.20000E+01

THE H-EAR OF THE RANGES IS! 0.17120E+01

WITH THE EXPONENT OF I O.2b000E+01

THE H-EAR OF THE RANGES I S I 0.176B1E+01

WITH THE EXPONENT OF: 0.30000E+01

THE H-EAR OF THE RANGES IS: 0.18200E+01

WITH THE EXPONENT OF: 0.35000E+01

THE H-BAR OF THE RANGES IS: 0.18677E+01

WITH THE EXPONENT OF: 0.40000E+01

THE H-EAR OF THE RANGES IS: 0.19U6E+01

WITH THE EXPONENT OF: 0.45000E+01

THE H-EAR OF THE RANGES IS: 0.19bl9E+01

WITH THE EXPONENT OF’. 0.50000E + 01

THE H-BAR OF THE RANGES IS: 0.19889E+01

Figure A3. 5. Output example from the mean crossing-range

cycle-counting technique.

45
NBS-114A (REV. 2-80) U.S. DEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET (See in structions)

1. PUBLICATION OR

REPORT NO.

NBSIR 86-3055

2. Performing Organ. Report No, 3. Publication Date

August 1986

4. TITLE AND SUBTITLE

CYCLE-COUNTING METHODS FOR FATIGUE ANALYSIS WITH RANDOM LOAD HISTORIES:

A FORTRAN USER'S GUIDE

5. AUTHOR(S)

Yi-Wen Cheng and Jerry J. Broz

6. PERFORMING ORGANIZATION (If joint or other than N BS. see in struction s)

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

7. Contract/Grant No.

8. Type of Report & Period Covered

9. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street. City. State. ZIP)

U. S. Department of Interior

Minerals Management Service

12203 Sunrise Valley Drive

Reston, Virginia 22091

10. SUPPLEMENTARY NOTES

J Document describes a computer program; SF-185, FIPS Software Summary, is attached.

11. ABSTRACT (A 200-word or less factual summary of most sign ifi cant information. If document includes a significant

bibliography or literature survey, mention it here) Rainflow and mean crossing-range methods are used in counting the stress ranges and

cycles of a random load history. Each method is defined and then applied to a simple

random load history example. Fortran IV computer programs were written to make

analysis of long random load histories possible. The stress ranges and cycles obtained,

by these programs have been used for fatigue crack growth analysis under sea-wave loading

.

12. KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolons)

cycle-counting methods; fatigue of materials; mean crossing -range counting method;

rainflow counting method; variable amplitude loading.

13. AVAILABILITY

Uni imited

| 1 For Official Distribution. Do Not Release to NTIS

| | Order From Superintendent of Documents, U.S. Government Printing Office, Washington, D.C. 20402.

Order From National Technical Information Service (NTIS), Springfield, VA. 22161

14. NO. OF

PRINTED PAGES

52

15. Price

*U.S. GOVERNMENT PRINTING OFFICE.1986— 672-760 / 45295 USCOMM-DC 6043-P80