{"id":100122,"date":"2026-02-15T20:18:59","date_gmt":"2026-02-15T20:18:59","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100122"},"modified":"2026-03-18T11:42:16","modified_gmt":"2026-03-18T11:42:16","slug":"h2s-material-check","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/h2s-material-check\/","title":{"rendered":"H\u2082S Sour Service Material Check | ISO 15156 \/ NACE MR0175"},"content":{"rendered":"<div id=\"pl-100122\"  class=\"panel-layout\" ><div id=\"pg-100122-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-100122-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-100122-0-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"0\" ><h3 class=\"widget-title\">h2s<\/h3><div class=\"textwidget custom-html-widget\"><!-- wp:html -->\n\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,700;9..144,800&display=swap\" rel=\"stylesheet\">\n\n<style>\n:root{--vc-bg:#f4f1ec;--vc-surface:#fff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-hover:#b04d22;--vc-accent-light:#fdf0ea;--vc-blue:#2a5c8c;--vc-blue-light:#eaf1f8;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-red:#b91c1c;--vc-red-light:#fef2f2;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,0.06),0 4px 12px rgba(26,26,26,0.04);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono','Consolas','Monaco',monospace;--vc-display:'Fraunces',Georgia,serif}\n.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px;-webkit-font-smoothing:antialiased}\n.vc-calculator *,.vc-calculator *::before,.vc-calculator *::after{box-sizing:border-box}\n.vc-header{text-align:center;padding:48px 24px 40px;position:relative}\n.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}\n.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}\n.vc-header-title{font-family:var(--vc-display);font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1.15;color:var(--vc-ink);margin:0 0 16px;letter-spacing:-0.02em}\n.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:640px}\n.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}\n.vc-badge{font-family:var(--vc-mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:4px;background:var(--vc-surface);border:1px solid var(--vc-border);color:var(--vc-ink-secondary)}\n.vc-card{background:var(--vc-surface);border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);box-shadow:var(--vc-shadow);overflow:hidden;margin-top:32px}\n.vc-form{padding:24px}\n.vc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}\n@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}\n.vc-field{display:flex;flex-direction:column}\n.vc-field-full{grid-column:1\/-1}\n.vc-label{font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}\n.vc-label-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--vc-ink-muted);font-size:11px}\n.vc-select,.vc-input{width:100%;padding:10px 12px;border:1.5px solid var(--vc-border);border-radius:6px;font-family:var(--vc-font);font-size:14px;color:var(--vc-ink);background:var(--vc-surface);transition:border-color 0.15s,box-shadow 0.15s}\n.vc-select{padding-right:36px;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:right 10px center}\n.vc-select:focus,.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,0.12)}\n.vc-results{border-top:1px solid var(--vc-border-light);background:var(--vc-surface-alt);padding:0;max-height:0;overflow:hidden;transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1),padding 0.3s}\n.vc-results.vc-visible{max-height:3000px;padding:24px}\n.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}\n.vc-results-title{font-family:var(--vc-display);font-size:20px;font-weight:700;color:var(--vc-ink);margin:0}\n.vc-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--vc-border);border-radius:6px;background:var(--vc-surface);font-family:var(--vc-font);font-size:12px;font-weight:500;color:var(--vc-ink-secondary);cursor:pointer;transition:all 0.15s}\n.vc-copy-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent)}\n.vc-copy-btn.vc-copied{background:var(--vc-green-light);border-color:var(--vc-green);color:var(--vc-green)}\n.vc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}\n@media(max-width:500px){.vc-result-grid{grid-template-columns:1fr}}\n.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;transition:transform 0.2s}\n.vc-rcard:hover{transform:translateY(-1px)}\n.vc-rcard-primary{border-color:var(--vc-accent);border-width:2px;background:linear-gradient(135deg,#fdf6f2 0%,var(--vc-surface) 100%);grid-column:1\/-1}\n.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}\n.vc-rcard-value{font-family:var(--vc-mono);font-size:22px;font-weight:600;color:var(--vc-ink);line-height:1.2}\n.vc-rcard-primary .vc-rcard-value{font-size:28px;color:var(--vc-accent)}\n.vc-rcard-unit{font-size:14px;font-weight:400;color:var(--vc-ink-secondary)}\n.vc-status-pass{color:var(--vc-green);font-weight:700}\n.vc-status-fail{color:var(--vc-red);font-weight:700}\n.vc-status-warn{color:var(--vc-yellow);font-weight:700}\n.vc-detail-box{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;margin-top:12px;font-size:14px;color:var(--vc-ink-secondary)}\n.vc-detail-box ul{margin:8px 0 0 18px;padding:0}\n.vc-detail-box li{margin-bottom:4px}\n.vc-section{margin-top:24px;border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);background:var(--vc-surface);box-shadow:var(--vc-shadow);overflow:hidden}\n.vc-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border:none;background:transparent;cursor:pointer;font-family:var(--vc-font);text-align:left;transition:background 0.15s}\n.vc-section-toggle:hover{background:var(--vc-surface-alt)}\n.vc-section-toggle-text{display:flex;align-items:center;gap:10px}\n.vc-section-icon{font-size:20px;line-height:1}\n.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;color:var(--vc-ink);margin:0}\n.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform 0.3s;flex-shrink:0}\n.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}\n.vc-section-body{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)}\n.vc-section.vc-open .vc-section-body{max-height:20000px}\n.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}\n.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;color:var(--vc-ink);margin:28px 0 10px}\n.vc-theory h3:first-child{margin-top:20px}\n.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}\n.vc-theory ul{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 12px 18px;padding:0}\n.vc-theory li{margin-bottom:5px}\n.vc-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}\n.vc-table th,.vc-table td{padding:10px 12px;border:1px solid var(--vc-border-light);text-align:left}\n.vc-table th{background:var(--vc-surface-alt);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--vc-ink-secondary)}\n.vc-table tr:nth-child(even){background:var(--vc-surface-alt)}\n.vc-warning-box{background:var(--vc-yellow-light);border-left:3px solid var(--vc-yellow);padding:14px 16px;border-radius:0 6px 6px 0;margin:14px 0}\n.vc-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}\n.vc-faq-item{border:1px solid var(--vc-border-light);border-radius:6px;overflow:hidden}\n.vc-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:none;background:var(--vc-surface-alt);cursor:pointer;font-family:var(--vc-font);font-size:15px;font-weight:600;color:var(--vc-ink);text-align:left;transition:background 0.15s}\n.vc-faq-q:hover{background:#ede9e3}\n.vc-faq-chevron{width:16px;height:16px;color:var(--vc-ink-muted);flex-shrink:0;transition:transform 0.25s}\n.vc-faq-item.vc-open .vc-faq-chevron{transform:rotate(180deg)}\n.vc-faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s}\n.vc-faq-item.vc-open .vc-faq-a{max-height:1200px}\n.vc-faq-a-inner{padding:14px 16px;border-top:1px solid var(--vc-border-light);font-size:14px;color:var(--vc-ink-secondary)}\n.vc-faq-a-inner p{margin:0 0 8px}\n.vc-faq-a-inner p:last-child{margin-bottom:0}\n.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}\n.vc-related-link{display:inline-block;padding:8px 16px;font-family:var(--vc-font);font-size:13px;font-weight:600;background:var(--vc-surface-alt);color:var(--vc-ink-secondary);border:1px solid var(--vc-border);border-radius:var(--vc-radius);text-decoration:none;transition:all 0.15s}\n.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\n.vc-promo{margin-top:24px;padding:20px;background:linear-gradient(135deg,var(--vc-accent-light),var(--vc-surface));border:1px solid var(--vc-border);border-radius:var(--vc-radius-lg);display:flex;align-items:center;gap:16px}\n.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}\n.vc-promo-text strong{color:var(--vc-ink)}\n.vc-promo-link{padding:8px 20px;font-size:13px;font-weight:700;color:#fff;background:var(--vc-accent);border-radius:var(--vc-radius);text-decoration:none;white-space:nowrap;transition:background 0.15s}\n.vc-promo-link:hover{background:var(--vc-accent-hover)}\n.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}\n.vc-footer a{color:var(--vc-accent);text-decoration:none}\n.vc-footer a:hover{text-decoration:underline}\n.vc-footer-links{margin-top:8px;font-size:12px}\n.vc-footer-links a{margin:0 8px}\n@media print{.vc-section-body{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-promo{display:none!important}}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-h2s-check\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">H\u2082S Sour Service Material Check<\/h1>\n    <p class=\"vc-header-subtitle\">Screen materials for suitability in hydrogen sulfide (H\u2082S) environments per ISO 15156 \/ NACE MR0175. Check hardness, yield strength, and environmental limits against standard requirements.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 15156<\/span>\n        <span class=\"vc-badge\">NACE MR0175<\/span>\n        <span class=\"vc-badge\">SSC \/ HIC \/ SCC<\/span>\n    <\/div>\n<\/header>\n\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-mattype\">Material Type<\/label>\n                <select class=\"vc-select\" id=\"vc-mattype\">\n                    <option value=\"carbon\" selected>Carbon Steel \/ Low-Alloy Steel<\/option>\n                    <option value=\"austenitic\">Austenitic Stainless Steel (304\/316)<\/option>\n                    <option value=\"duplex\">Duplex Stainless Steel (2205\/2507)<\/option>\n                    <option value=\"martensitic\">Martensitic Stainless (410\/420)<\/option>\n                    <option value=\"nickel\">Nickel Alloy (Inconel, Hastelloy, Monel)<\/option>\n                    <option value=\"cra\">CRA \u2014 Corrosion Resistant Alloy (general)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-hardness\">Hardness <span class=\"vc-label-hint\">(HRC)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-hardness\" inputmode=\"decimal\" step=\"any\" min=\"0\" max=\"70\" placeholder=\"e.g. 22\" value=\"22\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-yield\">Yield Strength <span class=\"vc-label-hint\">(MPa)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-yield\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 450\" value=\"450\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-ph2s\">H\u2082S Partial Pressure <span class=\"vc-label-hint\">(kPa)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-ph2s\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 1.0\" value=\"1.0\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-ph\">pH of Environment<\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-ph\" inputmode=\"decimal\" step=\"any\" min=\"0\" max=\"14\" placeholder=\"e.g. 4.0\" value=\"4.0\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-envtemp\">Temperature <span class=\"vc-label-hint\">(\u00b0C)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-envtemp\" inputmode=\"decimal\" step=\"any\" placeholder=\"e.g. 60\" value=\"60\">\n            <\/div>\n        <\/div>\n    <\/form>\n\n    <div class=\"vc-results vc-visible\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Assessment<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\">Overall Sour Service Assessment<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-verdict\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Hardness Check<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hardness\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Yield Strength Check<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-yield\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Applicable ISO 15156 Part<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-part\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Sour Service Domain<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-domain\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Failure Mechanisms to Consider<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-mechanisms\">\u2014<\/div>\n            <\/div>\n        <\/div>\n        <div class=\"vc-detail-box\" id=\"vc-r-details\"><\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Standards & Reference<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>ISO 15156 \/ NACE MR0175 Structure<\/h3>\n            <ul>\n                <li><strong>Part 1:<\/strong> General principles for selection of cracking-resistant materials<\/li>\n                <li><strong>Part 2:<\/strong> Carbon and low-alloy steels, cast irons<\/li>\n                <li><strong>Part 3:<\/strong> CRAs (corrosion-resistant alloys) and other alloys<\/li>\n            <\/ul>\n\n            <h3>Key Hardness Limits<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Material<\/th><th>Max Hardness (HRC)<\/th><th>Max Yield (MPa)<\/th><th>Notes<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>Carbon \/ Low-Alloy Steel<\/td><td>22 HRC<\/td><td>690 MPa<\/td><td>ISO 15156-2; weld zones also limited<\/td><\/tr>\n                    <tr><td>Austenitic SS (304\/316)<\/td><td>22 HRC<\/td><td>\u2014<\/td><td>Generally acceptable; cold-worked limited<\/td><\/tr>\n                    <tr><td>Duplex SS (2205)<\/td><td>28 HRC<\/td><td>\u2014<\/td><td>Limited by temperature and H\u2082S level<\/td><\/tr>\n                    <tr><td>Super Duplex (2507)<\/td><td>32 HRC<\/td><td>\u2014<\/td><td>More restrictive environmental limits<\/td><\/tr>\n                    <tr><td>Martensitic SS (13Cr)<\/td><td>23 HRC<\/td><td>\u2014<\/td><td>Very restricted in sour service<\/td><\/tr>\n                    <tr><td>Nickel Alloy 625\/C-276<\/td><td>35\u201340 HRC<\/td><td>\u2014<\/td><td>Per ISO 15156-3 Table A.24+<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Cracking Mechanisms<\/h3>\n            <ul>\n                <li><strong>SSC<\/strong> \u2014 Sulfide Stress Cracking: hydrogen-assisted cracking of susceptible metals under tensile stress in H\u2082S<\/li>\n                <li><strong>HIC<\/strong> \u2014 Hydrogen Induced Cracking: internal cracking from hydrogen diffusion (no external stress needed)<\/li>\n                <li><strong>SOHIC<\/strong> \u2014 Stress-Oriented HIC: HIC combined with applied\/residual stress<\/li>\n                <li><strong>SCC<\/strong> \u2014 Stress Corrosion Cracking: chloride or polythionic acid SCC in CRAs<\/li>\n            <\/ul>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Disclaimer:<\/strong> This tool provides preliminary screening only. Full compliance requires detailed assessment per the complete ISO 15156 standard, including consideration of welding, heat treatment, cold work, and specific environmental conditions. Always consult a materials\/corrosion engineer.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Tools<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/ndt-method-selector.html\">NDT Method Selector<\/a>\n                <a class=\"vc-related-link\" href=\"\/lubricant-compatibility-checker.html\">Lubricant Compatibility<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing & Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Used in 50+ countries.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ISO 15156 \/ NACE MR0175. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/index.html\">All Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contact\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script data-cfasync=\"false\">\n(function() {\n    'use strict';\n\n    var RULES = {\n        carbon: { part:'ISO 15156-2', maxHRC:22, maxYield:690, mechanisms:['SSC','HIC','SOHIC'] },\n        austenitic: { part:'ISO 15156-3 (Table A.2)', maxHRC:22, maxYield:null, mechanisms:['SCC (chloride)','SSC (if cold-worked)'] },\n        duplex: { part:'ISO 15156-3 (Table A.7)', maxHRC:28, maxYield:null, mechanisms:['SSC','SCC'] },\n        martensitic: { part:'ISO 15156-3 (Table A.4)', maxHRC:23, maxYield:null, mechanisms:['SSC','SCC'] },\n        nickel: { part:'ISO 15156-3 (Table A.24+)', maxHRC:40, maxYield:null, mechanisms:['SCC','SSC (high strength)'] },\n        cra: { part:'ISO 15156-3', maxHRC:35, maxYield:null, mechanisms:['SCC','SSC'] }\n    };\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)) return '\u2014'; return n.toFixed(d||0); }\n\n    function calculate() {\n        var matType = $('vc-mattype').value;\n        var hardness = parseFloat($('vc-hardness').value);\n        var yld = parseFloat($('vc-yield').value);\n        var ph2s = parseFloat($('vc-ph2s').value);\n        var ph = parseFloat($('vc-ph').value);\n        var temp = parseFloat($('vc-envtemp').value);\n        var rule = RULES[matType];\n\n        var issues = [];\n        var details = [];\n\n        \/\/ Hardness check\n        var hardnessOK = true;\n        if (!isNaN(hardness) && hardness > rule.maxHRC) {\n            hardnessOK = false;\n            issues.push('Hardness ' + fmt(hardness,1) + ' HRC exceeds limit of ' + rule.maxHRC + ' HRC');\n        }\n        $('vc-r-hardness').innerHTML = isNaN(hardness) ? '\u2014' :\n            (hardnessOK ? '<span class=\"vc-status-pass\">PASS<\/span>' : '<span class=\"vc-status-fail\">FAIL<\/span>') +\n            ' <span class=\"vc-rcard-unit\">(' + fmt(hardness,1) + ' \/ ' + rule.maxHRC + ' HRC max)<\/span>';\n\n        \/\/ Yield check\n        var yieldOK = true;\n        if (rule.maxYield && !isNaN(yld) && yld > rule.maxYield) {\n            yieldOK = false;\n            issues.push('Yield strength ' + fmt(yld,0) + ' MPa exceeds limit of ' + rule.maxYield + ' MPa');\n        }\n        $('vc-r-yield').innerHTML = (rule.maxYield === null) ? '<span class=\"vc-rcard-unit\">N\/A for this material type<\/span>' :\n            (isNaN(yld) ? '\u2014' :\n            (yieldOK ? '<span class=\"vc-status-pass\">PASS<\/span>' : '<span class=\"vc-status-fail\">FAIL<\/span>') +\n            ' <span class=\"vc-rcard-unit\">(' + fmt(yld,0) + ' \/ ' + rule.maxYield + ' MPa max)<\/span>');\n\n        $('vc-r-part').innerHTML = rule.part;\n        $('vc-r-mechanisms').innerHTML = '<span style=\"font-size:16px\">' + rule.mechanisms.join(', ') + '<\/span>';\n\n        \/\/ Sour service domain\n        var domain = 'Unknown';\n        if (!isNaN(ph2s)) {\n            if (ph2s < 0.3) domain = 'Non-sour (pH\u2082S < 0.3 kPa)';\n            else if (ph2s < 1.0) domain = 'SSC Region 0 (low severity)';\n            else if (ph2s < 10) domain = 'SSC Region 1 (moderate)';\n            else domain = 'SSC Region 2\u20133 (severe)';\n        }\n        $('vc-r-domain').innerHTML = '<span style=\"font-size:16px\">' + domain + '<\/span>';\n\n        \/\/ Special conditions\n        if (matType === 'duplex' && !isNaN(temp) && temp > 232) {\n            issues.push('Duplex SS limited to max ~232 \u00b0C (450 \u00b0F) in sour service');\n        }\n        if (matType === 'austenitic' && !isNaN(temp) && temp > 60) {\n            details.push('Austenitic SS susceptible to chloride SCC above ~60 \u00b0C \u2014 verify chloride content.');\n        }\n        if (matType === 'martensitic') {\n            details.push('Martensitic SS has very limited applicability in sour service. Consider duplex or Ni alloy alternatives.');\n        }\n        if (!isNaN(ph) && ph < 3.5) {\n            details.push('Very low pH (<3.5) \u2014 increased corrosion and cracking risk. Higher-grade CRA may be needed.');\n        }\n\n        \/\/ Overall verdict\n        var allOK = hardnessOK && yieldOK && issues.length === 0;\n        var verdictText, verdictClass;\n        if (!isNaN(ph2s) && ph2s < 0.3) {\n            verdictText = 'NON-SOUR ENVIRONMENT';\n            verdictClass = 'vc-status-pass';\n            details.push('H\u2082S partial pressure < 0.3 kPa \u2014 may not require NACE compliance. Verify per project spec.');\n        } else if (allOK) {\n            verdictText = 'PRELIMINARY PASS';\n            verdictClass = 'vc-status-pass';\n        } else {\n            verdictText = 'DOES NOT MEET REQUIREMENTS';\n            verdictClass = 'vc-status-fail';\n        }\n\n        $('vc-r-verdict').innerHTML = '<span class=\"' + verdictClass + '\">' + verdictText + '<\/span>';\n\n        \/\/ Details\n        var detailHTML = '<strong>Notes & Conditions:<\/strong><ul>';\n        if (issues.length > 0) issues.forEach(function(i) { detailHTML += '<li style=\"color:var(--vc-red)\">' + i + '<\/li>'; });\n        if (details.length > 0) details.forEach(function(d) { detailHTML += '<li>' + d + '<\/li>'; });\n        detailHTML += '<li>Weld zones, HAZ, and cold-worked regions require separate hardness verification.<\/li>';\n        detailHTML += '<li>Full compliance requires review of the complete ISO 15156 standard including environmental limits (temperature, pH, chloride, sulfur).<\/li>';\n        detailHTML += '<\/ul>';\n        $('vc-r-details').innerHTML = detailHTML;\n\n        $('vc-results').classList.add('vc-visible');\n    }\n\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'H2S Sour Service Material Checkn\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501n' +\n            'Material: ' + $('vc-mattype').options[$('vc-mattype').selectedIndex].text + 'n' +\n            'Hardness: ' + $('vc-hardness').value + ' HRC \u2192 ' + $('vc-r-hardness').textContent + 'n' +\n            'Yield: ' + $('vc-yield').value + ' MPa \u2192 ' + $('vc-r-yield').textContent + 'n' +\n            'H2S: ' + $('vc-ph2s').value + ' kPa, pH: ' + $('vc-ph').value + 'n' +\n            'Verdict: ' + $('vc-r-verdict').textContent + 'n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501nvibromera.eu';\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn'); btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() { btn.classList.remove('vc-copied'); btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy'; }, 2000);\n            });\n        }\n    });\n\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', section.classList.contains('vc-open'));\n        });\n    });\n\n    var faqData = [\n        { q: 'What defines \"sour service\"?', a: '<p>Per NACE MR0175\/ISO 15156, sour service applies when the H\u2082S partial pressure exceeds 0.3 kPa (0.05 psi) in aqueous environments. Above this threshold, materials must be qualified for resistance to sulfide stress cracking.<\/p>' },\n        { q: 'Why is 22 HRC the hardness limit for carbon steel?', a: '<p>Below 22 HRC, carbon and low-alloy steels are generally resistant to SSC because the microstructure (ferrite\/pearlite) does not trap hydrogen as readily as harder martensite-containing structures. This is the established engineering limit from decades of field experience.<\/p>' },\n        { q: 'Can I use 316 stainless in sour service?', a: '<p>Yes, austenitic stainless steels (316, 304) are generally acceptable per ISO 15156-3, provided hardness is \u226422 HRC. However, be aware of chloride SCC risk above ~60 \u00b0C and sensitization issues. Cold-worked austenitic SS has additional restrictions.<\/p>' },\n        { q: 'What about weld zones?', a: '<p>Weld metal and heat-affected zones (HAZ) often have different hardness than the base metal. NACE\/ISO 15156 requires that welds also meet hardness limits (often 22 HRC for carbon steel). PWHT may be required.<\/p>' }\n    ];\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) {\n        var btn = e.target.closest('.vc-faq-q'); if (!btn) return;\n        btn.closest('.vc-faq-item').classList.toggle('vc-open');\n    });\n\n    calculate();\n})();\n<\/script>\n<!-- \/wp:html --><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>ISO 15156 \/ NACE MR0175 \u0985\u09a8\u09c1\u09af\u09be\u09af\u09bc\u09c0 \u09ac\u09bf\u09a8\u09be\u09ae\u09c2\u09b2\u09cd\u09af\u09c7 \u0985\u09a8\u09b2\u09be\u0987\u09a8 H\u2082S sour service \u0989\u09aa\u0995\u09b0\u09a3 \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u09b8\u09b0\u099e\u09cd\u099c\u09be\u09ae\u0964 \u0995\u09be\u09b0\u09cd\u09ac\u09a8 \u09b8\u09cd\u099f\u09bf\u09b2, \u09b8\u09cd\u099f\u09c7\u0987\u09a8\u09b2\u09c7\u09b8, \u09a1\u09c1\u09aa\u09cd\u09b2\u09c7\u0995\u09cd\u09b8, \u09a8\u09bf\u0995\u09c7\u09b2 \u09b8\u0982\u0995\u09b0 \u09a7\u09be\u09a4\u09c1\u09b0 \u0995\u09a0\u09cb\u09b0\u09a4\u09be, \u09ab\u09b2\u09a8 \u09b6\u0995\u09cd\u09a4\u09bf \u098f\u09ac\u0982 \u09aa\u09b0\u09bf\u09ac\u09c7\u09b6\u0997\u09a4 \u09b8\u09c0\u09ae\u09be \u09aa\u09b0\u09c0\u0995\u09cd\u09b7\u09be \u0995\u09b0\u09c1\u09a8\u0964<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100122","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":5,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100122\/revisions"}],"predecessor-version":[{"id":100845,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100122\/revisions\/100845"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}