You are on page 1of 60

API 579-1/ASME FFS-1 2016 Fitness-For-Service

Vessel Shell

Reinforcing Plate

Nozzle
Anchor
Bimetallic Weld

Retaining Ring

Radius
Pack With Ceramic Fiber
CL

Retaining Ring

Cone Section Angle

Figure 14.50 – Typical Hot Piping to Cold Vessel Wall Transition (See Table 14.12) – Alternative Detail

14-101
API 579-1/ASME FFS-1 2016 Fitness-For-Service

[Intentionally Left Blank]

14-102
API 579-1/ASME FFS-1 2016 Fitness-For-Service

ANNEX 14A – TECHNICAL BASIS AND VALIDATION – ASSESSMENT OF


FATIGUE DAMAGE

(INFORMATIVE)
CONTENTS
ANNEX 14A – TECHNICAL BASIS AND VALIDATION – ASSESSMENT OF FATIGUE DAMAGE ...................................... 14A-1
14A.1 TECHNICAL BASIS AND VALIDATION ..................................................................................................................... 14A-1
14A.2 REFERENCES ................................................................................................................................................... 14A-1

14A.1 Technical Basis and Validation


An overview of the fatigue methods used in Part 14 is provided in reference [1]. The technical background to
the Level 1 and Level 2 assessment procedures in Part 14 for the evaluation of fatigue is provided in reference
[2]. Additional background information on the Level 2, Method C fatigue assessment of welds using the
equivalent structural stress is provided in references [3] and [4].
The fatigue method present in Level 3 is documented in references [5] through [15].
Remediation and in-service monitoring techniques for fatigue are included in references [16] through [20].

14A.2 References
1. Osage, D.A “Fatigue Assessment for In-Service Components – A New Part for API 579-1/ASME FFS-1
Fitness-For-Service,” 6th Fatigue Design Conference, Fatigue Design 1015, Procedia Engineering,
PROENG27760, Elsevier Ltd., 2016.
2. Osage, D.A and Sowinski, J.C., ASME Section VIII Division 2 Criteria and Commentary, PTB-1-2013,
ASME New York, N.Y., 2013.
3. Dong, P, Hong, J.K, Osage, D.A., Dewees, D. and Prager, M., The Master S-N Curve Method: An
Implementation for Fatigue Evaluation of Welded Components in the ASME B&PV Code, Section VIII,
Division 2 and API 579-1/ASME FFS-1, WRC 523, The Welding research Council, New York, N.Y.
4. Dong, P, Hong, J.K, Osage, D.A., and Prager, M., Master S-N Curve Method for Fatigue Evaluation of
Welded Components, WRC 474, The Welding research Council, New York, N.Y.
5. Stenta, A., Gassama, E., Panzarella, C., Cochran, J. and Osage, D.A., Standardization of Fatigue
Methods for Use in API 579-1/ASME FFS-1, WRC Bulletin 550, The Welding research Council, New York,
N.Y., 2015.
6. Dewees, D. J., 2010, “Application of Elastic-Plastic Design Data in the New ASME B&PV Code Section
VIII Division 2,” PVP2010-25641, pp. 99-109, ASME 2010 Pressure Vessels and Piping Conference,
ASME, New York.
7. Kalnins, A., J. Rudolph and A. Willuweit, 2013, “Using the Nonlinear Kinematic Hardening Material Model
of Chaboche for Elastic-Plastic Ratcheting Analysis,” PVP2013-98150, ASME 2013 Pressure Vessels and
Piping Conference, ASME, New York.
8. Draper, J., Modern Metal Fatigue Analysis, EMAS Publishing, Warrington, UK, 2008.
9. Suresh, S., Fatigue of Materials, 2nd Edition, Cambridge University Press, New York, 1998. (14.4)
10. Buczynski, A. and G. Glinka, "An Analysis of Elastic-Plastic Strains and Stresses in Notched Bodies
Subjected to Cyclic Non-Proportional Loading Paths," 6th International Conference on Biaxial/Multiaxial
Fatigue and Fracture, Lisbon, Portugal, 2001. Carpinteri A, de Freitas M., Spagnoli A. Eds. ESIS
Publication 31, Elsevier 2003, pgs. 265-283.

14A-1
API 579-1/ASME FFS-1 2016 Fitness-For-Service

11. Bannantine, J.A., Comer, J.J. and Handrock, J.L, Fundamentals of Metal Fatigue Analysis, Upper Saddle
River, NJ: Prentice Hall, 1997.
12. Dowling, N. E., Mechanical Behavior of Materials: Engineering Methods for Deformation, Fracture, and
Fatigue, 4th edition, Prentice Hall, Upper Saddle River, NJ.
13. Stephens, R.I., Fatemi, A., Stephens, R.R., Fuchs, H., Metal Fatigue in Engineering, 2nd ed., John Wiley
& Sons, 2000.
14. Socie, D.F. and Marquis, G.B., Multiaxial Fatigue, Society of Automotive Engineers, Inc., 1999.
15. Lee, Y, Barkey, M.E., and Kang, H., Metal Fatigue Analysis Handbook, Practical Problem-Solving
Techniques For Computer Aided Engineering, Elsevier, Inc., 2012.
16. Marshall, Rebekkah, Two-Phase Flow Patterns, Chemical Engineering, November 2006, p. 55
17. SGA-PCRC Seminar on Controlling The Effects of Pressure Transients in Piping Systems, Report 160,
presented by Southwest Research Institute, November 7-9, 1979 (at San Antonio, Texas)
18. Carucci, V.A. and Mueller, R.T., 1982, “Acoustically Induced Piping Vibration In High Capacity Pressure
Reducing Systems,” ASME PVP Paper 82-WA/PVP-8.
19. Eisinger, F.L.,1997, “Designing Piping Systems Against Acoustically Induced Structural Fatigue,” Journal
of Pressure Vessel Technology, Vol. 119, August, 1997, pg. 379-383.
20. Energy Institute, Guidelines for the Avoidance of Vibration Induced Fatigue Failure in Process Pipework,
2nd edition, January 2008.

14A-2
API 579-1/ASME FFS-1 2016 Fitness-For-Service

ANNEX 14B – MATERIAL PROPERTIES FOR FATIGUE ANALYSIS

(NORMATIVE)
CONTENTS
ANNEX 14B – MATERIAL PROPERTIES FOR FATIGUE ANALYSIS ............................................................................... 14B-1
14B.1 SMOOTH BAR FATIGUE CURVES.......................................................................................................................... 14B-1
14B.1.1 Fatigue Curves .................................................................................................................................... 14B-1
14B.1.2 Fatigue Curve Models ......................................................................................................................... 14B-1
14B.1.3 Computation of Allowable Cycles ....................................................................................................... 14B-4
14B.2 UNIFORM MATERIAL LAW ................................................................................................................................. 14B-4
14B.3 WELDED JOINT FATIGUE CURVES ........................................................................................................................ 14B-4
14B.3.1 Fatigue Curve Models ......................................................................................................................... 14B-4
14B.3.2 Computation of Allowable Cycles ....................................................................................................... 14B-4
14B.4 NOMENCLATURE ............................................................................................................................................. 14B-5
14B.5 REFERENCES ................................................................................................................................................... 14B-6
14B.6 TABLES .......................................................................................................................................................... 14B-7
14B.7 FIGURES....................................................................................................................................................... 14B-10

14B.1 Smooth Bar Fatigue Curves

14B.1.1 Fatigue Curves

Fatigue analysis performed through direct interpretation of the smooth bar fatigue curves found in paragraph
14.1.6 requires the calculated stress amplitude, S a , be corrected for temperature by the ratio of modulus of
elasticity of the given fatigue curve to the value used in the analysis. The equations used to correct S a for the
temperature effects are provided in Table 14B.1 for the smooth bar fatigue curves included in this Annex. The
temperature corrected stress amplitude, S ac , is then used to enter the smooth bar fatigue curves to determine
the number of allowable cycles, N . Note:
• For Carbon, Low Alloy, Series 4xx, High Alloy Steels and High Tensile Strength Steels for temperatures
not exceeding 371°C (700°F), the fatigue curve values may be interpolated for intermediate values of the
ultimate tensile strength.
• For Wrought 70-30 Copper-Nickel for temperatures not exceeding 371°C (700°F), the fatigue curve values
may be interpolated for intermediate values of the minimum specified yield strength.

14B.1.2 Fatigue Curve Models

Equations for smooth bar fatigue curves for different materials are provided below. The equations for the
fatigue curves were developed using U.S. Customary units. However, consistent use of SI units for values of
S a and ET when computing the parameter Y will produce the correct number of cycles, N , see paragraph
14B.1.3.
a) Carbon, Low Alloy, Series 4xx, High Alloy Steels, and High Tensile Strength Steels for temperatures not
exceeding 371°C (700°F). The fatigue curve values may be interpolated for intermediate values of the
ultimate tensile strength.

 S 
Y = log10  28.3E 3  a  (14B.1)
  ET 

14B-1
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1) For s uts ≤ 552 MPa (80 ksi ) , (see Figure 14B.1).

 −4706.5245 + 
 
1813.6228 ⋅ Y + 6785.5644 − 
 Y 
X 
 368.12404 ⋅ Y 2 −
5133.7345 
+
(10 Y
≥ 20 ) (14B.2)

 Y2 
 3 1596.1916 
 30.708204 ⋅ Y + 
 Y3 
 38.1309 − 60.1705 ⋅ Y 2 + 25.0352 ⋅ Y 4 
X  2 4 6  (10 Y
< 20 ) (14B.3)
 1 + 1.80224 ⋅ Y − 4.68904 ⋅ Y + 2.26536 ⋅ Y 
2) For s uts =
793 − 896 MPa (115 − 130 ksi ) , (see Figure 14B.2).

5.37689 − 5.25401 ⋅ Y + 1.14427 ⋅ Y 2


X=
1 − 0.960816 ⋅ Y + 0.291399 ⋅ Y 2 − 0.0562968 ⋅ Y 3
(10Y
≥ 43) (14B.4)

−9.41749 + 14.7982 ⋅ Y − 5.94 ⋅ Y 2


X=
1 − 3.46282 ⋅ Y + 3.63495 ⋅ Y 2 − 1.21849 ⋅ Y 3
(10 Y
< 43) (14B.5)

b) Series 3xx High Alloy Steels, Nickel-Chromium-Iron Alloy, Nickel-Iron-Chromium Alloy, and Nickel-Copper
Alloy for temperatures not exceeding 427°C (800°F), (see Figure 14B.3).

 S 
Y = log10  28.3E 3  a  (14B.6)
  ET 

 17.0181 − 19.8713 ⋅ Y + 4.21366 ⋅ Y 2 


X  2  (10
Y
≥ 14.4 ) (14B.7)
 1 − 0.1720606 ⋅ Y − 0.633592 ⋅ Y 
1
X
 4.3261 ⋅ ln [Y ] 
(10 Y
< 14.4 ) (14B.8)

 −0.331096 + 
 Y2 
c) Wrought 70-30 Copper-Nickel for temperatures not exceeding 371°C (700°F). The fatigue curve values
may be interpolated for intermediate values of the minimum specified yield strength.

  S 
=Y log10  20.0 E 3 ⋅  a   (14B.9)
  ET  
1) For: s ys ≤ 134MPa (18 ksi ) , (see Figure 14B.4).

0.1186 15.12 ⋅ ln [Y ] 7.087


X=
−2.632 + + + (14B.10)
ln [Y ] Y2 Y2

14B-2
API 579-1/ASME FFS-1 2016 Fitness-For-Service

2) For: s ys = 207 MPa (30 ksi ) , (see Figure 14B.5).

8.261383 ⋅ ln [Y ]
=X 8.580044 − 1.889784 ⋅ Y −
Y
(10 Y
≥ 24.5 ) (14B.11)

6.649501 ⋅ ln [Y ]
=X 5.89029 − 0.2280247 ⋅ Y −
Y
(10 Y
< 24.5 ) (14B.12)

3) For: s ys = 310MPa (45 ksi ) , (see Figure 14B.6).

 8936.214 36034.88 
 −884.9989 + Y

Y 2
+
X =  (10
Y
≥ 46 ) (14B.13)
 72508.69 − 72703.36 + 29053.66 
 
 Y3 Y4 Y5 
 109.168 236.7921 
 −17.50197 + Y −
Y 2
+
X =  (10
Y
< 46 ) (14B.14)
 257.9938 − 137.1654 + 28.55546 
 
 Y3 Y4 Y5 
d) Nickel-Chromium-Molybdenum-Iron, Alloys X, G, C-4, and C-276 for temperatures not exceeding 427°C
(800°F), (see Figure 14B.7).

  S 
Y = log10  28.3E 3  a   (14B.15)
  ET  
−42.08579 + 12.514054 ⋅ Y
X
1 − 4.3290016 ⋅ Y + 0.60540862 ⋅ Y 2
(10 Y
≥ 35.9 ) (14B.16)

9.030556 − 8.1906623 ⋅ Y
X
1 − 0.36077181 ⋅ Y − 0.47064984 ⋅ Y 2
(10 Y
< 35.9 ) (14B.17)

e) High strength bolting for temperatures not exceeding 371°C (700°F).

  S 
=Y log10 30.0 E 3 ⋅  a   (14B.18)
  ET  
1) For a Maximum Nominal Stress ≤ 2.7S , (see Figure 14B.8).
 75.58638 403.70774 
 3.75565644 − Y
+
Y 2
−
X =  (14B.19)
 830.40346 + 772.53426 − 267.75105 
 
 Y3 Y4 Y5 
2) For a Maximum Nominal Stress > 2.7S , (see Figure 14B.9).
 51.928295 86.121576 
 −9.0006161 + Y

Y 2
+
X =  (14B.20)
 73.1573 − 29.945507 + 4.7332046 
 3 4 5 
 Y Y Y 

14B-3
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14B.1.3 Computation of Allowable Cycles


The number of cycles, N , can be computed from Equation (14B.21) based on the parameter X calculated
for the applicable material. The computed number of cycles, N , shall not exceed the maximum number of
cycles shown on the applicable fatigue curve in Figure 14B.1 through Figure 14B.9.

N = 10 X (14B.21)

14B.2 Uniform Material Law

Baumel and Seeger developed a Uniform Material Law, see references [1] through [7] for estimating cyclic
stress-strain curve and consistent strain-life properties for plain carbon and low to medium alloy steels, and for
aluminum and titanium alloys. The method is shown in Annex 2E, Table 2E.10 and shown in Table 14B.2 for
convenience. The Uniform Material Law provides generally satisfactory agreement with measured material
properties and may on occasion provide an exceptional correlation. It is the general method recommended for
estimating cyclic stress-strain curves and strain life properties when actual data for a specific material are not
provided in the form of a correlation or actual data points.

14B.3 Welded Joint Fatigue Curves

14B.3.1 Fatigue Curve Models

Welded joint fatigue curves are provided to evaluate welded joints for the following materials and associated
temperature limits.
a) Ferritic and Stainless Steels and Nonferrous Alloys, see Figure 14B.10, including:
1) Carbon, Low Alloy, Series 4xx, High Alloy Steels, and High Tensile Strength Steels for temperatures
not exceeding 371°C (700°F).
2) Series 3xx High Alloy Steels, Nickel-Chromium-Iron Alloy, Nickel-Iron-Chromium Alloy, and Nickel-
Copper Alloy for temperatures not exceeding 427°C (800°F).
3) Wrought 70 Copper-Nickel for temperatures not exceeding 371°C (700°F).
4) Nickel-Chromium-Molybdenum-Iron, Alloys X, G, C-4, and C-276 for temperatures not exceeding
427°C (800°F).
b) Aluminum Alloys for temperatures not exceeding 120°C (250°F), see Figure 14B.11.

14B.3.2 Computation of Allowable Cycles

The number of allowable cycles for the welded joint fatigue curve shall be computed as follows.
a) The number of allowable cycles, N , can be computed from Equation (14B.22) based on the equivalent
structural stress range parameter, ∆Sess , k , determined in accordance with Part 14, paragraph 14.4.3.4.
The constants C and h for use in Equation (14B.22) are provided in Table 14B.3. The Lower 95%
Prediction Interval ( −2σ ) shall be used unless another value can be justified. The prediction interval
used to establish the fatigue curve shall be documented as part of the assessment.
1

f  f ⋅C h
N = I  MT  (14B.22)
f E  ∆Sess ,k 
b) If a fatigue improvement method is performed that exceeds the fabrication requirements of the code of
construction, a fatigue improvement factor, f I , may be taken greater than 1.0 using the applicable
equation shown below. The fatigue improvement method and factor shall be documented as part of the
FFS assessment.

14B-4
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1) For burr grinding.

f I = 1.0 + 2.5 ⋅ (10 )


q
(14B.23)

2) For TIG dressing.

f I = 1.0 + 2.5 ⋅ (10 )


q
(14B.24)

3) For hammer peening.

f I = 1.0 + 4.0 ⋅ (10 )


q
(14B.25)

4) In the above equations, the parameter q is given by the following equation.


1.6
 ∆S 
−0.0016 ⋅  ess ,k 
q=
(14B.26)
 Cusm 
c) The fatigue cycles given by Equation (14B.22) accounts for the effects of environment other than ambient
air that may cause corrosion or sub-critical crack propagation. The environmental modification factor,
f E , is typically a function of the fluid environment, loading frequency, temperature, and material variables
such as grain size and chemical composition. The range of 1.0 ≤ f E ≤ 4.0 may be used depending on
the severity of the material and environmental interaction. The environmental modification factor, f E ,
shall be specified in the assessment.
d) A temperature adjustment is required to the fatigue curve for materials other than carbon steel and/or for
temperatures above 21°C (70°F). The temperature adjustment factor is given by Equation (14B.27).
ET
f MT =
E ACS
(14B.27)

14B.4 Nomenclature
a parameter used in the Uniform Material Law.
b fatigue strength exponent, Basquin’s exponent, in the Uniform Material Law.
c fatigue strength exponent, Coffin-Manson exponent, Uniform Material Law.
C welded joint fatigue curve coefficient.
Cusm conversion factor, Cusm = 1.0 for units of stress in ksi and Cusm = 14.148299 for units of stress
in MPa.
E ACS modulus of elasticity of carbon steel at ambient temperature or 21°C (70°F).

ET modulus of elasticity of the material under evaluation at the average temperature of the cycle
being evaluated.
Ey modulus of elasticity at the temperature of interest.

ε tr total strain range.

ε *f fatigue ductility coefficient in the Uniform Material Law.

fE environmental correction factor to the welded joint fatigue curve.

fI fatigue improvement method correction factor to the welded joint fatigue curve.

f MT material and temperature correction factor to the welded joint fatigue curve.

14B-5
API 579-1/ASME FFS-1 2016 Fitness-For-Service

h welded joint fatigue curve exponent.


K css material parameter for the cyclic stress-strain curve model in accordance with the Uniform
Material Law.
q parameter used to determine the effect equivalent structural stress range on the fatigue
improvement factor.
N number of allowable cycles.
Nf number of cycles to failure in accordance with the Uniform Material Law.

ncss material parameter for the cyclic stress-strain curve model in accordance with the Uniform
Material Law.
S allowable stress determined at the average temperature of the cycle.
Sa computed stress amplitude from Part 14.

S ac temperature corrected stress amplitude.

∆Sess ,k computed equivalent structural stress range parameter from Part 14.

σr applied stress range.

s ys minimum specified yield strength.

s uts minimum specified ultimate tensile strength.

σ *f fatigue strength coefficient.

X exponent used to compute the permissible number of cycles.


Y stress amplitude temperature correction factor used to compute X .

14B.5 References
1. Bäumel, A., Seeger, T., Materials Data for Cyclic Loading, Supplement 1, Elsevier Amsterdam, 1990.
2. Boller, C., Seeger, T., Materials data for cyclic loading, Part A - Unalloyed steels, Elsevier, Amsterdam,
1987.
3. Boller, C., Seeger, T., Materials data for cyclic loading, Part B - Low-alloy steels, Elsevier, Amsterdam,
1987.
4. Boller, C., Seeger, T.: Materials data for cyclic loading, Part C - High-alloy steels, Elsevier, Amsterdam,
1987.
5. Boller, C., Seeger, T., Materials data for cyclic loading, Part D, Elsevier, Amsterdam, 1987.
6. Boller, C., Seeger, T., Materials data for cyclic loading, Part E, Elsevier, Amsterdam, 1987.
7. Korkmaz, S., Uniform Material Law: Extension to High-Strength Steel, VDM Publishing, Germany, 2010.

14B-6
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14B.6 Tables

Table 14B.1 – Smooth Bar Fatigue Curve Stress Amplitude Correction Equations

Temperature Corrected Stress Amplitude, S ac


Fatigue Curve
Units of Stress in MPa Units of Stress in ksi

Figure 14B.1

S  S 
Figure 14B.2 S ac = 195.0 E 3  a  S ac = 28.3E 3  a 
 ET   ET 

Figure 14B.3

Figure 14B.4

S  S 
Figure 14B.5 S ac = 138.0 E 3  a  S ac = 20.0 E 3  a 
 ET   ET 

Figure 14B.6

S  S 
Figure 14B.7 S ac = 195.0 E 3  a  S ac = 28.3E 3  a 
 ET   ET 

Figure 14B.8
S  S 
S ac = 206.0 E 3  a  S ac = 30.0 E 3  a 
 ET   ET 
Figure 14B.9

14B-7
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Table 14B.2 – Uniform Material Law for Estimating the Cyclic Stress-Strain Curve and Strain-Life
Properties

Plain Carbon and Low to


Parameter Aluminum and Titanium Alloys
Medium Alloy Steels

ncss 0.15 0.11

K css 1.65s uts 1.61s uts

σ *f 1.5s uts 1.67s uts

ε *f 0.59 ⋅ a 0.35

b -0.087 -0.095

c -0.58 -0.69

Cyclic Stress-Strain Curve


1
sr  s r  ncss
ε=
tr + 2  
Ey  2 K css 

Strain-Life Equation

ε σ*
( 2N f ) + ε *f ( 2 N f )
f b c
=tr

2 Ey

where,
s uts
a 1.0 for < 0.003
Ey
s  s uts
a=
1.375 − 125.0  uts  for ≥ 0.003
 E  Ey
 y 

14B-8
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Table 14B.3 – Coefficients for the Welded Joint Fatigue Curves

Ferritic, Stainless, and


Aluminum
Statistical Basis Nonferrous Alloy Steels

C h C h
Mean Curve 1408.7 0.31950 247.04 0.27712

Upper 68% Prediction Interval ( +1σ ) 1688.3 0.31950 303.45 0.27712

Lower 68% Prediction Interval ( −1σ ) 1175.4 0.31950 201.12 0.27712

Upper 95% Prediction Interval ( +2σ ) 2023.4 0.31950 372.73 0.27712

Lower 95% Prediction Interval ( −2σ ) 980.8 0.31950 163.73 0.27712

Upper 99% Prediction Interval ( +3σ ) 2424.9 0.31950 457.84 0.27712

Lower 99% Prediction Interval ( −3σ ) 818.3 0.31950 133.29 0.27712

Note: In U.S. Customary Units, the equivalent structural stress range parameter, ∆Sess ,k , and the structural
( 2 − mss ) /2 mss
stress effective thickness, tess , are in ksi ( inches ) and inches , respectively.

Table 14B.3M – Coefficients for the Welded Joint Fatigue Curves

Ferritic, Stainless, and


Aluminum
Statistical Basis Nonferrous Alloy Steels

C h C h
Mean Curve 19930.2 0.31950 3495.13 0.27712

Upper 68% Prediction Interval ( +1σ ) 23885.8 0.31950 4293.19 0.27712

Lower 68% Prediction Interval ( −1σ ) 16629.7 0.31950 2845.42 0.27712

Upper 95% Prediction Interval ( +2σ ) 28626.5 0.31950 5273.48 0.27712

Lower 95% Prediction Interval ( −2σ ) 13875.7 0.31950 2316.48 0.27712

Upper 99% Prediction Interval ( +3σ ) 34308.1 0.31950 6477.60 0.27712

Lower 99% Prediction Interval ( −3σ ) 11577.9 0.31950 1885.87 0.27712

Note: In SI Units, the equivalent structural stress range parameter, ∆Sess ,k , and the structural stress
( 2 − mss ) /2 mss
effective thickness, tess , are in MPa ( mm ) and mm , respectively.

14B-9
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14B.7 Figures

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.1 – Fatigue Curve for Carbon, Low Alloy, Series 4XX, High Alloy Steels, And High Tensile
Strength Steels For Temperatures not Exceeding 700 °F – s uts ≤ 80 ksi

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.1M – Fatigue Curve for Carbon, Low Alloy, Series 4XX, High Alloy Steels, And High Tensile
Strength Steels For Temperatures not Exceeding 371 °C – s uts ≤ 552 MPa

14B-10
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.2 – Fatigue Curve for Carbon, Low Alloy, Series 4XX, High Alloy Steels, And High Tensile
Strength Steels For Temperatures not Exceeding 700 °F – s= uts 115 − 130 ksi

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.2M – Fatigue Curve for Carbon, Low Alloy, Series 4XX, High Alloy Steels, And High Tensile
Strength Steels For Temperatures not Exceeding 371 °C – s=uts 793 − 892 MPa

14B-11
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.3 – Fatigue Curve for Series 3xx High Alloy Steels, Nickel-Chromium-Iron Alloy, Nickel-
Iron-Chromium Alloy, and Nickel-Copper Alloy for Temperatures not Exceeding 800°F

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08 1.00E+09 1.00E+10 1.00E+11
Cycles

Figure 14B.3M – Fatigue Curve for Series 3xx High Alloy Steels, Nickel-Chromium-Iron Alloy, Nickel-
Iron-Chromium Alloy, and Nickel-Copper Alloy for Temperatures not Exceeding 427°C

14B-12
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000

100
Stress Amplitude (ksi)

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.4 – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 700 °F –
s ys = 134 MPa (18 ksi ) s ys = 18 ksi

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.4M – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 371 °C
– s ys = 134 MPa (18 ksi ) s ys = 134 MPa

14B-13
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000

100
Stress Amplitude (ksi)

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.5 – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 700 °F –
s ys = 30 ksi

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.5M – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 371 °C
– s ys = 207 MPa

14B-14
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000

100
Stress Amplitude (ksi)

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.6 – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 700 °F –
s ys = 45 ksi

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.6M – Fatigue Curve for Wrought 70 Copper-Nickel For Temperatures Not Exceeding 700 °F
– s ys = 310 MPa )

14B-15
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08
Cycles

Figure 14B.7 – Fatigue Curve for Nickel-Chromium-Molybdenum-Iron, Alloys X, G, C-4, and C-276 for
temperatures not exceeding 800°F

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06 1.00E+07 1.00E+08
Cycles

Figure 14B.7M – Fatigue Curve for Nickel-Chromium-Molybdenum-Iron, Alloys X, G, C-4, and C-276 for
temperatures not exceeding 427°C

14B-16
API 579-1/ASME FFS-1 2016 Fitness-For-Service

10000

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.8 – Fatigue Curve for High Strength Bolting For Temperatures Not Exceeding 700°F –
Maximum Nominal Stress ≤ 2.7S

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.8M – Fatigue Curve for High Strength Bolting For Temperatures Not Exceeding 371°C –
Maximum Nominal Stress ≤ 2.7S

14B-17
API 579-1/ASME FFS-1 2016 Fitness-For-Service

10000

1000
Stress Amplitude (ksi)

100

10

1
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.9 – Fatigue Curve for High Strength Bolting For Temperatures Not Exceeding 700°F –
Maximum Nominal Stress > 2.7S

10000
Stress Amplitude (MPa)

1000

100

10
1.00E+01 1.00E+02 1.00E+03 1.00E+04 1.00E+05 1.00E+06
Cycles

Figure 14B.9M – Fatigue Curve for High Strength Bolting For Temperatures Not Exceeding 371°C –
Maximum Nominal Stress > 2.7S

14B-18
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Figure 14B.10 – Welded Joint Fatigue Curve for Ferritic and Stainless Steels, and Nonferrous Alloys

Figure 14B.10M – Welded Joint Fatigue Curve for Ferritic and Stainless, and Nonferrous Alloys

14B-19
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Figure 14B.11 – Welded Joint Fatigue Curves for Aluminum Alloys

Figure 14B.11M – Welded Joint Fatigue Curves for Aluminum Alloys

14B-20
API 579-1/ASME FFS-1 2016 Fitness-For-Service

ANNEX 14C – PLASTICITY CORRECTION AND CYCLE COUNTING FOR


FATIGUE ANALYSIS

(NORMATIVE)
CONTENTS
ANNEX 14C – PLASTICITY CORRECTION AND CYCLE COUNTING FOR FATIGUE ANALYSIS ........................................ 14C-1
14C.1 INTRODUCTION ............................................................................................................................................... 14C-1
14C.1.1 Cycle Counting .................................................................................................................................... 14C-1
14C.1.2 Plasticity Correction ............................................................................................................................ 14C-1
14C.1.3 Definitions ........................................................................................................................................... 14C-2
14C.1.4 Histogram Development ..................................................................................................................... 14C-3
14C.2 PLASTICITY CORRECTION ................................................................................................................................... 14C-3
14C.2.1 Uniaxial Plasticity Correction .............................................................................................................. 14C-3
14C.2.2 Multiaxial Plasticity Correction ........................................................................................................... 14C-3
14C.3 UNIAXIAL CYCLE COUNTING ............................................................................................................................... 14C-8
14C.3.1 Rainflow Cycle Counting – With Reordering ....................................................................................... 14C-8
14C.3.2 Additional Rainflow Cycle Counting – Without Reordering ................................................................ 14C-9
14C.4 MULTIAXIAL CYCLE COUNTING ......................................................................................................................... 14C-10
14C.4.1 Wang-Brown Cycle Counting ............................................................................................................ 14C-10
14C.4.2 Critical Plane Cycle Counting ............................................................................................................ 14C-15
14C.5 NOMENCLATURE ........................................................................................................................................... 14C-18
14C.6 REFERENCES ................................................................................................................................................. 14C-22
14C.7 FIGURES....................................................................................................................................................... 14C-24

14C.1 Introduction

14C.1.1 Cycle Counting

Cycle counting procedures are required to perform fatigue assessments of variable amplitude stress or strain
time histories. These procedures are used to break down the loading history into individual cycles or reversals
that can be evaluated using the fatigue assessment rules in Part 14. Different approaches are required
depending on whether the input stress or strain history has only a single component (uniaxial) or multiple
components (multiaxial). One uniaxial cycle counting method is presented in Paragraph 14C.3.1, and two
multiaxial cycle counting methods are presented in Paragraph 14C.4. For each method a step-by-step
procedure is included in the main text along with a corresponding flowchart in Paragraph 14C.7. Guidance as
to which algorithm to select depending on the level and method chosen in Part 14 is illustrated in the flowchart
shown in Figure 14C.1. Additional documentation, in-depth analyses, and demonstrations algorithms
implemented in the programming language Python are provided in WRC Bulletin 550 [1].

14C.1.2 Plasticity Correction

If the actual elastic-plastic loading history is known it can be used directly in the appropriate cycle counting
method. However, for modern Finite Element Analysis (FEA) fatigue assessments it is typically more efficient
to obtain elastic FEA stress/strain results first and then post-process the elastic data to correct for local
plasticity effects using a method such as Neuber's rule, see references [2], [3], and [4]. The resulting elastic-
plastic loading history is then used in the cycle counting procedure. A uniaxial plasticity correction procedure
is described in Paragraph 14C.2.1 and a multiaxial plasticity correction procedure is included in Paragraph
14C.2.2. The multiaxial procedure is an incremental Neuber’s rule with a combined isotropic and kinematic

14C-1
API 579-1/ASME FFS-1 2016 Fitness-For-Service

hardening law. For additional details on the plasticity correction implementation, case specific examples, and
in-depth discussions, refer to WRC Bulletin 550 [1].

14C.1.3 Definitions

The definitions used in this Annex are listed below.


a) Cycle – A cycle is a relationship between stress and strain that is established by the specified loading at a
particular location in a vessel or component. More than one stress-strain cycle may be produced at any
location, either within an event or in transition between two events, and the accumulated fatigue damage
of the stress-strain cycles determines the adequacy for the specified operation at that location. This
determination shall be made with respect to the stabilized stress-strain cycle. For uniaxial loadings the
cycles are defined by closed stress-strain hysteresis loops. For multiaxial loadings the cycles are defined
as half-cycles or reversals, as hysteresis visualizations are not easily obtained for multiaxial loads.
b) Event – The loading time history may include one or more events that produce fatigue damage. Each
event consists of loading components specified at a number of time points over some time period and is
repeated a specified number of times. For example, an event may be the startup, shutdown, upset
condition, or any other cyclic action. The sequence of multiple events may be specified or random.
c) Bauschinger Effect – In most metals, plastic deformation in the tensile or compressive direction will affect
subsequent plastic response in the reverse direction. A material that is pulled in tension, for example,
shows a reduction in compressive strength. This effect is known as the Bauschinger effect, Figure 14C.2.
d) Isotropic Hardening – During plastic deformation, isotropic hardening describes the uniform expansion of
the yield surface in all directions in the stress space (see Figure 14C.3(a)).
e) Kinematic Hardening – A hardening rule in which the yield surface only translates in stress space (see
Figure 14C.3(b)), but does not change size. This is represented by a fixed elastic range of twice the initial
yield strength and captures the Bauschinger effect. The translation in stress space is given by the back
stress, which in uniaxial loading is just the stress past the yield stress.
f) Combined Isotropic-Kinematic Hardening – Involves both translation and expansion of the yield surface
during plastic deformation (see Figure 14C.3(c)). This model will capture the Bauschinger effect as well
as allowing increases in strength beyond the initial yield strength, and is more representative of actual
material behavior than either isotropic or kinematic hardening alone. This model is used in the multiaxial
plasticity correction method in Paragraph 14C.2.2.
g) Uniaxial Loading – A loading history where the variation of stress or strain over time can be represented
by a single parameter. Uniaxial loads are cycle counted using the Rainflow Algorithm that is defined in
Paragraph 14C.3.1.
h) Proportional Loading – If the orientations of the principal axes are fixed during cyclic loading, the loading
is called proportional. An example of proportional loading is a nozzle in a pressure vessel subject to
internal pressure and an external bending moment vector that does not change direction with each cycle.
A visual interpretation of a proportional loading history is shown in Figure 14C.4 Consider the loading
path; 1→2, 2→3, 3→4, 4→5, 5→6, and 6→1. Throughout this loading path the directions of principal
stresses do not change, i.e. the loading path occurs along a linear path with the origin at zero.
i) Multiaxial Loading – A loading history where the variation in time of loading, stress, or strain cannot be
represented by a single parameter. Multiaxial loading can represent proportional or non-proportional
loading. A stress/strain tensor is used to contain the components of the multiaxial load at each time
history point. Multiaxial loads are cycle counted using the two techniques defined in Paragraph 14C.4.
j) Non-Proportional Loading – If the orientations of the principal axes are not fixed during cyclic loading, the
loading is called non-proportional. An example of non-proportional loading is a nozzle in a pressure
vessel subject to internal pressure and an external bending moment vector that changes direction with
each cycle. A visual interpretation of a proportional vs. non-proportional loading history is shown in

14C-2
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Figure 14C.4. Consider the loading path; 1→2, 2→3, 3→4, 4→5, 5→6, and 6→1. Throughout this
loading path the directions of principal stresses change, i.e. the loading path is not along a linear path for
all cycles with an origin at zero.
k) Peak – The point at which the first derivative of the loading history changes sign from positive to negative.
l) Valley – The point at which the first derivative of the loading history changes sign from negative to
positive.

14C.1.4 Histogram Development

The loading histogram should include all significant operating loads and events that are applied to the
component, see Part 14. If local plasticity effects have not been accounted for, the methods in Paragraph
14C.2 should be used to correct the loading history prior to cycle counting. The counting method may also
require filtering of the data to include only reversal points (peaks and valleys) and/or reorder the data to
begin/end with the absolute maximum loading point. The following should be considered in developing the
loading histogram.
a) The number of repetitions of each event during the operation life.
b) The sequence of events during the operation life, if applicable.
c) Applicable loadings such as pressure, temperature, supplemental loads such as weight, support
displacements, and nozzle reaction loadings.
d) The relationship between the applied loadings during the time history.

14C.2 Plasticity Correction

14C.2.1 Uniaxial Plasticity Correction

For uniaxial stress states, the cyclic stress-strain curve is used along with Neuber’s rule to obtain the elastic-
plastic stress/strain histories from the purely elastic stress/strain histories. Note that if a Level 2 Method C
assessment (Fatigue Assessment of Welds Using the Equivalent Structural Stress) is being performed,
plasticity effects are accounted for as part of the procedure defined in Part 14, Paragraph 14.4.3.4.2, and only
the uniaxial Rainflow cycle counting procedure is performed, using the elastic stress history (see Paragraph
14C.3).

14C.2.2 Multiaxial Plasticity Correction


14C.2.2.1 For multiaxial stress states (either proportional or non-proportional), the general, incremental,
multiaxial Neuber’s rule is used to estimate the N EP desired elastic-plastic stress and strain components, qσ ij
and
q
ε ij at times
q
t , q = 1, 2, , N EP , from the N E purely elastic stress and strain components, qeσ ije and
qe
e ije with qe = 1, 2, , N E , along with an appropriate cyclic plasticity model, see references [3] through [11].
The elastic values are typically obtained by running a linear elastic Finite Element Analysis (FEA). The cyclic
plasticity model used in this procedure is a combined isotropic and multiple back stress non-linear kinematic
hardening model, where the total back stress is the sum of n individual back stresses. For illustration, n = 4
back stresses are assumed in the procedure.
14C.2.2.2 If a Level 2 Method A assessment is being performed, cycle count the elastic stress-based loading
history first using the Wang Brown Algorithm in Paragraph 14C.4.1 and then refer to Part 14, Paragraph
14.4.3.2.2 for plasticity correction after cycle counting. In a Level 2 Method B assessment (Part 14, Paragraph
14.4.3.3.2), it is assumed that the elastic-plastic history is already incorporated into the FEA results for the
strain-based approach. If the elastic-plastic history is not provided for the Level 2 Method B assessment or a
Level 3 assessment is being performed, then multiaxial plasticity correction should be used prior to cycle
counting.

14C-3
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14C.2.2.3 A visual representation of the Neuber plasticity correction is shown in Figure 14C.5. A flowchart
for the multiaxial Neuber’s rule plasticity correction procedure is shown in Figure 14C.6. A step-by-step
procedure for plasticity correction prior to cycle counting is shown below. An example that demonstrates the
use of this algorithm is included in WRC Bulletin 550 [1].
a) STEP 1 – Run an appropriate linear elastic FEA analysis to obtain the elastic stress history at the location
of interest and the times indexed by qe = 1, 2, , N E . These points are indicated by the red squares in
Figure 14C.7. If the elastic strain history is known use Hooke’s law to obtain the elastic stress history.
b) STEP 2 – Initialize the time indices to q = 1 and qe = 1 , corresponding to the first point in the loading
history.
c) STEP 3 – Assume the first point in the loading history is within the elastic regime, and the actual stresses
and strains for this first point are set equal to the corresponding elastic values for i = 1, 2,3 and 1 ≤ j ≤ i
(the other stress and strain components are obtained by making use of the symmetry of the stress and
strain tensors, namely that
q
σ ij = qσ ji and
q
ε ij = qε ji ). The elastic strain is obtained from the elastic
stress by using Hooke’s law.
q
σ ij = qeσ iej (14C.1)

1
q
ee
ij=
qe e
ij =
E
(
(1 +ν ) ⋅ qeσ ije − ν ⋅ δ ij ⋅ ( qe σ 11e + qe σ 22e + qe σ 33e ) ) (14C.2)

d) STEP 4 – Calculate the corresponding elastic, deviatoric stress.


1
S=
ij
qe
σ ije − ⋅ δ ij ⋅ ( qeσ 1e1 + qeσ 2e2 + qeσ 33e ) (14C.3)
3
e) STEP 5 – Assume there is no initial kinematic hardening.

α ijk = 0 for k = 1 n (14C.4)

n
α ij
= ∑=
α ijk 0
k =1
(14C.5)

1
k
a=
ij
qe
a iej − ⋅ δ ij ⋅ ( qeaaa
e
11 +
qe e
=
22 + 33 )
qe e
for k 1 n
0= (14C.6)
3
n
aij = ∑ aijk = 0 (14C.7)
k =1

f) STEP 6 – Assume there is no initial isotropic hardening.


r =0 (14C.8)

g) STEP 7 – Consider the next point in the purely elastic loading history.
qe
= qe + 1 (14C.9)

h) STEP 8 – Calculate the change in the elastic stress and strain between the current and previous elastic
points.

σ ije
∆= qe
σ ije − qe −1σ ije (14C.10)

1
∆e=e
ij
E
( (1 +ν ) ⋅ ∆σ ije − ν ⋅ δ ij ⋅ (∆σ 11e + ∆σ 22e + ∆σ 33e ) ) (14C.11)

14C-4
API 579-1/ASME FFS-1 2016 Fitness-For-Service

i) STEP 9 – Calculate the increment in deviatoric stress between the current and previous elastic points.
1
Sij ∆σ ije − ⋅ δ ij ⋅ ( ∆σ 11e + ∆σ 22
∆= e
+ ∆σ 33e ) (14C.12)
3
j) STEP 10 – Calculate the trial deviatoric stress using this increment.
T
S=
ij Sij + ∆Sij (14C.13)

k) STEP 11 – Evaluate the yield function f using the trial deviatoric stress computed in STEP 10.
0.5

3  ( 11 11 ) ( 22 22 ) ( 33 33 )
  ST − a 2 + ST − a 2 + ST − a 2 + 

f = ⋅  − σ0 − r (14C.14)
 2  2 
  2 ⋅ ( S12 − a12 ) + 2 ⋅ ( S13 − a13 ) + 2 ⋅ ( S 23 − a23 )  
T 2 T 2 T

l) STEP 12 – If f ≤ 0 , (elastic loading), update the stress and strain values elastically at the current time
by adding the elastic increments to the previous stress and strain values and set S to its trial value.

q= q + 1 (14C.15)
q
=σ ij q −1
σ ij + ∆σ ije (14C.16)

q
= ee
ij
q −1
ij + ∆e ij
e
(14C.17)

Sij = SijT (14C.18)

After this, if qe < N E , return to STEP 7 and continue with the next time point. Otherwise, go to STEP 24.
m) STEP 13 – If f > 0 (plastic loading), subdivide the stress range between qe − 1 and qe into N EI
sufficiently small, equally-spaced increments and denote the linearly interpolated stress and strain at
these intermediate points by σ ije
qi
and
qi
eije , qi = 1, , N EI . These interpolated points are denoted by
the black circles in Figure 14C.7.
qi = 1 (14C.19)
qe
σ ije − qe −1σ iej
∆σ = e
ij (14C.20)
N EI
1
∆e=e
ij
E
( (1 +ν ) ⋅ ∆σ ije − ν ⋅ δ ij ⋅ (∆σ 11e + ∆σ 22e + ∆σ 33e ) ) (14C.21)

1
σ iej = qe −1
σ iej (14C.22)

ee
 = qe −1 iej
1 e
ij (14C.23)

n) STEP 14 – Obtain the elastic stresses and strains at the next intermediate point.
qi= qi + 1 (14C.24)

q= q + 1 (14C.25)

= σ ij
qi e qi −1
σ iej + ∆σ iej (14C.26)

14C-5
API 579-1/ASME FFS-1 2016 Fitness-For-Service

= eee
qi e
ij qi −1 iej + ∆ iej (14C.27)

o) STEP 15 – Calculate the elastic deviatoric stress increments.


1
Sij ∆σ ije − ⋅ δ ij ⋅ ( ∆σ 11e + ∆σ 22
∆= e
+ ∆σ 33e ) (14C.28)
3
p) STEP 16 – Calculate the trial deviatoric stresses.
T
S=
ij Sij + ∆Sij (14C.29)

q) STEP 17 – Evaluate the yield function f using the trial deviatoric stress computed in STEP 16.
0.5

 3 ⋅  ( 11 11 ) ( 22 22 ) ( 33 33 )
  ST − a 2 + ST − a 2 + ST − a 2 + 
f  − σ0 − r (14C.30)
 2  2 

  ( 12 12 )
+ 2 ⋅ ( S13 − a13 ) + 2 ⋅ ( S 23 − a23 )  
T 2 T 2 T
2⋅ S − a

r) STEP 18 – If f ≤ 0 , (purely elastic loading), then update the stress and strain values at the current time
by adding the elastic increments to the previous stress and strain values and set S to its trial value.
q
=σ ij q −1
σ ij + ∆σ ije (14C.31)

q
= eee
ij
q −1 e
ij + ∆ ij (14C.32)

Sij = SijT (14C.33)

After this, if qi < N EI , then return to STEP 14 and continue with the next intermediate point. Otherwise, if
qi ≥ N EI , go to STEP 24.

s) STEP 19 – If f > 0 (plastic loading), obtain the 12 unknown stress and strain increments ∆σ ij and ∆ε ij ,
for i = 1, 2,3 with 1 ≤ j ≤ i by solving the following system of 12 non-linear equations represented by
Equations (14C.34) and (14C.35) for these same values of i and j , using a non-linear system of
equations solver. The coefficients c1 , c2 , c3 , c4 , γ 1 , γ 2 , γ 3 , γ 4 , a4 , b and Q are material-specific
parameters. Chaboche [6] and Krishna [10] provide some material-specific methods for obtaining these
parameters. If isotropic hardening is not desired, then set b= r= 0 .

1 3 dλ
∆e=
ij
E
( 2 σ eq
)
(1 +ν ) ⋅ ∆σ ij − ν ⋅ d ij ⋅ ( ∆σ 11 + ∆σ 22 + ∆σ 33 ) + ⋅ ⋅ ( Sij − aij ) (14C.34)

qi −1
σ ije ⋅ ∆ee
e
ij +
ij ⋅ ∆σ ije =
qi −1 e
σ ij ⋅ ∆ee
q −1
ij +
q −1
ij ⋅ ∆σ ij (14C.35)

These make use of the following functional definitions:


1
Sij
= σ ij − ⋅ δ ij ⋅ ( q −1σ 11 + q −1σ 22 + q −1σ 33 )
q −1
(14C.36)
3
0.5

3  ( 11 11 ) ( 22 22 ) ( 33 33 )
  S − a 2 + S −a 2 + S −a 2 + 

σ eq = ⋅  (14C.37)
 2  2 
  2 ( S12 − a12 ) + 2 ( S13 − a13 ) + 2 ( S 23 − a23 )  
2 2

14C-6
API 579-1/ASME FFS-1 2016 Fitness-For-Service

  ( S11 − a11 ) ⋅ ∆σ 11 + ( S 22 − a22 ) ⋅ ∆σ 22 +  


 1.5   
=d λ max   ( S33 − a33 ) ⋅ ∆σ 33 + 2 ( S12 − a12 ) ⋅ ∆σ 12 +  , 0  (14C.38)
 H ⋅ σ eq   
  2 ( S13 − a13 ) ⋅ ∆σ 13 + 2 ( S 23 − a23 ) ⋅ ∆σ 23  
=H H1 + H 2 + H 3 + H 4 + b ⋅ ( Q − r ) (14C.39)

 ( S11 − a11 ) ⋅ a11k + ( S 22 − a22 ) ⋅ a22


k
+ 
 
3 γ k 
Hk =
ck − ⋅
2 Φ r ⋅ σ eq 
( 33 33 ) 33 ( 12 12 ) 12 
S − a ⋅ a k
+ 2 S − a ⋅ a k
+ for k =
1, 2,3 (14C.40)

 2 ( S − a ) ⋅ a k + 2 ( S − a ) ⋅ a k  
 13 13 13 23 23 23  

 ( S11 − a11 ) ⋅ a114 + ( S 22 − a22 ) ⋅ a22


4
+ 
 
3 g 4 
H4 =
c4 − ⋅
2 Φ r ⋅ σ eq 
( S33 − a33 ) ⋅ a33 + 2 ( S12 − a12 ) ⋅ a12 +  ⋅ g4
4 4
(14C.41)

 2 ( S − a ) ⋅ a 4 + 2 ( S − a ) ⋅ a 4  
 13 13 13 23 23 23  

r
Φr = 1 + (14C.42)
σ0
0.5
  2 4 1 4 4 
2
2 4 1 4 4 
2

   aaaaaa
11 − ( 22 + )
33  +  22 − ( 11 + )
33  + 
4  3  3 3  3 3  
a=  2 ⋅  (14C.43)
eq 2 
   2 aaaaaa
4 1 4 4 
− ( + 22 )  + 2 ( 12 ) + 2 ( 13 ) + 2 ( 23 ) 
4 2 4 2 4 2 

   3 33 3 11   
 a 
g 4 = max 1 − 44 , 0  (14C.44)
 aeq 
t) STEP 20 – Update the stress, strain, and deviatoric stress using the results obtained in STEP 19.
q
=σ ij q −1
σ ij + ∆σ ij (14C.45)

q
= ε ij ε ij + ∆ε ij
q −1
(14C.46)

1
∆σ ij − ⋅ δ ij ⋅ ( ∆σ 11 + ∆σ 22 + ∆σ 33 )
∆Sij = (14C.47)
3
S=
ij Sij + ∆Sij (14C.48)

u) STEP 21 – Update the back stresses using a modified Chaboche kinematic hardening rule.

α ij= α ij + ∆α ij (14C.49)

α ij=
k
α ijk + ∆α ijk for k = 1, 2,3, 4 (14C.50)

1
aij = a ij − δ ij ⋅ (aaa
11 + 22 + 33 ) (14C.51)
3

14C-7
API 579-1/ASME FFS-1 2016 Fitness-For-Service

1
k
a=
ij a ikj − δ ij ⋅ (aaa
11 + 22 + 33 )
k k k
for k = 1, 2,3, 4 (14C.52)
3
where,

∆α ij =∆α ij1 + ∆α ij2 + ∆α ij3 + ∆α ij4 (14C.53)

2 γ
∆α ijk = ck ⋅ ∆ε ijp − k ⋅ α ijk ⋅ dp for k =
1, 2,3 (14C.54)
3 Φr
2 g
∆α i4j = c4 ⋅ ∆ε ijp − 4 ⋅ α i4j ⋅ dp ⋅ g 4 (14C.55)
3 Φr

∆eee
p e
ij = ∆ ij − ∆ ij (14C.56)

1
=∆e ije
E
(
(1 +ν ) ⋅ ∆σ ij − ν ⋅ δ ij ⋅ ( ∆σ 11 + ∆σ 22 + ∆σ 33 ) ) (14C.56)

( )
0.5
2 2 
dp =  ⋅ ( ∆ε11p ) + ( ∆ε 22p ) + ( ∆ε 33p ) + 2 ( ∆ε12p ) + 2 ( ∆ε13p ) + 2 ( ∆ε 23p ) 
2 2 2 2 2
(14C.57)
3 
v) STEP 22 – Update the isotropic yield stress hardening function r if isotropic hardening is desired and the
material parameters b and Q are known.

r=
r + b ⋅ (Q − r ) ⋅ dp (14C.58)

Otherwise, set r = 0 for kinematic hardening only.


w) STEP 23 – If qi < N EI , return to STEP 14. Otherwise, continue with STEP 24.

x) STEP 24 – If qe < N E , return to STEP 7. Otherwise, the plasticity correction algorithm is complete.
14C.3 Uniaxial Cycle Counting

14C.3.1 Rainflow Cycle Counting – With Reordering


14C.3.1.1 The Rainflow Cycle Counting (RCC) method (ASTM Standard No. E1049 three point method) is
recommended to determine the time points representing individual cycles for situations where the variation of
stress or strain over time can be represented by a single parameter, see references [12], [13], and [14]. The
RCC method is not applicable for non-proportional loading, which is addressed by two multiaxial methods in
Paragraph 14C.4 instead. The RCC method is used for the Level 2 Method C assessment in Part 14,
Paragraph 14.4.3.4.2. Cycles counted with the Rainflow method correspond to closed stress-strain hysteresis
loops, with each loop representing a single cycle.
14C.3.1.2 A step-by-step procedure for the RCC algorithm is shown below for an arbitrary loading history
(stress or strain). The flowchart associated with this procedure is shown in Figure 14C.8. An example that
demonstrates the use of this algorithm is included in WRC Bulletin 550 [1]. In addition, this bulletin provides
many comparative literature examples and explores the limitations and applications of each algorithm.
a) STEP 1 – Obtain the original, uniaxial loading history in terms of stress or strain at the position of interest,
represented as a list of times and associated stress or strain values at those times. If the sequence of
events is unknown, the worst case sequence should be chosen.
b) STEP 2 – Reorder the loading history to begin and end with the absolute maximum peak or valley by
shifting the data appropriately, assuming the input data is periodic. This is accomplished by moving the

14C-8
API 579-1/ASME FFS-1 2016 Fitness-For-Service

portion of the data including and after the maximum point to the beginning of the data array, followed by
the portion of the data from the original starting position up to the maximum.
c) STEP 3 – Filter the reordered loading history from STEP 2 to remove all of the points that lie between
successive peaks and valleys. The filtered loading history must contain only reversal peaks and valleys
(intermediate points between peaks and valleys must be removed). Denote the filtered, reordered
stresses and strains by either
q
σ (for stress) or
q
ε (for strain), where q = 1, , N LH . N LH is the
number of points in the loading history.
d) STEP 4 – Initialize the number of cycles to zero by setting M =0.
e) STEP 5 – If N LH ≥ 3 , proceed to STEP 6. Otherwise, proceed to STEP 12.
f) STEP 6 – Initialize the time index to q = 3.
g) STEP 7 – If q ≤ N LH proceed to STEP 8. Otherwise, go to STEP 11.
h) STEP 8 – Form the loading ranges X and Y as follows if the loading history is in terms of stress.
=X abs  q ss
− q −1  (14C.59)

=Y abs  q −1ss
− q − 2  (14C.60)

or as follows if the loading history is in terms of strain.

=X abs  q ε − q −1 ε  (14C.61)

=Y abs  q −1 ε − q − 2 ε  (14C.62)

i) STEP 9 – Compare the absolute values of ranges X and Y .


1) If X < Y , set q= q + 1 and go back to STEP 7.
2) If X ≥ Y go to STEP 10.
j) STEP 10 – Increment the number of cycles by one, M= M + 1 . If the loading history is in terms of
stress, set the stress range of the M th
cycle to ∆σ M = Y . If the loading history is in terms of strain, set
the strain range of the M th cycle to ∆ε M = Y .

STEP 11 – Form a new loading history (sequence of σ or ε ) by removing all the points from the
q q
k)
previous loading history that corresponded to the start and end points of the previously identified cycle.
Reset the value of N LH to the total number of remaining points in this new loading history. Using this
new loading history, return to STEP 5 and continue.

l) STEP 12 – The final list of M cycles is obtained with stress or strain ranges given by ∆σ k or ∆ε k ,
k = 1, M .
14C.3.1.3 Using the recorded cycle count data obtained by using the RCC method, a fatigue damage
assessment is performed in accordance with Part 14, Paragraph 14.4.3.4.2 for a Level 2 Method C
assessment. Additional uniaxial damage assessment models are included in WRC Bulletin 550 [1] for
comparison, demonstration, and validation purposes.

14C.3.2 Additional Rainflow Cycle Counting – Without Reordering

An additional Rainflow algorithm as shown in reference [12] that does not require reordering of the loading
history is also available for comparison of the simulated cycles, see WRC Bulletin 550 [1].

14C-9
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14C.4 Multiaxial Cycle Counting

14C.4.1 Wang-Brown Cycle Counting


14C.4.1.1 The Wang-Brown Cycle Counting (WBCC) method is a six-dimensional, multiaxial Rainflow count
that is recommended to determine the time points representing individual half cycles for situations where the
variation in time of loading, stress, or strain cannot be represented by a single parameter, see references [15],
[16], and [17]. The WBCC method is applicable for non-proportional loading and is used in Part 14, Paragraph
14.4.3.2.2 for Level 2 Method A (Stress-Based) and Paragraph 14.4.3.3.2 for Level 2 Method B (Strain-Based)
assessments.

14C.4.1.2 The WBCC algorithm takes as input a sequence of N LH loading history values indexed by
q = 1,  , N LH . For each value of q , the stress and/or the strain may be specified, depending on whether a
strain-based or stress-based approach is desired. The WBCC algorithm counts the NTP total paths that have
been identified (also referred to as half-cycles or reversals), indexed by the path number p = 1,  , NTP . For
each path p , a list of ordered indices Q p ,k for the k = 1,  , N p points belonging to that path is determined
as the final output of this algorithm. From this list of Q p ,k values, stress or strain ranges for each path can be
determined after the path counting algorithm is completed rather than happening within the path counting
algorithm itself as other investigators have proposed.
14C.4.1.3 Each point on a path may correspond to one of the original loading history points, or it may be an
interpolated point that lies between two of those existing points. If the k th point corresponds exactly to an
original point in the loading history, then the value of Q p ,k is simply the integer value of q corresponding to

that original point. If the k th point is newly created by interpolating between two existing points, then the value
of Q p ,k is a real number (not an integer) that lies between the two integer values of qB = int Q p , k  and

q=
A qB + 1 , which do correspond to points in the original loading history. The difference between Q p ,k and
β Q p ,k − int Q p ,k  is a measure of the distance of this interpolated point from qB
int Q p ,k  , namely,=
towards the point at q A . The value of β always satisfies 0 < β < 1 .
14C.4.1.4 The components of the stress or strain tensor of the interpolated point can be determined from the
value of β by linearly interpolating between the stress or strain components at qB and q A . For instance, the
value of any stress component σ ij at any interpolated point is determined from

σ=
ij
qB
σ ij + β ⋅ ( q σ ij − q σ ij ) .
A B

14C.4.1.5 A step-by-step procedure for performing Wang-Brown cycle counting, which results in a list of
ordered indices Q p , k for each path p is presented below, and a basic flowchart for this algorithm is provided
in Figure 14C.9. The steps presented below use indicial notation and are written to facilitate implementation in
a computer programming language, which necessitates the obvious complexity. This approach handles many
special cases and includes many details that have been left out of other, less precise descriptions of this
algorithm. An example that demonstrates the use of this algorithm is included in WRC Bulletin 550 [1].

a) STEP 1 – Obtain a loading history of N LH sequential values of the stress or strain tensor at some
q
location at the corresponding times t , where q = 1,  , N LH . For a stress-based approach, the
corresponding stress components are denoted by
q
σ ij . For a strain-based approach, the corresponding

strain components are denoted by


q
ε ij .

14C-10
API 579-1/ASME FFS-1 2016 Fitness-For-Service

q
b) STEP 2 – Define a generic loading variable Lij to contain either the stress or strain values, depending
on whether a stress or strain based approach is being performed. If a stress-based approach is desired,
then use Equation (14C.63) to set the values of the generic loading values. If a strain-based approach is
desired, then use Equation (14C.64).
q
Lij = qs ij ( stress - based approach ) (14C.63)

q
Lij = qe ij ( strain - based approach ) (14C.64)

q
c) STEP 3 – Calculate the Mises stress or Mises strain from the generic loading values Lij for each time
index q = 1,  , N LH in the original loading history by using Equation (14C.65) for a stress-based
approach or Equation (14C.66) for a strain-based approach. The effective Poisson’s constant accounting
for partial plasticity is assumed to have the value ν eff = 0.4 , which is typical, see reference [18].

0.5
 ( q L - q L )2 + ( q L - q L )2 + 
 11 22 22 33

q
Leq =  q  ( stress - based approach )
 ( L11 - L33 ) + 6 ( L12 + L13 + L23 ) 
q 2 q 2 q 2 q 2 (14C.65)

 2 
0.5
 ( L11 - q L22 ) + ( q L22 - q L332 ) + 
q 2

 
q
Leq = ( L11 - L33 ) + Cγ ⋅ ( L12 + L13 + L23 ) 
 q q 2 q 2 q 2 q 2
( strain - based approach ) (14C.66)
 
 
2 (1 +n eff )
2

 

d) STEP 4 – Find the particular value of q = qmax that corresponds to the maximum value of q Leq over all
possible values of q . Reorder the original loading history points so that the point with index qmax occurs
first by defining a new reordering =index q′ 1,  , N LH + 1 that is related to the original index q as
follows (in addition to reordering, this scheme also replicates the first point at the end of the loading
history to enforce periodicity):

q=q′ + qmax − 1 if 1 ≤ q′ ≤ N LH − qmax + 1 (14C.67)

q=q′ − N LH + qmax − 1 if N LH − qmax + 1 ≤ q′ ≤ N LH + 1 (14C.68)

e) STEP 5 – Set the first and last indices for the initial path search to the following values, which
encompasses the entire range of history points to start out with (the range is restricted for subsequent
iterations).

qF′ = 1 (14C.69)

qL′ N LH + 1
= (14C.70)

f) STEP 6 – Initialize the trailing interpolation factor βT to one.

βT =1 (14C.71)

g) STEP 7 – Set the total number of paths to zero, NTP = 0 .

14C-11
API 579-1/ASME FFS-1 2016 Fitness-For-Service

h) STEP 8 – Increment the total number of paths, N=TP NTP + 1 and set p = NTP . Set the number of
interior blocks of points that are skipped over but need to be counted afterwards to zero, N IB , p = 0 .

i) STEP 9 – Calculate the Relative Mises values for all q′ between qF′ and qL′ with respect to the first
point at qF′ . That is, for each point q′ = qF′ ,  , qL′ , find the corresponding value of q and the value of
qF corresponding to qF′ by using Equation (14C.68) or (14C.69), as appropriate, and then calculate the
relative Mises stress or strain with respect to the first point qF using either Equation (14C.72) for a
stress-based approach or Equation (14C.73) for a strain-based approach using the generic loading
differences defined by Equation (14C.74). In the following equations, the value β = 1 should be used for
each value of q′ except when q′ = qL′ , in which case it should be set equal to the terminal value
β = βT .
0.5
 ( ∆L11 - ∆L22 )2 + ( ∆L22 - ∆L33 )2 + 
 
q′ R
11 33 (
Leq =  ( ∆L - ∆L )2 + 6 ∆L2 + ∆L2 + ∆L2 
12 13 23 ) ( stress - based approach ) (14C.72)
 
 2 
0.5
 ( ∆L11 - ∆L22 ) + ( ∆L22 - ∆L33 ) + 
2 2

 
Leq =  ( ∆L11 - ∆L33 ) + Cγ ⋅ ( ∆L12 + ∆L223 )  ( strain - based approach )
q′ R 2 2 2
+ ∆L13 (14C.73)
 
( )
2
 2 1 + n 
 eff 
=∆Lij q −1
Lij + β ⋅ ( q Lij − q −1 Lij ) − qF
Lij for i, j =
1, 2,3 (14C.74)

j) STEP 10 – Always add the first point qF′ to the current path by setting the number of points in the current
path to one, N p = 1 , and then setting Q p , N = qF , where qF is determined from qF′ by using either
p

Equation (14C.68) or (14C.69), as appropriate.


q′
k) STEP 11 – Find the next peak in the Relative Mises values LReq computed in STEP 9 that occurs after
q′
qF′ but before qL′ . If there is such a peak, set the index qP′ to the index of the first peak in LReq where
qF′ < qP′ < qL′ (does not include end points). If there is no peak that satisfies this condition, then just set
′ , p = qP′ .
qP′ = −1 . Keep track of this last peak (LP) index for later use by setting qLP

l) STEP 12 – If there are no more peaks ( qP′ = −1 ), then go to STEP 13. Otherwise, go to STEP 16.

m) STEP 13 – If βT =1 (the list of points considered for the current path search does not end in an
interpolated point), then go to STEP 14. Otherwise, go to STEP 15.

n) qL′ to the current path by incrementing the number of points in the current
STEP 14 – Add the last point
path, N=
p N p + 1 , and then setting Q p , N p = qL , where qL is determined from qL′ by using either
Equation (14C.68) or (14C.69), as appropriate. Then, go to STEP 24.
o) STEP 15 – Add the interpolated point from a previous path that terminates the present set of points being
searched through by incrementing the number of points in this path, N= p N p + 1 , and then setting

14C-12
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Q p , N p = qL − 1 + β T , where qL is determined from qL′ by using either Equation (14C.68) or (14C.69), as


appropriate. Then, go to STEP 24.

p) STEP 16 – If there is another peak ( qP′ > 0 ), then go to STEP 17. Otherwise, go to STEP 24.
q) STEP 17 – Add the peak pointqP′ to the current path by incrementing the number of points in the current
path, N=
p N p + 1 , and then setting Q p , N p = qP , where qP is determined from qP′ by using either
Equation (14C.68) or (14C.69), as appropriate. Keep track of this last peak (LP) index for later use by
′ , p = qP′ .
setting qLP

q≥′ P
r) STEP 18 – Find the first index q≥′ P greater than qP′ such that the Relative Mises value LReq at this
q≥′ P
point is equal to or exceeds the value at the last peak, i.e., LReq ≥ qP′ LReq . If there is such a point,
continue on with STEP 19. Otherwise, if no such point exists, then go to STEP 24.

s) STEP 19 – If point q≥′ P corresponds to an existing point from the original loading history, which would be
q≥′ P
the case if L = qP′ LReq , then continue on with STEP 20. Otherwise, go to STEP 21.
R
eq

t) STEP 20 – Add the existing point q≥′ P to the current path by incrementing the number of points in the
current path, N=
p N p + 1 , and then setting Q p , N p = q≥ P , where q≥ P is determined from q≥′ P by using
either Equation (14C.68) or (14C.69), as appropriate. Set βT =1 since this is not an interpolated point.
Go to STEP 22.
u) STEP 21 – Create a new, interpolated point and add it to the current path. This new point is interpolated
between the two points corresponding to the indices q≥′ P − 1 and q≥′ P such that it’s Relative Mises value
is the same as that at the last peak corresponding to qP′ . To do this, first determine the interpolating
qP′
factor β T
such that the value of the Relative Mises computed at this point is equal to the value LReq .
This is done by using a non-linear root finder method (such as the method of bisection) to find the
particular value of βT that satisfies either Equation (14.75) for a stress-based approach or Equation
(14C.76) for a strain-based approach with the loading differences defined by Equation (14C.77).
0.5
 ( ∆L11 - ∆L22 )2 + ( ∆L22 - ∆L33 )2 + 
 
qP′ R
11 33 (
Leq =  ( ∆L - ∆L )2 + 6 ∆L2 + ∆L2 + ∆L2 
12 13 23 ) ( stress - based approach ) (14C.75)
 
 2 
0.5
 ( ∆L11 - ∆L22 ) + ( ∆L22 - ∆L33 ) + 
2 2

 
Leq =  ( ∆L11 - ∆L33 ) + Cγ ⋅ ( ∆L12 + ∆L223 )  ( strain - based approach )
qP′ R 2 2 2
+ ∆L13 (14C.76)
 
( )
2
 2 1 + n 
 eff 
∆Lij =q≥′ P −1
Lij + β T ⋅ ( q≥′ P Lij − q≥′ P −1Lij ) − qF
Lij for i, j = 1, 2, 3 (14C.77)

Once βT is determined, this new, interpolated point is added to the current path by incrementing the
number of points in the current path, N=
p N p + 1 , and then setting Q p , N p= q≥ P − 1 + β T , where q≥ P is
determined from q≥′ P by using either Equation (14C.68) or (14C.69), as appropriate.

14C-13
API 579-1/ASME FFS-1 2016 Fitness-For-Service

v) STEP 22 – Increment the number of interior blocks of points that need to be counted recursively later,
N=IB , p N IB , p + 1 , and then set the starting and ending indices for this block to qF′ , p , N IB = qP′ ,
qL′ , p , N IB = q≥′ P and β pT, N IB = β T . This block of points lies between the last peak and this newly
interpolated point and will be counted later.

w) STEP 23 – If q≥′ P is a peak, then set the next peak index to this value, qP′ = q≥′ P . Otherwise, find the
next peak between q≥′ P and qL′ and set qP′ to this value. If there are no more peaks, set qP′ = −1 .
Then, go back to STEP 16.
x) STEP 24 – All blocks of interior points that were previously skipped over now need to be counted if
N IB , p > 0 by iterating through each index rp = 1,  , N IB , p , setting qF′ = qF′ , p ,rp , qL′ = qL′ , p ,rp , and
β T = β pT,r p
and go back to STEP 8. If N IB , p = 0 , go to STEP 25.

y) ′ ,p
STEP 25 – If there was at least one peak ( qLP > 0 ), then set qF′ = qLP
′ , p and go back to STEP 8 in
order to count all points that come after the last peak. Otherwise, continue with STEP 26.

z) STEP 26 – The total list of NTP paths have been obtained. For each path p = 1,  , NTP , the number of
points per path is denoted by N p . The ordered indices for each point in the path k = 1,  , N p are
denoted by Q p ,k . If Q p ,k is an integer, then this point comes from the original history list. Otherwise, the
point was interpolated between two existing points from the original history list.
aa) STEP 27 – Obtain the loading (stress or strain) ranges for each path by looping through all the points
contained within each path and finding the minimum and maximum value of each stress or strain
component and then taking the difference between these values. This is done for each path p by
determining all values of the index q that lie within the designated path. This corresponds to all the
values of q that satisfy Q p ,1 ≤ q ≤ Q p , N p . The loading ranges are then determined from the following
equations:

∆Lij , p
= max  q Lij  − min  q Lij  (14C.78a)
q in path p q in path p

14C.4.1.6 Using the recorded cycle count data (loading ranges) obtained by using the WBCC method
outlined above, the fatigue damage is calculated in accordance with a Level 2 Method A (stress-based) in Part
14, Paragraph 14.4.3.2.2 or Level 2 Method B (strain-based) in Part 14, Paragraph 14.4.3.3.2 assessment.
Additional details for implementation of the appropriate multiaxial damage model are included in WRC Bulletin
550 [1].

14C.4.1.7 As an example, the Brown-Miller damage parameters, ∆γ max and ∆ε N , are calculated as follows,
assuming the loading values were based on strain.

a) For each path (cycle), determine the principal loading ranges ∆L(1) (2) (3)
p , ∆L p , and ∆L p from the loading

ranges for the six component loading range tensor ∆Lij , p calculated in STEP 27 above. If this is strain-
based, the principal loading ranges are the components of the strain range tensor that force the shear
components to zero, resulting in diagonalization of the tensor. The principal values are assumed to be
sorted so that ∆L(1) (3)
p is the largest and ∆L p the smallest.

b) Determine the maximum shear strain range and corresponding normal strain range on the plane of
maximum shear strain using the following equations.

14C-14
API 579-1/ASME FFS-1 2016 Fitness-For-Service

∆γ max, p = ∆L(1) (3)


p − ∆L p (14C.78b)

∆ε N , p = 0.5 ⋅ ( ∆L(1)
p + ∆L p )
(3)
(14C.78c)

14C.4.2 Critical Plane Cycle Counting


14C.4.2.1 The Critical Plane Cycle Counting (CPCC) method considers multiple candidate planes and
defines the plane that experiences the maximum damage as the critical plane. CPCC is recommended to
determine the time points representing individual half cycles for situations where the variation in time of
loading, stress, or strain cannot be represented by a single parameter, see references [8], [19], [20], and [21].
This cycle counting method is applicable for non-proportional loading, where the plane of maximum loading is
unknown (both tensile and shear failure modes are considered), and is recommended for a Level 3
assessment, as described in Part 14, Paragraph 14.4.4. A detailed step-by-step procedure for the CPCC
algorithm is given below. A flowchart for this procedure is provided in Figure 14C.10.
14C.4.2.2 CPCC involves sequentially choosing a number of candidate planes by rotating the original
(unprimed) coordinate system to a new orientation (using primed coordinates) as shown in Figure 14C.11.
The normal and shear stresses and strains are computed with respect to this rotated coordinate system, and
then a multichannel Rainflow method is used to calculate damage on each plane in terms of these planar
values. The maximum damage plane is considered to be the critical plane and limits the fatigue life.
14C.4.2.3 A step-by-step procedure for CPCC is shown below. An example that demonstrates the use of
this algorithm is included in WRC Bulletin 550 [1].

a) STEP 1 – Obtain a loading history of N LH values of stress or strain at the corresponding times qt , where
q = 1,  , N LH . For a stress-based approach, the necessary stress components are denoted by qσ ij .
For a strain-based approach, the necessary strain components are denoted by
q
ε ij .
b) STEP 2 – Decide on an appropriate discretization of the angles θ and φ by choosing sufficiently small
increments of these angles, ∆θ and ∆φ . Recommended values are ∆θ = 5 and ∆φ = 5 but any
other, sufficiently small values can be used instead. The smaller the increments, the more accurate the
determination of the fatigue life will be.
c) STEP 3 – Initialize θ and φ to be zero.

θ = 0 (14C.79)

φ = 0 (14C.80)

d) STEP 4 – If θ ≤ 180 , continue on with STEP 5. Otherwise go to STEP 19.

e) STEP 5 – If φ ≤ 180 , continue on with STEP 6. Otherwise go to STEP 18.

f) STEP 6 – Calculate the direction cosines between the original and primed coordinate axes in terms of the
angles θ and φ as follows (the first subscript, which can be either 1, 2, and 3, refers to the rotated
coordinate axes x′ , y′ , and z ′ , while the second subscript refers to the original axes x , y , and z ).
d11 cos θ ⋅ sin φ
= (14C.81)

d12 sin θ ⋅ sin φ


= (14C.82)

d13 = cos φ (14C.83)

d 21 = − sin θ (14C.84)

14C-15
API 579-1/ASME FFS-1 2016 Fitness-For-Service

d 22 = cos θ (14C.85)

d 23 = 0 (14C.86)

− cos θ ⋅ cos φ
d31 = (14C.87)

− sin θ ⋅ cos φ
d32 = (14C.88)

d33 = sin θ (14C.89)

g) STEP 7 – For each time point q , calculate the stress normal to the rotated plane, qσ N , and the shear
stress components within the rotated plane,
q
τ 12′ and
q
τ 13′ , using the direction cosines from STEP 6.

σN =
q q
σ 11′ =q
σ 11d112 + qσ 33d132 + qσ 22 d122 + 2 ( qσ 12 d11d12 + qσ 13d11d13 + qσ 23d13d12 ) (14C.90)

 qσ 11d11d 21 + qσ 22 d12 d 22 + qσ 33 d13 d 23 + qσ 12 ⋅ ( d11d 22 + d12 d 21 ) 


τ 12′ = 
q
 (14C.91)
 + qσ 13 ⋅ ( d13 d 21 + d11d 23 ) + qσ 23 ⋅ ( d12 d 23 + d13 d 22 ) 

 qσ 11d11d31 + qσ 22 d12 d32 + qσ 33 d13 d33 + qσ 12 ⋅ ( d11d32 + d12 d31 ) 


τ 13′ = 
q
 (14C.92)
 + qσ 13 ⋅ ( d13 d31 + d11d33 ) + qσ 23 ⋅ ( d12 d33 + d13 d32 ) 

h) STEP 8 – For each time point q , calculate the strain normal to the rotated plane, qε N , and the shear
strain components within the rotated plane,
q
γ 12′ and
q
γ 13′ , using the direction cosines from STEP 6.

 qε12 q
ε13 q
ε 
q

ε N =ε11 =ε11d11 + ε 33 d13 + ε 22 d12 + 2 
q q 2 q 2 q 2
d11d12 + d11d13 + 23 d13 d12  (14C.93)
 2 2 2 
q q
ε12 
ε d d + qε 22 d12 d 22 + qε 33d 23d 23 + ⋅ ( d11d 22 + d12 d 21 ) 
q
γ 12′  11 11 21 2
=  (14C.94)
2  q
ε13 q
ε 23 
 + ⋅ ( d13 d 21 + d11d 23 ) + ⋅ ( d12 d 23 + d13 d 22 ) 
2 2 
q q
ε12 
ε d d + qε 22 d12 d32 + qε 33d13d33 + ⋅ ( d11d32 + d12 d31 ) 
q
γ 13′  11 11 31 2
=  (14C.95)
2  q
ε13 q
ε 23 
 + ⋅ ( d13 d31 + d11d33 ) + ⋅ ( d12 d33 + d13d32 ) 
2 2 
i) STEP 9 – Compute the magnitude of the resultant shear stress and shear strain vectors in the plane, τ
q

and
q
γ, from the shear stress components obtained in STEP 7 and the shear strain components
obtained in STEP 8.
0.5
τ ( qτ 12′ ) + ( qτ 13′ ) 
q 2 2
= (14C.96)
 
0.5
γ ( qγ 12′ ) + ( qγ 13′ ) 
q 2 2
= (14C.97)
 

14C-16
API 579-1/ASME FFS-1 2016 Fitness-For-Service

j) STEP 10 – Decide the appropriate main and auxiliary channel components for the fatigue damage model
that is selected. For the purpose of illustration, assume here that the Brown-Miller strain-based fatigue
damage model is used so that the main component is
q
γ and the auxiliary component is
q
εN .
k) STEP 11 – Count the main channel component values
q
γ using the uniaxial RCC algorithm from
Paragraph 14C.3.1. This results in a list of M counted cycles for the candidate plane of interest.
l) STEP 12 – For each cycle k = 1,  , M , determine the minimum and maximum values of the main
channel value over that cycle, denoted by γ min,k and γ max,k , and the minimum and maximum values of
the auxiliary component values, denoted by ε N ,min,k and ε N ,max,k .

m) STEP 13 – For each cycle k = 1,  , M , compute the range of the main channel using Equation
(14C.99) and the range of the auxiliary component from Equation (14C.100).

=∆γ k abs γ max,k − γ min,k  (14C.98)

∆ε N ,k = abs ε N ,max ,k − ε N ,min,k  (14C.99)

n) STEP 14 – If mean stress effects have not been accounted for, compute the maximum, minimum, and
mean stress over all points q contained within each cycle k = 1,  , M , σ N ,mean, k , using Equations
(14C.101) through (14C.103).

σ N ,max ,k = max  qσ N  (14C.100)


q in cycle k

σ N ,min,k = min  qσ N  (14C.101)


q in cycle k

σ N ,mean,k =
0.5 ⋅ σ N ,max ,k + σ N ,min ,k  (14C.102)

o) STEP 15 – For each cycle k = 1,  , M , use an appropriate fatigue damage model to obtain the
permissible number of reversals (half-cycles) for cycle k , N f , k , in terms of the values of ∆γ k and ∆ε N , k
determined previously in STEP 13 and the Morrow mean stress correction using the mean stress
σ N ,mean,k computed in STEP 14. Assuming the Brown-Miller fatigue life model, this is done by iteratively
solving Equation (14C.104) for N f ,k by using a non-linear, numerical root finding procedure, assuming
the left hand side and the material specific fatigue parameters σ ′f ,k , ε ′f ,k , Ek , bk , and ck are known
(any other fatigue damage model can be substituted here instead).

∆γ k ∆e N ,k  σ ′ − σ N ,mean,k 
 ( 2 N f ,k ) + 1.5 ⋅ e ′f ,k ( 2 N f ,k )
bk ck
+ = 1.65 ⋅  f ,k (14C.103)
2 2  Ek 
p) STEP 16 – Determine the net fatigue damage parameter D f ,θ ,f for the current candidate plane by
summing over the inverse of all the permissible number of cycles. The number of repetitions of the k th
cycle is nk and the fatigue knockdown factor is f ND .
M
nk
D f ,θ ,f
= ∑k =1  N f , k 
≤ 1.0 ( f ND ≥ 1.0 ) (14C.104)
2 
 f ND 

14C-17
API 579-1/ASME FFS-1 2016 Fitness-For-Service

q) STEP 17 – Increment the angle φ and go back to STEP 5.

φ = φ + ∆φ (14C.105)

r) STEP 18 – Increment the angle θ , set φ = 0 , and go back to STEP 4.


θ = θ + ∆θ (14C.106)

s) STEP 19 – The critical plane is defined as the plane with the maximum damage factor, max  D f ,θ ,f  ,
θ ,f

where the maximum is taken over all the values of θ and φ that were considered. The total number of
cycles to failure for this critical plane, N f , is given by Equation (14C.107).

1
Nf = (14C.107)
max  D f ,θ ,f 
θ ,f

14C.5 Nomenclature
aij deviatoric back stress components, i, j = 1, 2,3 .
aijk decomposed deviatoric back stress components, k = 1, 2,3, 4 and i, j = 1, 2,3 .
α ij back stress components, i, j = 1, 2,3 .
α ijk decomposed back stress components, k = 1, 2,3, 4 and i, j = 1, 2,3 .
b material specific isotropic hardening parameter.
bk fatigue strength exponent.
c fatigue ductility exponent.
Cγ coefficient in elastic and plastic effective strain equations. C = 1.5 if shear strains are
engineering strain values and C = 6.0 if the shear strains are tensor values.
dij direction cosines between the rotated coordinate axes, i = 1, 2,3 and the original axes
j = 1, 2,3 .
Df cumulative fatigue damage factor that must be less than or equal to 1.

D f ,P cumulative fatigue damage factor that must be less than or equal to 1 for candidate plane P.
δ ij Kronecker delta function, δ ij = 1 when i = j , otherwise, δ ij = 0 when i ≠ j.
∆e eq actual equivalent strain increment (Von Mises).

∆ε ij actual components of the strain tensor increment, where the diagonal components of the strain
tensor are normal strain increment and the symmetric upper and lower components are shear
strain increments, i, j = 1, 2,3 .

∆e ije elastic components of the strain tensor increment, where the diagonal components of the strain
tensor are normal strain increment and the symmetric upper and lower components are shear
strain increments, i, j = 1, 2,3 .

∆ε N normal strain range on the plane of ∆γ max .

14C-18
API 579-1/ASME FFS-1 2016 Fitness-For-Service

∆ε k normal strain range of the k th cycle.


∆γ max maximum shear strain.

∆Li relative i th directional component of the normal loading with respect to q′PV .
∆Lij relative i th directional component of the shear loading with respect to q′PV , i, j = 1, 2,3 .
∆σ eq actual equivalent stress increment (Von Mises).

∆σ ij actual components of the stress tensor increment, where the diagonal components of the stress
tensor are normal stress increment and the symmetric upper and lower components are shear
stress increments, i, j = 1, 2,3 .

∆σ ije elastic components of the stress tensor increment, where the diagonal components of the stress
tensor are normal stress increment and the symmetric upper and lower components are shear
stress increments, i, j = 1, 2,3 .

∆σ N normal stress range on the plane of ∆τ max .


∆σ k normal stress range of the k th cycle.
∆S increments of actual of the deviatoric stress tensor.

∆τ max maximum shear stress range.

dλ plastic multiplier.
dp effective plastic strain rate.
ε actual uniaxial strain component.
q
ε single parameter value of strain at time index q.
m
εk strain at start of k th cycle.
n
εk strain at end of k th cycle.
ε ij actual components of the strain tensor, where the diagonal components of the strain tensor are
normal strain and the symmetric upper and lower components are shear strain, i, j = 1, 2,3 .
ε ij actual components of the strain tensor, ε ij , at time index
q
q, i, j = 1, 2,3 .
e ije elastic components of the strain tensor, where the diagonal components of the strain tensor are
normal strain and the symmetric upper and lower components are shear strain, i, j = 1, 2,3 .
qe
e ije elastic components of the strain tensor, e ije , at time index qe , i, j = 1, 2,3 .
qi
eije components of the elastic strain tensor, εij , at interpolated time index qi , i, j = 1, 2,3 .
εi normal strain components of the strain tensor, i = 1, 2,3 .
q
εi normal strain components of the strain tensor at time index q , i = 1, 2,3 .
e eq actual equivalent strain (Von Mises).

e eqe elastic equivalent strain (Von Mises).


q
e eq equivalent strain (Von Mises) for time index q.

14C-19
API 579-1/ASME FFS-1 2016 Fitness-For-Service

εN normal strain on the plane of γ max .


ε′ local strain on the candidate plane of interest.
ε ij ′ actual components of the strain tensor, where the diagonal components of the strain tensor are
normal strain and the symmetric upper and lower components are shear strain on the current
transformed candidate plane, i, j = 1, 2,3 .

εi ′ normal strain components of the strain tensor on the current transformed candidate plane.

ε ′f fatigue ductility coefficient.

E modulus of elasticity of the material under consideration.


f yield function.

γ ij shear strain components of the strain tensor, i, j = 1, 2,3 .


γ ij ′ shear strain components of the strain tensor on the current transformed candidate plane,
i, j = 1, 2,3 .
q
γ ij shear strain components of the strain tensor at time index q , i, j = 1, 2,3 .
γ max maximum shear strain.

H plastic modulus.
int [⋅] function that returns the truncated integer portion of a floating point number.

k cycle index.
K material specific constant describing the hardening behavior.
q
Li normal loading components of the stress/strain loading tensor at time index q.
q
Lij shear loading components of the stress/strain loading tensor at time index q , i, j = 1, 2,3 .
q
Leq Von Mises from the generic loading values at time index q.
q′
LReq relative Von Mises with respect to the reference peak or valley index q′PV .
max [⋅ , ⋅] function that returns the maximum value of its two arguments.

M total number of counted cycles.


M θ ,φ total number of counted cycles on the θ,φ candidate plane of interest.

n material specific constant describing the hardening behavior (exponential).


n̂ normal vector of the critical plane.
Nf number of cycles to failure.

N f ,k number of cycles to failure for the k th cycle.


Nk number of points in the cycle.

NE total number of points in the elastic loading history.

N EP total number of elastic-plastic points in the output of the plasticity correction algorithm.

N EI number of elastic stress sub-increments in the plasticity correction algorithm.

14C-20
API 579-1/ASME FFS-1 2016 Fitness-For-Service

N LH total number of points in the loading history.


ν Poisson’s ratio.
ν eff effective Poisson coefficient.
p path number.
P candidate plane index.
q time index.
qe time index of the elastic loading history.
qi sub-increment counter index.

qmax values of q that lead to a maximum value of q Leq .


q′ reordered time index with the point qmax occurring first.
q′PV time index of the next peak or valley.

φ rotation angle about the x axis.


Q material specific isotropic hardening parameter.

Q p ,k list of ordered indices for the k = 1,  , N p points belonging to the path p .


r isotropic hardening function.
Sij actual components of the deviatoric stress tensor.

SijT components of the trial deviatoric stress tensor.

σ actual uniaxial stress component.


σ ij actual components of the stress tensor, where the diagonal components of the stress tensor are
normal stress and the symmetric upper and lower components are shear stress.
σ ije components of the elastic stress tensor, where the diagonal components of the stress tensor
are normal stress and the symmetric upper and lower components are shear stress,
i, j = 1, 2,3 .
qe
σ ije components of the elastic stress tensor, σ ije , at time index qe , i, j = 1, 2,3 .
q
σ ij actual components of the elastic-plastic stress tensor, σ ij , at time index q , i, j = 1, 2,3 .
qi
σ ij components of the elastic stress tensor, σ ij , at interpolated time index qi , i, j = 1, 2,3 .
σi normal stress components of the stress tensor.
q
σi normal stress components of the stress tensor at time index q.
q
σn stress normal to a plane with normal vector n at time index q .
σ eq actual equivalent stress (Von Mises).

σ eqe elastic equivalent stress (Von Mises).


q
σ eq equivalent stress (Von Mises) for time index q.
σ N .m , k Morrow mean stress correction term.

14C-21
API 579-1/ASME FFS-1 2016 Fitness-For-Service

σ′ local stress on the candidate plane of interest.


σ ij ′ actual components of the stress tensor, where the diagonal components of the stress tensor are
normal stress and the symmetric upper and lower components are shear stress on the current
transformed candidate plane, i, j = 1, 2,3 .

σi′ normal stress components of the stress tensor on the current transformed candidate plane.

σ ′f fatigue strength coefficient.


q
σ single parameter value of stress at time index q.
m
σk stress at start of k th cycle.
m
σ ij ,k single component of the stress tensor at start of k th cycle, i, j = 1, 2,3 .
n
σk stress at end of k th cycle.
n
σ ij ,k single component of the stress tensor at end of k th cycle, i, j = 1, 2,3 .
σ0 yield stress.

τ ij shear stress components of the stress tensor.

τ ij ′ shear stress components of the stress tensor on the current transformed candidate plane.
q
τ ij shear stress components of the stress tensor at time index q.
τ max maximum shear stress.
q
t time point in the loading history corresponding to time index q.
m
tk starting time for the k th cycle.
n
tk ending time for the k th cycle.
θ rotation angle about the y axis.
x, y , z global Cartesian coordinate system.
x′, y′, z′ transformed coordinate system.
X absolute value of the loading range in consideration using the Rainflow Cycle Counting method.
Y absolute value of the previous loading range adjacent to X using the Rainflow Cycle Counting
method.
Ye yield stress from combined hardening.

Y0 yield stress.

Y1 increased yield stress from isotropic hardening.

14C.6 References
1. Stenta, A., Gassama, E., Panzarella, C., Cochran, J. and Osage, D.A., Standardization of Fatigue
Methods for Use in API 579-1/ASME FFS-1, WRC Bulletin 550, The Welding research Council, New
York, N.Y., 2015.
2. J. A. Bannantine, J. J. Corner, and J. L. Handrock, Fundamentals of metal fatigue analysis. 1990.

14C-22
API 579-1/ASME FFS-1 2016 Fitness-For-Service

3. A. Ince, G. Glinka, and A. Buczynski, “Computational modeling of multiaxial elasto-plastic stress-strain


response for notched components under non-proportional loading,” Int. J. Fatigue, vol. 62, pp. 42–52,
2014.
4. F. Dunne and N. Petrinic, Introduction to computational plasticity. Oxford University Press, 2005.
5. J. L. Chaboche, “Constitutive equations for cyclic plasticity and cyclic viscoplasticity,” Int. J. Plast., vol. 5,
no. 3, pp. 247–302, 1989.
6. J. L. Chaboche, “On some modifications of kinematic hardening to improve the description of ratchetting
effects,” International Journal of Plasticity, vol. 7, no. 7. pp. 661–678, 1991.
7. J. Chaboche, “A review of some plasticity and viscoplasticity.pdf,” Intern. J. Plast., vol. 24, pp. 1642–
1693, 2008.
8. J. A. Bannantine, “A variable amplitude multiaxial fatigue life prediction method,” The University of Illinois
at Urbana-Champaign, 1989.
9. S. Bari, “Constitutive modeling for cyclic plasticity and ratcheting,” 2001.
10. S. Krishna, “Unified constitutive modeling for proportional and nonproportional cyclic plasticity responses,”
2009.
11. A. Ince, “Development of computational multiaxial fatigue modelling For notched components,” 2012.
12. S. Downing and D. Socie, “Simple rainflow counting algorithms,” Int. J. Fatigue, vol. 4, no. 1, pp. 31–40,
1982.
13. “Standard practices for cycle counting in fatigue analysis,” ASTM Standard E 1049-85. Philadelphia:
ASTM, 2005.
14. Y.-L. Lee, M. E. Barkey, and H.-T. Kang, Rainflow cycle counting techniques. 2012.
15. C. H. Wang and M. W. Brown, “Multiaxial random load fatigue: life prediction techniques and
experiments,” Multiaxial Fatigue Des., vol. 21, pp. 513–527, 1996.
16. Y. Lee, T. Tjhung, and A. Jordan, “A life prediction model for welded joints under multiaxial variable
amplitude loading histories,” Int. J. Fatigue, vol. 29, no. 6, pp. 1162–1173, 2007.
17. P. Dong, Z. Wei, and J. K. Hong, “A path-dependent cycle counting method for variable-amplitude multi-
axial loading,” Int. J. Fatigue, vol. 32, no. 4, pp. 720–734, 2010.
18. M. A. Meggiolaro and J. T. P. De Castro, “An improved multiaxial rainflow algorithm for non-proportional
stress or strain histories - Part II: The Modified Wang-Brown method,” Int. J. Fatigue, vol. 42, pp. 217–
226, 2012.
19. D. F. Socie and G. B. Marquis, Multiaxial fatigue. Warrendale, PA: Society of Automotive Engineers,
2000.
20. T. Langlais, “Computational methods for multiaxial fatigue analysis,” PhD Thesis, University of Minnesota,
1999.
21. J. Draper, Modern metal fatigue analysis. 2008.

14C-23
API 579-1/ASME FFS-1 2016 Fitness-For-Service

14C.7 Figures

Fatigue Assessment
Method

Level 2- Method A Level 2- Method B Level 2- Method C


Perform Elastic Perform Elastic- Perform Elastic Level 3
Analysis Plastic Analysis Analysis

Option 1 Option 2

Cycle Count Using Cycle Count Using Cycle Count Using


Multiaxial Wang-Brown Multiaxial Wang-Brown Single Parameter Perform Elastic
Stress Based Algorithm Strain Based Algorithm Rainflow Algorithm Analysis Perform
Elastic-Plastic
Analysis
Correct for
Plasticity

Define Critical Plane


Determine Fatigue
Damage per Cycle

Cycle Count Using


Multiple Parameter
Rainflow Algorithm

Determine Fatigue
Damage for all Cycles
Determine Total
Fatigue Damage

Yes
Increment
Critical Plane?

No

Determine Maximum
Damage for All Planes

Figure 14C.1 – General Procedure for the Fatigue Assessment Method that Incorporates the Cycle
Counting Algorithms Described in this Annex

14C-24
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Y1
Y0 2Y0

εt

Kinematic Hardening Y1

Isotropic Hardening

Figure 14C.2 – The Bauschinger Effect in Materials

14C-25
API 579-1/ASME FFS-1 2016 Fitness-For-Service

σ1 σ

y1 y1
y0 y0

ε
y1

σ2 σ3

(a) Isotropic Strain Hardening Model

σ1 σ
y1 y1
y0 y0

2y0

σ2 σ3

(b) Kinematic Strain Hardening Model

σ1 σ

y1 y1
y0 y0
2y0<2ye<2y1

σ2 σ3

(c) Combined Strain Hardening Model

Figure 14C.3 – Plasticity Models

14C-26
API 579-1/ASME FFS-1 2016 Fitness-For-Service

σ3

3
4
5
6
1

σ1
σ2
(a) Proportional Loading

σ3
5
3

σ1
σ2
(b) Non-Proportional Loading

Figure 14C.4 – Visual Interpretation of Proportional vs. Non-proportional Loading History

14C-27
API 579-1/ASME FFS-1 2016 Fitness-For-Service

σ ij

∆σ ije σ ije
∆σ ij
σ ij

∆ε ij
∆ε ije

0 ε ije ε ij ε ij

Figure 14C.5 – Visual Representation of the Incremental Neuber’s Rule

14C-28
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Import Linear FEA Loading History at


STEPs 1-6 a location of interest
(all stress/strain components)
STEP 24

No Yes
Read the next loading point from End of loading
STEPs 7-10 the original loading history history?

STEP 12 Done
F<=0
Check Loading
(Elastic) Update stress/strain
STEP 11 Criterion
(Hooke’s Law)
Function F?

F>0

Discretize stresses into stress


STEP 13 increments ∆σ
Yes

STEP 23
No
End of
STEPs 14-16 Read in the next stress increment
Increments?

STEP 18
F<=0
Check Loading (Elastic) Update stress/strain
STEP 17 Criterion
(Hooke’s Law)
Function F?

F>0
(Elastic-plastic)

Solve a set of equations to


STEP 19 calculate elastic-plastic
stress/strain increments

STEP 20 Update stress/strain

STEPs 21-22 Translate the yield surface

Figure 14C.6 – Multiaxial, Non-proportional, Incremental Neuber's Rule for Plasticity Correction

14C-29
API 579-1/ASME FFS-1 2016 Fitness-For-Service

σ ij

q+1
∆σ ij
q

time
Figure 14C.7 – Example of an elastic loading history obtained by running a linear elastic FEA analysis
and used as input to the Neuber plasticity correction algorithm. The red squares are the original FEA
results while the black circles are the interpolated values used in the plasticity correction algorithm.

14C-30
API 579-1/ASME FFS-1 2016 Fitness-For-Service

STEP 1 Import Loading History

Reorder Data
STEPs 2-3 (begin with absolute max peak/valley)
(reversal points only)

STEPs 4-7 Start Rainflow Algorithm

STEP 8 Compare X,Y Ranges


(use most recent peaks and valleys)

No Read Next
STEP 9 Is X > Y?
Valley or Peak

Yes

Count Range Y as Cycle


STEP 10 (record time points and loading values)

STEP 11 Discard Y Peak and Valley

Are There Yes


STEP 12 Remaining Loading
Reversals?

No

Output Cycle Count Data


STEP 13 (perform fatigue assessment)

Figure 14C.8 – Procedure for the Uniaxial Rainflow Cycle Counting Algorithm

14C-31
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Import Loading History


STEPs 1-2 (acquire stress or strain tensors vs. time)

Reorder Data
STEPs 3-4 (begin with maximum Mises stress or strain)

Initialize First Path Search


STEPs 5-7 (set reference point to the first point in
reordered history)

STEP 8 Start Path Search

Calculate Relative Mises


STEP 9 No
(with respect to the current reference
point)

Yes

Add Points to the Path


(Moving forward in time, adding points
to the current path that have an
STEPs 10-22 increasing relative Mises value,
creating new interpolated points if
necessary)

Store Skipped Points


(Add any points that were skipped over
STEP 23 to a list of internal uncounted blocks that
will be counted later)

Count Skipped Points


Are There Any (for each block of
Blocks of Points (interior or Yes skipped points, set new
STEPs 24-25 terminating) That Were reference point as the
Skipped Over? first point, and start a
new path search)

No

Determine Stress/Strain
STEPs 26-27 Ranges for Each Cycle

Figure 14C.9 – Procedure for the Multiaxial Wang Brown Cycle Counting Algorithm

14C-32
API 579-1/ASME FFS-1 2016 Fitness-For-Service

Import Loading History


STEP 1 (all stress/strain components)

Define Candidate Plane


STEPs 2-5 Using Rotation Matrices

STEP 6 Calculate Rotated Loading History

Calculate Cycle Count Input


STEPs 7-10 (Main and Auxiliary Components)
(for Damage Parameters of Interest)

Perform Uniaxial Cycle Count (RCC)


STEP 11 on the Main Channel Component
STEPs 17-18

Calculate Main and Auxiliary Ranges


STEPs 12-13 For Each Counted Cycle

Use Appropriate Damage Model to


STEPs 14-15 Obtain Number of Permissible
Reversals for each Cycle

Calculate Fatigue Damage Factor


STEP 16 For the Candidate Plane

Have all
No
Candidate Planes been
Evaluated?

Yes

Determine Critical Plane


STEP 19 (plane with the max damage factor)

Figure 14C.10 – Procedure for the Multiaxial Critical Plane Cycle Counting Algorithm

14C-33
API 579-1/ASME FFS-1 2016 Fitness-For-Service

z’

x’


13 qσ
N

y’


12
φ

θ y

Figure 14C.11 – Transformation of the Cartesian coordinate system to the primed coordinate system
for use in the Critical Plane Cycle Counting algorithm. The coordinate axis x′ is normal to the
candidate plane in consideration.

14C-34
[Intentionally Left Blank]

You might also like