Published
Edited
Mar 4, 2021
1 star
Insert cell
Insert cell
Insert cell
Insert cell
test_material = ({
Ecm: 24.85, // GPa, Fc_4
fcm: 40, // MPa; used by CEB-FIP 90 / fib MC2010 only but not implemented in LARSA 4D
cement_type: "32.5 N", // Choices: "32.5 N", "32.5 R", "42.5 N"
})
Insert cell
test_environment = ({
temperature: 20 // Celcius (20C gives no temperature effect in CEB-FIP 78, 90/2010, and EN1992-1-1:2004)
})
Insert cell
Insert cell
table([
{ Code: "LARSA 4D Built-in Curve",
"Day 10": Built_in_curve(test_material, test_environment, 10),
"Day 150": Built_in_curve(test_material, test_environment, 150)
},
{ Code: "CEB-FIP 78",
"Day 10": ceb_fip_78(test_material, test_environment, 10),
"Day 150": ceb_fip_78(test_material, test_environment, 150)
},
{ Code: "CEB-FIP 90/2010",
"Day 10": ceb_fip_90_and_2010(test_material, test_environment, 10),
"Day 150": ceb_fip_90_and_2010(test_material, test_environment, 150)
},
{ Code: "EN1992-1-1:2004",
"Day 10": en1992_1_1_2004(test_material, test_environment, 10),
"Day 150": en1992_1_1_2004(test_material, test_environment, 150)
}
],
{ columns: {
"Day 10": { formatter: (val, i) => Math.round(val*10)/10 },
"Day 150": { formatter: (val, i) => Math.round(val*10)/10 },
}}
)
Insert cell
Insert cell
Insert cell
Insert cell
Built_in_curve = function(material, environment, t) {
if (t < 0) return 0;
if (t <= 28)
return material.Ecm * (t / (4 + 0.857 * t))**0.5;
return material.Ecm;
}


Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
ceb_fip_78 = function(material, environment, t) {
let fck_infinity_fck = 0.1314*Math.log(28)+0.175;
let fck_infinity = ((material.Ecm/9.5/1.25)**3-8)/fck_infinity_fck;
let t_adjusted = ((environment.temperature+10)*t)/30; //e.8
let f_cm_t = (0.1314*Math.log(t_adjusted)+0.175)*fck_infinity + 8; // from figure e.1 and [2.1]
return 1.25*9.5*(f_cm_t**(1/3));
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
ceb_fip_90_and_2010 = function(material, environment, t) {
let t_adj = t_adjusted(environment, t);
let s; // taken from explanation of eq (2.1-54)
if (material.fcm > 60)
s = 0.20; // this is not implemented in LARSA 4D
else if (material.cement_type == "32.5 N")
s = 0.38;
else if (material.cement_type == "32.5 R" || material.cement_type == "42.5 N")
s = 0.25;
else
s = 0.20;
let beta_cc = Math.exp(s*(1-(28/t_adj)**(0.5))); // eq(2.1-54)
let beta_e = beta_cc**0.5; // eq(2.1-58)
return beta_e*material.Ecm; // eq(2.1-57)
}
// eq numbers is taken from CEB-FIP 90
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
en1992_1_1_2004 = function(material, environment, t) {
let t_adj = t_adjusted(environment, t);

let s;
if (material.cement_type == "32.5 N")
s = 0.38;
else if (material.cement_type == "32.5 R" || material.cement_type == "42.5 N")
s = 0.25;
else
s = 0.20;

let beta_cc = Math.exp(s*(1-(28/t_adj)**(0.5)));
// f_cm_t normally calculated here as beta_cc multiplies by Fcm,
// but it is would be divided by Fcm in the next step.
return material.Ecm * beta_cc**0.3;
}

// According to the explanation given for equation (B10), located at Annex B, temperature adjusted concrete age is replaced by t_T in the equation (3.2).
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more