Guide · structural

Fatigue Spectrum Analyzer guide

Count stress cycles from a measured record with rainflow counting, classify the structural detail, and assess the spectrum on the design S–N curves of four fatigue codes — with every number traceable to a clause.

Written for engineers who are not fatigue specialists. One thing to know before you start: Xarpis starts from stress. It does not compute stresses from loads — bring stress ranges from your own analysis, measurement or FE model.

The six-stage workflow
Figure 1
The six-stage assessment workflowThe workflow runs in order: assessment basis, detail category, stress input, spectrum, assessment, report. The detail-category stage feeds a stress specification into the stress step — the detail is classified before any stress is entered, because the category decides which stress must be brought.1Assessment basisDesign code route, method and partial factors2Detail categoryClassify the joint — the result includesthe stress specification for that detail3Stress inputBring the stress the detail asks for4SpectrumTyped bins, constant amplitude, or a counted CSV5AssessmentSeven checks on the route's own design curves6ReportAudit-grade record with clause citationsstress specification
Design code routes
4 — EN · AISC · DNV · IIW
EN detail catalogue
103 classified details
Stress input modes
Spectrum · constant · CSV record
In-browser counting
1M-point records in seconds

Section 01

What the calculator does — and what it doesn't

One assessment, four design codes, three ways to supply the stress. The calculator turns a stress-range history into a code verdict with an audit trail.

You pick a design code route — EN 1993-1-9, AISC 360-22 Appendix 3, DNV-RP-C203 or IIW-1823-07 — and classify your structural detail in that code's own system. You then supply stress ranges one of three ways: a typed binned spectrum, a single constant-amplitude block, or an uploaded CSV record that is rainflow-counted in your browser. The engine assesses the spectrum on the route's own design S–N curves, attributes the damage to the stress ranges that cause it, solves the remaining life and the required detail category, compares the configured codes side by side, and builds a report a checker can audit clause by clause.

Three scope facts protect you from wrong expectations. First, the tool starts from stress: there are no load models, influence lines or FE — the stress ranges are yours to bring, and the detail classification tells you exactly which stress that must be. Second, it works in nominal stress — the stress a classified detail category expects — not hot-spot FE or notch stress. Third, each assessment covers one channel and one crack site. A joint usually has several potential crack sites — each weld toe, the weld ends, the weld throat — so run one assessment per site, each with its own category.

The free tier runs the full counting pipeline and shows the signal charts, the spectrum histogram and the S–N overlay. The platform subscription unlocks the damage attribution, remaining life, route comparison and the report — one flat subscription across every Xarpis calculator.

Section 02

Fatigue in five minutes

Enough theory to use the tool correctly — no more. Five ideas: ranges, the S–N curve, detail categories, Miner's rule, and why counting exists.

Cycles and stress ranges

Fatigue cracks grow because stress cycles up and down, not because it is high. What matters is the stress range — the distance from a trough to a peak — and how many times each range occurs. The absolute stress level (the mean) mostly does not matter for welded details, because welding locks in residual stresses near yield; EN 1993-1-9 §7.2.1 grants a mean-stress benefit only for non-welded or stress-relieved details, and this tool applies it only there.

The S–N curve

An S–N curve says how many cycles N a detail survives at a given stress range Δσ. On EN 1993-1-9's curves the anchor is the detail category ΔσC — the range the detail survives for exactly two million cycles. Above the knee the curve falls with slope m = 3: halve the stress and the life multiplies by eight. At five million cycles sits the constant-amplitude fatigue limit (CAFL) ΔσD: constant-amplitude loading entirely below it never fails. For variable-amplitude spectra the curve continues below the CAFL at the shallower slope m = 5, down to the cut-off limit ΔσL at 10⁸ cycles — ranges below the cut-off contribute exactly zero damage.

Anatomy of the EN fatigue strength curveFigure 2
Anatomy of the EN 1993-1-9 fatigue strength curveCategory 71, characteristic values Mf = 1,0) regenerated from the route module's constants
no damage below ΔσL10⁴10⁵10⁶10⁷10⁸10⁹Endurance NR (cycles)1020501002005001000Stress range Δσ (MPa)ΔσD = 52.3 MPa (CAFL, 5×10⁶)ΔσL = 28.7 MPa (cut-off, 10⁸)ΔσC = 71 at 2×10⁶m = 3m = 5
Regenerated from the route module's own constants for category 71 — anchor ΔσC at 2×10⁶ cycles, CAFL ΔσD at 5×10⁶, extended m = 5 branch, cut-off ΔσL at 10⁸. Log-log axes: each grid step is a factor of ten.

Detail categories

The geometry of the joint decides its fatigue strength. A plain rolled plate is category 160; a badly detailed cover-plate end is category 36. Because life scales with the cube of stress, that spread of 160/36 ≈ 4.4 in stress is a factor of roughly 80 in life. Classifying the detail correctly is therefore the highest-leverage decision in the whole assessment — which is why this tool makes you do it before anything else.

Miner's rule

Real spectra mix many ranges, so the codes add the damage up linearly: each range consumes the fraction n/N of the life, and when the fractions sum to the code's limit the design life is used up. That is the Palmgren-Miner rule (EN 1993-1-9 Annex A.5). Safety factors are applied before the sum — γFf on your stress ranges, γMf on the detail's strength.

Variable amplitude, and why counting exists

A measured stress history is not a list of cycles — it is a wiggly line. Before Miner's rule can add anything up, someone has to decide what counts as one cycle in that line. That is what rainflow counting does, and it is standardised (ASTM E1049) precisely so two engineers get the same spectrum from the same record. Section 7 shows how it works.

Section 03

The workflow: basis → detail → stress → spectrum → verdict

The screen order is deliberate: classify the detail before you enter any stress, because the detail decides which stress you must bring.

The detail category is not just a strength number — it comes with a stress specification. A bolted detail wants the stress on the net section, through the holes. A weld-root detail wants the stress computed on the weld throat, not in the plate. A lattice-node detail wants the stress in the brace, not the chord. Enter the stress first and you can silently bring the wrong one; classify first and the tool can tell you exactly what to bring.

If you come from an FE post-processor or a tool like IDEA StatiCa, this order can feel backwards — there, the stresses already exist, so upload comes first. Xarpis is the opposite: you supply the stress, so classification comes first and the stress request is precise.

  1. Set the assessment basis

    Pick the design code route (EN 1993-1-9, AISC 360-22 Appendix 3, DNV-RP-C203 or IIW-1823-07), the assessment method and the partial factors.

  2. Classify the structural detail

    Find the detail category with the finder, browse the tables, or enter the code's own class directly. The result tells you which stress to bring.

  3. Bring the right stress

    Obtain the stress ranges the detail's stress specification asks for — nominal stress at the assessed section — from your own analysis, measurement or FE model.

  4. Build the spectrum

    Type a binned stress-range spectrum, enter a constant-amplitude block, or upload a CSV record for rainflow counting in the browser.

  5. Read the assessment

    Review the spectrum histogram, the S–N overlay, the damage attribution, the remaining life and the seven checks with their clause citations.

  6. Issue the report

    Review the warnings and assumptions, then export the audit-grade report with the full provenance trail.

Section 04

Choosing a design code route

The code is set by your jurisdiction or contract, not by preference — an EU bridge is EN, a US building is AISC, an offshore jacket is DNV. The route changes more than the numbers: it changes what kind of answer you get.

RouteVerification format & acceptanceCurve basisKnee / limit behaviourShear handling
EN 1993-1-9:2005Miner damage sum Dd ≤ 1,0 with partial factors: γFf on the ranges (recommended 1,0) and γMf on the strength (Table 3.1: damage tolerant 1,00/1,15, safe life 1,15/1,35 by consequence). Damage tolerant is only valid with a prescribed inspection regime.Two-slope curves (m = 3, then m = 5) anchored at the detail category ΔσC at 2×10⁶ cycles.CAFL at 5×10⁶ cycles; cut-off at 10⁸ — ranges below it contribute zero damage.Shear spectra assessed on the m = 5 curve for ΔτC (100 or 80), plus the §8(3) combined check.
AISC 360-22 App. 3Allowable stress range: every band is checked against FSR at its own cycle count, with the threshold FTH as a floor. The code defines no variable-amplitude damage sum and the tool does not invent one — no Dd is ever shown on this route.Eq. A-3-1M: FSR = 6900·(Cf/nSR)0,333 in MPa (the printed ksi form Eq. A-3-1 is used exactly in US units).FTH floors each band; no evaluation required at or below 20 000 cycles; peak cyclic stress capped at 0,66·Fy (stated — not derivable from ranges).Shear on the weld throat is always category F (Eq. A-3-2/A-3-2M) — no selection to make.
DNV-RP-C203 (2011)Miner sum D ≤ 1/DFF (the Design Fatigue Factor). Curves are mean minus two standard deviations — 97,7 % survival — and the failure criterion is crack growth through the thickness.Log-intercept curves log N = log ā − m·log Δσ, classes B1…W3 and T, per environment.The knee MOVES with environment: 10⁷ cycles in air, 10⁶ in seawater with cathodic protection. Free corrosion is a single slope with no fatigue limit. Thickness correction (t/tref)k on the stress side.No pure-shear curves — details are classified for the principal stress direction (Appendix A). A supplied shear spectrum is flagged as unassessed.
IIW-1823-07 (2008)Miner sum with the recommended variable-amplitude limit D ≤ 0,5 — the strictest of the Miner routes by design.FAT classes (the range at 2×10⁶ cycles); characteristic curves with γF = γM = 1,0 in this implementation, disclosed.Below the knee the curve continues at m₂ = 2·m₁ − 1 — the variable-amplitude column. The constant-amplitude m = 22 column is deliberately not selectable: a rainflow spectrum is variable amplitude by definition.Shear FAT classes (100/80/36/28, knee at 10⁸), plus the Eq. (4.6) combined criterion.

Section 05

Classifying your detail

On the EN route a finder covers all 103 tabulated details. You can screen past the question entirely, look a detail up directly, or let a short question tree work it out with you.

Not sure of the category yet? Screening mode runs the whole check at the safest category that could apply — if your spectrum passes at category 36, the exact classification never mattered and you are done. If you already know your detail, type it into the direct-entry box (“71”, “8.4.6”, “cover plate”) or browse the tables with search and filters. If you need to work it out, the finder asks plain-language questions about observable facts — “was the weld ground flush?”, “does the plate width change?” — never about code jargon. Every question has an “I'm not sure” answer that routes to the conservative branch, and no path is longer than six questions.

The result screen gives you four things: the category with the standard's own citation (“Table 8.4 detail 1”); the detail figure drawn at your dimensions; the stress specification — which stress, at which section, this category expects; and the detail's requirements, which flow into the report's assumptions so a checker sees what you accepted. If you stay unsure between two categories, the sensitivity note shows what the choice costs — the damage at category 71 versus category 90 — so you can decide whether the uncertainty is worth resolving.

EN 1993-1-9 Table 8.4 detail 1
Δσcrack at weld endL1

Flat rib or strip laid along the stress direction and fillet-welded to the member's surface: the member cracks where the weld ends, and the longer the attachment, the harder the stress flow lands on that end — the category steps down with L.

Stress specification: direct stress Δσ on the member cross-section at the attachment.

The category steps down with attachment length L — the finder asks for L and selects the rung. Schematic — not to scale.

EN 1993-1-9 Table 8.1 detail 11
Δσcrack at hole11

Structural element with open holes under bending and axial load — drainage, service or unused fastener holes with no bolt transferring load. Each hole is a stress raiser, and cracking starts at the hole edge in the net section.

Stress specification: direct stress Δσ on the net cross-section.

A bolted detail: the stress specification demands the NET cross-section, through the holes. Schematic — not to scale.

EN 1993-1-9 Table 8.5 detail 3
Δσroot crackpartial penetration — root unfused3

Partial-penetration tee-butt or fillet-welded tee joint: the welds carry the whole force but the root land between them is never fused, so the crack starts inside the joint and runs through the weld throat rather than from a visible toe.

Stress specification: direct weld stress Δσw on the weld throat, stresses per section 5 with the effective throat of EN 1993-1-8 Figure 4.6 — plus 1 further assessment at other crack sites.

Two crack sites, two assessments: the root on the weld throat, and the toe via detail 1. Schematic — not to scale.

On the other routes there is no finder, by design: you enter the code's own class directly — AISC stress category, DNV S-N curve and environment, IIW FAT class. Those codes publish their own catalogues, and the classification stays your judgement, attributed as such in the comparison and the report.

Section 06

Entering stress ranges: spectrum, constant amplitude, or CSV

Three entry modes, one rule: supply the stress the detail's specification asks for, as ranges.

Typed spectrum

For the working engineer with a load spectrum in hand: stress ranges and cycles per repetition, edited as bins.

Constant amplitude

One range, one cycle count. The quickest way to a check, an S–N lookup, or a what-if.

CSV record

A measured or simulated stress history, rainflow-counted in the browser. Section 7 covers it in full.

The spectrum's time base is explicit: the bins hold cycles per repetition of the spectrum, and a separate field says how many repetitions the design life demands. Give the optional repetitions-per-year rate and every life answer is also stated in years. This split keeps an annual load spectrum readable — the bins describe one year, the repetitions count the years.

Shear stress ranges have their own spectrum, because the codes treat shear separately. On the EN route shear is assessed once you set ΔτC (100 or 80 per Figure 7.2), with the §8(3) combined check when both act together. On IIW you set a shear FAT class. On AISC shear on the weld throat is always category F. DNV assesses no pure shear at all — its classes are defined for the principal stress direction, and a supplied shear spectrum is flagged as unassessed rather than silently dropped.

The EN route also polices the boundary of high-cycle fatigue: §8(1) caps the largest direct range at 1,5·fy and the largest shear range at 1,5·fy/√3. Trip either ceiling and you are outside the regime these curves describe — the check fails and tells you so rather than extrapolating.

Section 07

Rainflow counting from a measured record

Upload a CSV stress or strain history and the tool turns it into a code-ready spectrum — in your browser, against the clauses of ASTM E1049, with every step disclosed.

From CSV to spectrum — the counting pipelineFigure 3
The in-browser counting pipelineA CSV record is parsed, conditioned, reduced to turning points, rainflow-counted and binned entirely in the browser: for the sample record, 400 samples become 89 turning points, 44 counted cycles and 24 spectrum bins. Only the binned spectrum, a SHA-256 fingerprint and the conditioning trail leave that boundary for the assessment and report — the file itself never does.Runs in your browser — the file never leaves this tab1CSV recordSample file: 400 data rows(comma, semicolon or tab delimited)2ConditioningMissing data, optional detrend and unit scale.Despike is OFF by default — every step is logged.3Turning points400 samples reduce to 89 peaks and troughs4Rainflow countingASTM E1049 §5.4.4 extracts 44 cycles(half cycles counted at 0,5)5Binned spectrum24 logarithmic bins with damage-equivalentrepresentative ranges (cross-checked to 1 %)6Assessment + reportThe spectrum is assessed; the report carries the trailSHA-256 + audit trail
The stages every record passes through, annotated with the sample record's real numbers, computed by running the actual pipeline at render time: 400 samples → 89 turning points → 44 counted cycles → 24 spectrum bins.

What conditioning does — and what it refuses to do

Parsing handles comma, semicolon and tab delimiters, decimal commas, and a header row; you map which column is the stress. Conditioning then handles missing samples (drop or interpolate), an optional detrend, and unit scaling — a strain record in microstrain becomes stress via your Young's modulus. One filter is deliberately OFF by default: despiking. In fatigue the largest range often dominates the damage, so an automatic despike can quietly delete the answer. If you switch it on, every removed sample is listed with its index and value for your review, and the report records the filter setting and the removal count.

What rainflow counting is

A stress history usually carries two scales at once: slow, large excursions with fast, small oscillations riding on them. Simple peak counting sees only the small wiggles and misses the big slow cycle — which is usually where the damage is. Rainflow counting pairs each small excursion into a closed loop, counts it as one full cycle, removes it, and lets the large underlying cycle emerge whole. What cannot be paired at the end — the residue — is settled by the standard, not by us: the default method counts it as half cycles per ASTM E1049 §5.4.4.

The two-scale story rainflow exists forFigure 4
The stress record a rainflow counter seesThe sample record (solid) and its slow underlying cycle (dashed) — the two scales rainflow separates
02468Time (s)-50050100150Stress (MPa)one slow cycle ≈ 138 MPa rangefast small cycles ride on it
  • Measured record
  • Slow underlying cycle
The sample record's conditioned trace, exactly as the counter sees it. Rainflow separates the scales: 44 cycles are extracted, and the largest counted range is 138.2 MPa — the slow cycle a peak count would miss.

Four counting methods are offered, each labelled with its clause: rainflow per ASTM E1049 §5.4.4 (the default), the §5.4.5 simplified rainflow for repeating histories (full cycles only — right when your record is one duty block that repeats), §5.4.3 range-pair counting, and the EN 1993-1-9 Figure A.1 c) reservoir method as a same-standard cross-check. The repeating-history rainflow (§5.4.5) and reservoir counters are two independent implementations that must agree — the test suite holds them to equality within 1×10⁻⁹ (the §5.4.4 default differs from both only in how it counts the residue, as half cycles).

Binning, disclosed

The counter itself is exact. What travels into the assessment is a binned spectrum — 16, 32 or 64 bins (default 64) with logarithmic edges, because damage concentrates where stress is high. Each bin is represented by the single range that would cause the same damage as the cycles inside it (computed on the standard's primary slope, m = 3), and cycle counts round up, never down — rounding must never delete a damaging cycle. The tool then cross-checks the binned damage against the exact unbinned count and warns if the difference ever exceeds 1 %. Because Xarpis counts first and bins second, its answers can differ slightly from tools that bin the signal before counting — count-then-bin is the more accurate order, and the difference is disclosed rather than hidden.

Section 08

Reading the results

The results column is ordered from data to verdict: what was counted, what the spectrum looks like, where it sits on the curve, what that costs, and what the checks conclude.

  1. The counted record (signal mode): the trace with its turning points, the reduction strip (samples → turning points → cycles), the rainflow matrix, and — if despiking was on — every removed sample listed for review.
  2. The spectrum histogram, drawn the way EN 1993-1-9 Figure A.1 d) draws it: ranges descending, each band as wide as its share of the cumulative cycle count. A spectrum dominated by one giant band is visible at a glance.
  3. The S–N overlay — the money chart. Your bins are plotted on the route's design curve at their own endurance. A point above the line is consuming life faster than the curve allows at that count; a point below it has margin. The ghost ladder shows the neighbouring categories, so you can see what one classification step is worth, and the toggle switches between the design curve (γMf applied) and the unfactored one.
  4. Damage attribution (subscription; Miner routes only — the AISC format defines no damage to attribute): the Pareto of damage by bin, and the single most useful sentence the tool produces — for Example 1 below, 84.0% of the damage comes from 6,037,500 of 6,080,750 cycles. What to do with it: chase the machine state, duty cycle or resonance that produces those few bins, because that is where the life is going.
  5. Remaining life (subscription): allowable and remaining repetitions, in years when you gave a rate. Section 9 explains how to act on it.
  6. Route comparison (subscription): each configured code's own verdict, with the non-commensurability caveats attached. The four results are not the same quantity — a damage-scale utilisation and a stress-scale ratio differ in kind — so bars are only comparable to each code's own 1.0. Unconfigured codes say so explicitly rather than showing a silently defaulted bar.

The seven checks

CheckWhat it verifies
Fatigue verificationThe verdict check, in the route's own format: the Miner damage sum Dd against the route's limit (EN 1,0 · DNV 1/DFF · IIW 0,5), or on AISC the governing band against its allowable stress range FSR.
Equivalent stress rangeThe §8(2) format: the damage-equivalent constant-amplitude range ΔσE,2 against ΔσCMf. Informational — it is the same acceptance as the damage sum expressed on a stress scale, and the two are cross-checked internally.
Stress ceilingEN §8(1)'s cap of 1,5·fy on the largest direct range; on AISC, the stated 0,66·Fy peak-stress cap that must be verified against the load analysis.
Shear stress ceilingThe shear analogue: 1,5·fy/√3 on the largest shear range (EN).
Combined direct + shearEN §8(3)'s interaction (cube plus fifth power of the two equivalent-range ratios ≤ 1,0), or IIW's Eq. (4.6) criterion; AISC and DNV state why no combination applies.
Remaining fatigue lifeAllowable and remaining spectrum repetitions and years, from the same damage model as the verdict.
Required detail categoryThe inverse solve: the smallest category (or the set of sufficient classes) for which this spectrum passes. Informational — a specification, not a verdict.

Two checks are deliberately informational — the equivalent-range format and the required-category solve carry no pass/fail of their own. Both express the same acceptance the damage sum already carries, on a stress scale; letting a stress-scale ratio compete for the governing slot would let it out-govern the damage sum whenever D is below 1 (because D1/3 is larger than D there). The governing check and the overall status always come from the checks that carry the code's own verdict.

Interpreting the number

A damage sum is a used-up fraction of the stated design life — always of the stated life, never of forever. Dd = 0.3 means the spectrum, repeated as declared, consumes 30 % of the design life: real margin. Dd = 0.95 passes, but one revision of the load assumptions can flip it; treat it as a design at its limit. And Dd < 1 is not “safe forever” — it is “the declared repetitions fit”. Change the repetitions and the verdict changes with them.

When to distrust the answer: a utilisation near 1.0 (small modelling choices now decide the verdict); endurances below 10⁴ cycles (the tool warns — the curves are extrapolated there); a spectrum whose damage is dominated by one giant cycle (verify that cycle is real, not an instrumentation spike); and any despiked samples you did not personally review.

Section 09

Remaining life and the required category

Two answers point forward instead of judging the past: how many repetitions the detail can absorb, and which category the spectrum would need.

The life check divides the route's damage limit by the damage one repetition of your spectrum causes: that is the allowable number of repetitions. Subtract what the design life demands and the remainder is your reserve — in years, when you gave a repetitions-per-year rate. On the AISC route, which has no damage sum, the life is the point where the governing band meets its own allowable stress range instead.

The required-category solve is a failed check turned into a specification: the smallest detail category that would pass this exact spectrum, solved on the same curves with the same factors, then snapped to the standard's real ladder. In Example 1 below the solve reports that any category from 63 upward passes — so if the detail had classified one step worse, the design would still work.

The design levers, with honest arithmetic

On the m = 3 branch (the caveat: these ratios hold only there), damage scales with roughly the cube of stress. That cuts both ways: a 20 % stress reduction roughly doubles the life, and a 20 % life shortfall needs only about 6 % less stress. Improving the detail one category step (a factor ≈ 1,12 in strength) buys about 1.4× life. Moving from safe life to damage tolerant (γMf 1,35 → 1,15, Table 3.1) is worth about 1.6× — but damage tolerant is an inspection commitment, not a preference: it is only valid where a prescribed inspection and maintenance regime will actually detect cracks before they matter.

Section 10

Worked examples — engine-backed

Every number below is computed at render time by the same engine the calculator runs. Nothing is typed in; if the engine and this page ever disagreed, the page would fail to build.

Example 1 — EN route, typed spectrum

A category 71 welded attachment on a safe-life, high-consequence basis (recommended γMf = 1,35, Table 3.1), carrying an annual four-band spectrum for a 25-year design life. The inputs, in full:

InputValue
RouteEN 1993-1-9:2005
DetailCategory ΔσC = 71 MPa, no size effect
BasisSafe life, high consequence — γMf = 1,35, γFf = 1,0
Spectrum (per year)110 MPa × 230 · 78 MPa × 1,500 · 52 MPa × 11,500 · 30 MPa × 230,000
Design life25 repetitions of the annual spectrum (1 per year)
Yield strengthfy = 355 MPa (for the §8(1) ceiling)

Damage sum Dd

0.546

Verdict

PASS (limit 1,0)

Allowable life

45.8 years

Equivalent range ΔσE,2

48.0 MPa

Walk the numbers. The design curve is anchored at ΔσCMf = 71/1,35 = 52.59 MPa, with the CAFL at 38.75 MPa and the cut-off at 21.28 MPa. The three largest bands (110, 78 and 52 MPa) sit on the m = 3 branch; the 30 MPa band falls below the CAFL and is assessed on the extended m = 5 branch. Over 25 years the damage fractions add to Dd = 0.546 — the design passes with visible margin, and the damage sum is the governing check.

BandCycles / yearBranchEndurance NRDamage (25 y)Share
110 MPa230m = 3218,5880.02634.8%
78 MPa1,500m = 3613,0840.061211.2%
52 MPa11,500m = 32,069,1580.138925.4%
30 MPa230,000m = 517,978,4930.319858.6%

The attribution is the lesson: the smallest band — 30 MPa, 5,750,000 cycles over the life — carries 58.6% of the damage, because sheer count beats amplitude once every band is above the cut-off. The remaining life confirms it: 45.8 allowable years against 25 demanded leaves 20.8 in reserve. And the required-category solve reports 61.6 MPa as the smallest passing category — tabulated category 63 or better works.

Example 1 on the design curveFigure 5
S–N overlay — worked example 1Category 71, γMf = 1,35 Dd = 0.546 over 25 years
10⁴10⁵10⁶10⁷10⁸10⁹Endurance NR (cycles)1020501002005001000Design stress range (MPa)CAFL 38.8 MPacut-off 21.3 MPa
  • Design curve
  • Spectrum bins (darker = larger damage share)
The four bands at their endurance on the category 71 design curve (γMf = 1,35 applied). Darker points carry more damage share — the 30 MPa band on the m = 5 branch is the darkest despite being the smallest range.

Example 2 — signal mode, end to end

This example runs the actual downloadable sample record through the actual pipeline at render time — parsing, counting, binning and assessment are the same code the browser runs. To reproduce it, download the sample file from the dropzone and upload it back.

  1. Parse: 400 data rows with columns time_s and stress_MPa; the stress column is mapped automatically.
  2. Condition: nothing to fix — no missing samples, no detrend, no scaling, despike off. The audit trail records only the counting step.
  3. Reduce and count: 400 samples become 89 turning points; rainflow per ASTM E1049 §5.4.4 extracts 44 cycles (half cycles at 0,5), the largest with a range of 138.2 MPa.
  4. Bin: the counted cycles fill 24 logarithmic bins (64 requested; short records need fewer), transporting 46 cycles with damage-equivalent representative ranges.
  5. Assess: category 90, safe life, high consequence (γMf = 1,35); the record is one duty block, repeated 80,000 times over the life at 10,000 blocks per year — an 8-year demanded life.

Damage sum Dd

0.683

Verdict

PASS (limit 1,0)

Allowable life

11.7 years

Binned vs unbinned

0.12% apart

The verdict is Dd = 0.683 — a pass, with 3.7 years of reserve beyond the demanded 8. The attribution tells the two-scale story from Section 7 in damage terms: 99.8% of the damage comes from just 160,000 of the 3,680,000 lifetime cycles — the big slow cycles in every block — while 3,440,000 small cycles fall below the cut-off and contribute exactly zero. The binning honesty check compares the binned damage against the exact unbinned count recorded at ingest (D = 0.6824) and finds them 0.12% apart — far inside the 1 % bound the pack holds itself to.

Provenance: the report for this assessment would carry the record's SHA-256 fingerprint _ptLguCDqzh-N4kWdq0Iqp5gQsbYv56cxT9LUjsfPaY and the audit trail — enough for a reviewer to verify which file was assessed, without the file.

Example 2's spectrum, as the standard draws itFigure 6
Stress-range spectrum — worked example 2Counted from the sample record · 24 bins · category 90, γMf = 1,35
0.110100010⁵10⁷Cumulative cycles over the assessed life050100150200Design stress range (MPa)CAFL 49.1 MPacut-off 27.0 MPa
The counted spectrum as a descending staircase over the cumulative lifetime cycle count (EN 1993-1-9 Figure A.1 d)). The staircase makes the verdict visible: the few tall bands at the left do the damage; the long tail at the right sits below the cut-off and does none.

Example 3 — the same spectrum on the AISC route

Example 1's spectrum again, now assessed as AISC 360-22 Appendix 3 stress category C. The point is the format difference: Appendix 3 has no damage sum. Each band is verified against the allowable stress range FSR at its own lifetime cycle count, with the threshold FTH as a floor — and no Dd appears anywhere.

BandnSR (25 y)FSRRatio Δσ/FSR
110 MPa5,750632.6 MPa0.174
78 MPa37,500338.8 MPa0.230
52 MPa287,500171.9 MPa0.302
30 MPa5,750,00069.0 MPa (floored at FTH)0.435

The governing band is the smallest range: 30 MPa over 5,750,000 cycles, where the curve value falls below the threshold and FSR is floored at FTH = 69 MPa — ratio 0.435. Both routes happen to pass this spectrum, but the two verdicts are different kinds of number: EN's 0.546 is a damage fraction on factored curves, AISC's 0.435 is a stress ratio on unfactored service ranges. They are not comparable — and spectra exist that fail one format while passing the other, which is exactly why the tool never converts between them.

Section 11

Common mistakes

Ten ways fatigue assessments quietly go wrong — and what this tool does about each.

Bringing the wrong stress for the detail

The most dangerous mistake because it is silent and plausible: gross-section stress where the category wants the net section, plate stress where it wants the weld throat. The classification result states the detail's stress specification — read it before you type a single range.

Using a constant-amplitude curve for variable-amplitude loading

IIW's tables carry a constant-amplitude column with slopes up to m = 22 below the knee — up to roughly 32 orders of magnitude apart from the variable-amplitude column in curve constant. Here the trap is closed: a rainflow spectrum is variable amplitude by definition, so only the variable-amplitude column exists on the IIW route. In tools where both are selectable, this mistake is real.

Skipping the damage-tolerant vs safe-life decision

The EN choice moves γMf between 1,00 and 1,35 — up to 35 % on strength, which is more than 2× on damage. The tool defaults conservatively and warns when your γMf is below the recommended value for the selected method and consequence.

Forgetting the size effect above 25 mm

Thick plates fatigue worse: the ks reduction of §7.2.2 applies above the detail's reference thickness. Applying a detail through the finder pre-fills the size-effect fields so the rule is in front of you, not buried in a table note.

Despiking away the governing event

The largest range in a record is often the answer, and it looks exactly like an outlier. Despiking is off by default here, and when you enable it, every removed sample is listed — review them before trusting the verdict.

Assuming cycles below the cut-off matter

They contribute exactly zero on the EN route (§7.1(3)) — millions of tiny cycles change nothing. The flip side: a band just above the cut-off does count, so the histogram's cut-off rule is worth a look when your spectrum clusters near it.

Reading Dd < 1 as safe forever

The damage sum is tied to the declared design life. Halve the repetitions and Dd halves; double them and a pass can become a failure. The life check restates the verdict as repetitions and years so the time dimension stays visible.

Comparing damage numbers across codes as like-for-like

EN's Dd ≤ 1,0, DNV's D ≤ 1/DFF on mean-minus-two-sigma curves and IIW's D ≤ 0,5 are different quantities against different limits — and AISC has no damage number at all. The comparison chart shows each code against its own acceptance and says so every time.

Assessing one site when the joint has several

A welded joint can crack at either toe, at the weld ends, or through the throat — each with its own category. Details that mandate a second check (partial-penetration roots, for instance) say so in their requirements. Run one assessment per site.

Using a stress history from the wrong location

A gauge a few centimetres from the detail can see a very different range spectrum. No software can detect this — it is stated here, in the assumptions, and in the report: the supplied stresses are assumed to be at the assessed detail.

Section 12

Scope and limits

Limits stated plainly protect you better than capabilities oversold. This is what the tool deliberately does not do.

In scope

  • Four code routes: EN 1993-1-9:2005, AISC 360-22 Appendix 3, DNV-RP-C203 (2011), IIW-1823-07 — each in its own verification format.
  • Nominal (or modified nominal) stress ranges at a classified detail; EN Annex B hot-spot categories as a category set.
  • Typed spectra, constant amplitude, and CSV records counted per ASTM E1049 in the browser.
  • Direct and shear spectra where the code defines them, with the code's own combination rules.
  • Damage attribution, remaining life, required category, multi-code comparison, audit-grade report.
  • Dual units throughout — SI and US customary, with exact code equations in both where the code publishes both.

Out of scope

  • Load-to-stress analysis: no load models, influence lines or FE. Stress ranges are supplied by you.
  • Stress-concentration factors, hot-spot FE integration, notch-stress and critical-plane methods.
  • Multiple channels: one stress channel and one crack site per assessment.
  • Load-sequence and overload-retardation effects — Palmgren-Miner is order-independent by construction.
  • Fracture mechanics: the tool cannot answer “I have a 12 mm crack — how long do I have?”
  • Conditions outside the codes' own scope: EN excludes seawater corrosion and temperatures above 150 °C; AISC excludes above 150 °C (300 °F) and worse-than-mild corrosion.

Two disclosures apply everywhere: binned spectra are an approximation bounded at 1 % and cross-checked against the exact count, and detail figures are schematics with exaggerated thickness — never to scale.

Section 13

The report

The deliverable is written for the person who checks your work: every input, every band, every check with its equation and clause, and the provenance of the record.

Inputs and provenance

The complete input state; for counted records, the SHA-256 fingerprint and the step-by-step conditioning trail with clause citations — never the record itself.

The full spectrum

Every band with its design range, endurance, branch and damage — no top-10 truncation — plus the binning fidelity statement.

Checks with equations

All seven checks with demands, capacities, equations and the exact clauses they compute — cited as the standard writes them.

Assumptions and caveats

The active assumptions (including the applied detail's own requirements), all warnings, and the route comparison with its non-commensurability caveats.

See a complete one before subscribing: open the demo report — the full document for the calculator's built-in example. The report supports engineering review; it is not a certification, and it does not replace the engineer who signs the design.

Section 14

Frequently asked questions

Short answers to the questions that change how the tool should be used.

Is my CSV uploaded anywhere?

No. The file is parsed, conditioned and counted entirely in your browser tab and never reaches a server. You can verify the claim from the output itself: the report carries a SHA-256 fingerprint of the file plus a step-by-step conditioning trail, and a shared link transports only the binned spectrum — a recipient sees an explicit note that the raw record is not available unless the same file is uploaded again.

Which counting method should I pick?

The default — rainflow per ASTM E1049 §5.4.4 — unless you have a reason not to. If your record is one repeating duty block, the §5.4.5 repeating-history variant counts full cycles only and avoids the half-cycle residue. Range-pair (§5.4.3) and the EN 1993-1-9 reservoir method are available for cross-checking against other tools; each result is labelled with its clause.

Why is my damage exactly zero?

Because every design stress range sits below the level where the active code accumulates damage. On EN 1993-1-9, constant-amplitude loading below the fatigue limit gives unlimited life (§7.1(2)), and ranges below the cut-off contribute nothing (§7.1(3)). DNV-RP-C203 §2.11 lets the whole analysis be omitted below the fatigue limit at 10⁷ cycles. IIW treats a spectrum entirely below the knee as infinite life (§4.3.1). The result card states which rule fired.

Why does Xarpis differ slightly from my other fatigue tool?

Most often because of binning order. Xarpis counts the raw record first and bins the counted cycles second; tools that bin the signal into levels before counting quantise the turning points and can lose small cycles. The binned-versus-unbinned damage difference is computed and disclosed here, and warned about beyond 1 %. Counting method and residue conventions can also differ — the report states exactly which clause was used.

Can I compare the four codes side by side?

Yes — the route comparison shows each configured code's own verdict. But the four results are not the same quantity: EN, DNV and IIW report damage sums against different limits and strength bases, and AISC reports a stress ratio against an allowable range. Bars are only comparable to each code's own acceptance at 1.0, never to each other. The comparison carries that caveat wherever it appears.

Does it handle mean stress?

Only where EN 1993-1-9 §7.2.1 allows it: non-welded or stress-relieved welded details, where the effective range is the tensile part plus 60 % of the compressive part. The rule needs each cycle's mean, so it is available in signal mode only — a typed binned spectrum carries ranges without means, and the toggle is not offered there.

What about bolts and threaded rods?

EN 1993-1-9 Table 8.1 covers bolts in tension (detail 14, category 50 with the size effect) and bolts in shear (detail 15); the finder includes them. On the AISC route, bolts in tension are stress category G — Eq. A-3-1 with the case 8.5 constants, per Appendix 3 §3.4(b).

What is free and what is paid?

Free: the full signal pipeline with the counting charts, the spectrum histogram and the S–N overlay — you can count a record and see where your spectrum sits without paying. The platform subscription ($19/month, all calculators) unlocks the damage attribution, remaining life, route comparison and the report.

Section 15

Standards and editions

The exact editions implemented. Route names are engine editions, not a claim that they are the latest adopted in your jurisdiction.

StandardEditionRole
EN 1993-1-92005 (incl. corrigenda 2005/2009)Eurocode fatigue route: curves, detail tables, partial factors, Annex A accumulation.
AISC 360-222022, Appendix 3Allowable-stress-range route: Eq. A-3-1/A-3-2, Table A-3.1 categories.
DNV-RP-C203October 2011Offshore route: Tables 2-1/2-2/2-3 curves, DFF, thickness correction.
IIW-1823-07December 2008IIW recommendations route: FAT classes, variable-amplitude curves, D ≤ 0,5.
ASTM E1049-85Reapproved 2011Cycle counting: rainflow §5.4.4/§5.4.5, range-pair §5.4.3.

Ready to assess

Count the cycles, classify the detail, and keep every number traceable.

Start with the sample record or your own spectrum. The counting pipeline and the S–N overlay are free; the full assessment and the report come with the platform subscription.