Published
Edited
1 fork
Insert cell
Insert cell
chart({
xAxis: {
title: "time (days)",
min:0.1,
max:400
},
yAxis: {
title: "Elastic Modulus (Gpa)",
min:0,
max:50
},

series: [
{ points: t => Built_in_curve(35000, t), color: 'red'},
{ points: t => ceb_fip_78 ({ fcm: 40, Ecm: 35000, fck_infinity: 52.21491827, temperature: 20 }, t_adjusted1 ({temperature: 20, t})), color: 'green' },
{ points: t => ceb_fip_90_and_2010 ({ fcm: 40, cement_type: "32.5 N", Ecm: 35000, temperature: 20 }, t_adjusted ({temperature: 20, t})), color: 'orange'},
{ points: t => en1992_1_1_2004 ({ fcm: 40, cement_type: "32.5 N", Ecm: 35000, temperature: 20, t }, t_adjusted ({temperature: 20, t})), color: 'blue' },
],
})

// Both Ecm and fcm values are taken for an age of 28 days.

Insert cell
Insert cell
Insert cell
Built_in_curve = function(Ecm, t) {
return (Ecm*(t / (4 + 0.857 * t))**0.5)/1000;
}


Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
t_adjusted1 = function(material) {
return ((material.temperature+10)*material.t)/30;
}
Insert cell
ceb_fip_78 = function(material, t_adjusted1) {
let f_cm_t = ((0.1314*Math.log(t_adjusted1)+0.175)*material.fck_infinity)+8;
return 1.25*(9.5*(f_cm_t)**(1/3));
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
t_adjusted = function(material) {
return Math.exp(13.65-4000/(273 + material.temperature))*material.t ;
}


//same time adjusted function is used for both ceb_fip_90_and_2010 and en1992_1_1_2004.
Insert cell
ceb_fip_90_and_2010 = function(material,t_adjusted) {
let s;
if (material.fcm >60 )
s=0.20;
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
0.20;
let beta_cc = Math.exp(s*(1-(28/t_adjusted)**(0.5)));
let beta_e = beta_cc**0.5;
return (beta_e*material.Ecm)/1000;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
en1992_1_1_2004 = function(material, t_adjusted) {
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
0.20;

let beta_cc = Math.exp(s*(1-(28/t_adjusted)**(0.5)));
let f_cm_t = beta_cc*material.fcm;
return (material.Ecm*((beta_cc)**0.3))/1000;
}

// 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

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