July 31, 2014

## S-N curves

In order to set a suitable design criteria, I was looking to compare two classes of S-N curves for a fatigue design, viz., E and F2, and I could not find a handy plot to refer to. The basic S-N curve equation is as follows, which one may know is from Paris-Erdogan law (fracture mechanics):

```
N = k1 * S^(-m)
```

The standard does describe it in its logarithmic form, which is as follows:

```
log(N) = log(k1) - m * log(S)
```

and then it goes on to furnish its two sets of key components that form parts of the equation — highlighted below.

Playing with logarithms is fraught with error, as they are not the same as plain algebra — Leonhard Euler’s gift to the world, which reminds me I should jog my memory from high-school. Anyway, not to waste any time, I pulled Calca, punched in the basic equation, and then, case after case, I provided the variables from the table above. Calca, in turn provided me with an equation ready to be pasted in Grapher for a ready plot. Here are those equations for all available S-N curves.^{1}

```
# Basic S-N curves
#
# Basic representative S-N curve is of the form (where, x is
# Number of cycles, and y is S Stress range):
log(x) = a - m * log(y)
# a = log(k1).
# Seawater with adequate corrosion protection
For TJ curve:
a = 12.18 # for N =< 1.8E6
m = 3 # -- do --
y => -0.33 * log(x) + 4.06
a = 16.13 # for N > 1.8E6
m = 5 # -- do --
y => -0.2 * log(x) + 3.23
For B curve:
a = 14.61 # for N =< 1E5
m = 4 # -- do --
y => -0.25 * log(x) + 3.65
a = 17.01 # for N > 1E5
m = 5 # -- do --
y => -0.2 * log(x) + 3.4
For C curve:
a = 13.23 # for N =< 4.68E5
m = 3.5 # -- do --
y => -0.29 * log(x) + 3.78
a = 16.47 # for N > 4.68E5
m = 5 # -- do --
y => -0.2 * log(x) + 3.29
For D curve:
a = 11.78 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.93
a = 15.63 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 3.13
For E curve:
a = 11.62 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.87
a = 15.37 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 3.07
For F curve:
a = 11.40 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.8
a = 15.0 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 3
For F2 curve:
a = 11.23 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.74
a = 14.71 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 2.94
For G curve:
a = 11.00 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.67
a = 14.33 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 2.87
For W1 curve:
a = 10.57 # for N =< 1E6
m = 3 # -- do --
y => -0.33 * log(x) + 3.52
a = 13.62 # for N > 1E6
m = 5 # -- do --
y => -0.2 * log(x) + 2.72
```

And finally, here’s the plot I was looking to generate. (The black lines are TJ, green lines are E, and red lines are F2 curves.) Grapher makes it easy to switch curves on and off — using check marks in the equation side bar.