Concrete Compressive Strength Calculator
ANA›Life Services Authority›National Calculator Authority›Concrete Compressive Strength Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Concrete Compressive Strength Calculator
Estimate the compressive strength of concrete based on the water-to-cement ratio and curing age using Abrams' Law combined with a maturity (age) factor.
Water-to-Cement Ratio (w/c) (dimensionless, 0.3 – 0.8)
Cement Type
Type I – Ordinary Portland (OPC) Type III – High Early Strength Type II – Moderate Sulfate Resistance Type IV – Low Heat of Hydration
Curing Age (days, 1 – 365)
Output Unit
MPa psi
Calculate
Fill in the fields above and click Calculate.
function conCalc() { var resultDiv = document.getElementById("con-result");
// --- Read inputs --- var wc = parseFloat(document.getElementById("con-wc-ratio").value); var age = parseFloat(document.getElementById("con-age").value); var ctype = document.getElementById("con-cement-type").value; var unit = document.getElementById("con-unit").value;
// --- Validation --- var errors = []; if (isNaN(wc) || wc 0.8) { errors.push("Water-to-cement ratio must be between 0.30 and 0.80."); } if (isNaN(age) || age 365) { errors.push("Curing age must be between 1 and 365 days."); } if (errors.length > 0) { resultDiv.innerHTML = "Input Error:" + errors.join("") + ""; return; }
// --- Abrams' Law constants (A, B) for 28-day reference strength (MPa) --- // f'c_28 = A / B^(w/c) // Constants calibrated so that w/c=0.45 → ~35 MPa for Type I at 28 days // Source: Neville, A.M. "Properties of Concrete", 5th Ed. var constants = { type1: { A: 96.5, B: 8.2 }, // OPC type3: { A: 110.0, B: 8.2 }, // High Early Strength (~15% stronger) type2: { A: 90.0, B: 8.2 }, // Moderate SR (~7% lower) type4: { A: 80.0, B: 8.2 } // Low Heat (~17% lower) };
var A = constants[ctype].A; var B = constants[ctype].B;
// --- 28-day compressive strength via Abrams' Law (MPa) --- // f'c_28 = A / (B ^ (w/c)) var fc28 = A / Math.pow(B, wc);
// --- Age (maturity) factor --- // Based on ACI 209R-92 / CEB-FIP model: // f'c(t) = f'c_28 * [t / (a + b*t)] // Type I : a=4.0, b=0.85 (standard cure) // Type III: a=2.3, b=0.92 (faster early gain) // Type II : a=5.0, b=0.83 // Type IV : a=6.5, b=0.80 var ageParams = { type1: { a: 4.0, b: 0.85 }, type3: { a: 2.3, b: 0.92 }, type2: { a: 5.0, b: 0.83 }, type4: { a: 6.5, b: 0.80 } };
var a = ageParams[ctype].a; var b = ageParams[ctype].b;
// Age factor normalised so that at t=28 it equals 1.0 var ageFactor28 = 28 / (a + b * 28); var ageFactorT = age / (a + b * age); var normFactor = ageFactorT / ageFactor28; // ratio relative to 28-day
// --- Final compressive strength at age t --- var fct_MPa = fc28 * normFactor;
// --- Unit conversion --- var fct_display, unitLabel; if (unit === "psi") { fct_display = (fct_MPa * 145.038).toFixed(0); unitLabel = "psi"; var fc28_display = (fc28 * 145.038).toFixed(0); } else { fct_display = fct_MPa.toFixed(2); unitLabel = "MPa"; var fc28_display = fc28.toFixed(2); }
// --- Strength classification (ACI 318) --- var classification; if (fct_MPa 55 MPa / 8000 psi) – high-performance concrete"; }
// --- Tensile strength estimate (ACI 318-19 §19.2.3.1) --- // fr = 0.62 * lambda * sqrt(f'c) [MPa] (modulus of rupture, lambda=1 normal weight) var fr_MPa = 0.62 * Math.sqrt(fct_MPa); var fr_display, fr_unit; if (unit === "psi") { fr_display = (fr_MPa * 145.038).toFixed(0); fr_unit = "psi"; } else { fr_display = fr_MPa.toFixed(2); fr_unit = "MPa"; }
// --- Elastic modulus (ACI 318-19 §19.2.2.1) --- // Ec = 4700 * sqrt(f'c) [MPa] (normal-weight concrete, wc ≈ 2300 kg/m³) var Ec_MPa = 4700 * Math.sqrt(fct_MPa); var Ec_display, Ec_unit; if (unit === "psi") { Ec_display = (Ec_MPa * 145.038 / 1000).toFixed(0); Ec_unit = "ksi"; } else { Ec_display = (Ec_MPa / 1000).toFixed(2); Ec_unit = "GPa"; }
// --- Output --- resultDiv.innerHTML = "Results" + "" + "28-Day Reference Strength (f'c₂₈)" + "" + fc28_display + " " + unitLabel + "" + "Age Factor at " + age + " days" + "" + normFactor.toFixed(4) + "" + "Compressive Strength at " + age + " days (f'c)" + "" + fct_display + " " + unitLabel + "" + "Modulus of Rupture (fr)" + "" + fr_display + " " + fr_unit + "" + "Elastic Modulus (Ec)" + "" + Ec_display + " " + Ec_unit + "" + "Classification: " + classification + "" + ""; }
#### Formulas Used
1. Abrams' Law – 28-Day Compressive Strength
f'c₂₈ = A / B(w/c)
Where A and B are empirical constants that depend on cement type, and w/c is the water-to-cement ratio by mass.
2. Age (Maturity) Factor – ACI 209R-92
f'c(t) = f'c₂₈ × [t / (a + b·t)] / [28 / (a + b·28)]
Where t is the curing age in days, and a, b are cement-type constants.
3. Modulus of Rupture – ACI 318-19 §19.2.3.1
fr = 0.62 · λ · √f'c(t) [MPa] (λ = 1.0 for normal-weight concrete)
4. Elastic Modulus – ACI 318-19 §19.2.2.1
Ec = 4700 · √f'c(t) [MPa] (normal-weight concrete, wc ≈ 2300 kg/m³)
Cement Type Constants
Cement Type A (MPa) B a b
Type I (OPC) 96.5 8.2 4.0 0.85
Type III (High Early) 110.0 8.2 2.3 0.92
Type II (Mod. SR) 90.0 8.2 5.0 0.83
Type IV (Low Heat) 80.0 8.2 6.5 0.80
#### Assumptions & References
- The age factor model follows ACI 209R-92 (Prediction of Creep, Shrinkage, and Temperature Effects in Concrete Structures) assuming standard moist curing at 23 °C (73 °F).
- Elastic modulus formula is from ACI 318-19 §19.2.2.1, valid for normal-weight concrete (unit weight ≈ 2300 kg/m³ / 145 lb/ft³).
- Modulus of rupture formula is from ACI 318-19 §19.2.3.1 with λ = 1.0 (normal-weight concrete).
- Empirical constants A and B are calibrated from: Neville, A.M. (2011). Properties of Concrete, 5th Edition. Pearson.
- This calculator provides estimates only. Actual strength must be verified by laboratory cylinder/cube testing per ASTM C39 or BS EN 12390-3.
More Calculators
- Janitorial Staff Hourly Labor Cost Calculator
- Janitorial Contract Bid Price Calculator
- IP Licensing Royalty Rate Estimator
- Junk Removal Cost Estimator
- Copyright Duration Calculator
- Drip Irrigation Flow Rate Calculator
- Eviction Cost Estimator
- Pool Construction Cost Estimator
- Pool Resurfacing Cost Calculator
- Cyanuric Acid Dilution Calculator
- Pool Service Route Profitability Calculator
- Pool Fence Material Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...