Professional Documents
Culture Documents
Vessel Shell
Reinforcing Plate
Nozzle
Anchor
Bimetallic Weld
Retaining Ring
Radius
Pack With Ceramic Fiber
CL
Retaining Ring
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
14-102
API 579-1/ASME FFS-1 2016 Fitness-For-Service
(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.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
(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
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.
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
−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).
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
−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).
14B-2
API 579-1/ASME FFS-1 2016 Fitness-For-Service
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)
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)
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
N = 10 X (14B.21)
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.
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.
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
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.
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
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.
∆Sess ,k computed equivalent structural stress range parameter from Part 14.
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
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
ε *f 0.59 ⋅ a 0.35
b -0.087 -0.095
c -0.58 -0.69
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
C h C h
Mean Curve 1408.7 0.31950 247.04 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.
C h C h
Mean Curve 19930.2 0.31950 3495.13 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
14B-20
API 579-1/ASME FFS-1 2016 Fitness-For-Service
(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
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].
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
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.
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.
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-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)
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
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)
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
eije , 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)
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)
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)
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
2 ( S − a ) ⋅ a k + 2 ( S − a ) ⋅ a k
13 13 13 23 23 23
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,
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)
x) STEP 24 – If qe < N E , return to STEP 7. Otherwise, the plasticity correction algorithm is complete.
14C.3 Uniaxial Cycle Counting
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)
=X abs q ε − q −1 ε (14C.61)
=Y abs q −1 ε − q − 2 ε (14C.62)
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.
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.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
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):
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)
βT =1 (14C.71)
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
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
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
∆ε N , p = 0.5 ⋅ ( ∆L(1)
p + ∆L p )
(3)
(14C.78c)
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)
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)
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)
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)
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).
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 ,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
φ = φ + ∆φ (14C.105)
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 .
14C-18
API 579-1/ASME FFS-1 2016 Fitness-For-Service
∆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 .
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
eije 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).
14C-19
API 579-1/ASME FFS-1 2016 Fitness-For-Service
εi ′ normal strain components of the strain tensor on the current transformed candidate plane.
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.
N EP total number of elastic-plastic points in the output of the plasticity correction algorithm.
14C-20
API 579-1/ASME FFS-1 2016 Fitness-For-Service
14C-21
API 579-1/ASME FFS-1 2016 Fitness-For-Service
σi′ normal stress components of the stress tensor on the current transformed candidate plane.
τ 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.
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
14C-23
API 579-1/ASME FFS-1 2016 Fitness-For-Service
14C.7 Figures
Fatigue Assessment
Method
Option 1 Option 2
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
14C-25
API 579-1/ASME FFS-1 2016 Fitness-For-Service
σ1 σ
y1 y1
y0 y0
ε
y1
σ2 σ3
σ1 σ
y1 y1
y0 y0
2y0
σ2 σ3
σ1 σ
y1 y1
y0 y0
2y0<2ye<2y1
σ2 σ3
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
14C-27
API 579-1/ASME FFS-1 2016 Fitness-For-Service
σ ij
∆σ ije σ ije
∆σ ij
σ ij
∆ε ij
∆ε ije
0 ε ije ε ij ε ij
14C-28
API 579-1/ASME FFS-1 2016 Fitness-For-Service
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
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)
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
Reorder Data
STEPs 2-3 (begin with absolute max peak/valley)
(reversal points only)
No Read Next
STEP 9 Is X > Y?
Valley or Peak
Yes
No
Figure 14C.8 – Procedure for the Uniaxial Rainflow Cycle Counting Algorithm
14C-31
API 579-1/ASME FFS-1 2016 Fitness-For-Service
Reorder Data
STEPs 3-4 (begin with maximum Mises stress or strain)
Yes
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
Have all
No
Candidate Planes been
Evaluated?
Yes
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’
qτ
′
13 qσ
N
y’
qτ
′
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]