carbonation module example
Raw parameter data
initialize model
run model
calibrate model
[1]:
%matplotlib inline
import rational_rc.math_helper as mh
import numpy as np
from rational_rc.carbonation import CarbonationModel, load_df_R_ACC
import warnings
warnings.filterwarnings('ignore')
[2]:
# Case study
# global - Raw parameters
class Param: pass
pars = Param()
pars.cover_mean = 50 # mm
pars.cover_std = 5
pars.RH_real = 60
pars.t_c = 28
pars.x_c = 0.008 # m
pars.ToW = 2 / 52.
pars.p_SR = 0.0
pars.C_S_emi = 0.
pars.option = Param()
pars.option.choose = False
pars.option.cement_type = 'CEM_I_42.5_R+SF'
pars.option.wc_eqv = 0.6
pars.option.df_R_ACC = load_df_R_ACC()
pars.option.plot = True
# initialize model
carb_model = CarbonationModel(pars)
# run and postproc model
carb_model.run(50)
carb_model.postproc(plot=True)
Pf(g = R-S < 0) from various methods
sample count: 0.0002801765112020573
g integral: 0.0002917484548932361
R S integral: 0.00029599264280921885
beta_factor: 3.4712588702355798
26.05717069754217 0.00013466345694328508

[3]:
# calibration to field data
# field data: field carbonation after 20 years, mean=30, std=5
carb_depth_field = mh.normal_custom(30, 5, n_sample=12) # mm
carb_model_cal = carb_model.calibrate(20, carb_depth_field, print_out=True)
carb_depth:
model:
mean:27.23479040962906
std:5.768125604782681
field:
mean:27.256573297275093
std:3.585642420333089
[4]:
# carbonation for a list of time steps
year_lis = np.arange(10,150,20)
pf_lis, beta_lis = carb_model_cal.carb_with_year(year_lis=year_lis, plot=True, amplify=200)
warning: very small Pf

[5]:
# fig.savefig('RS_time_carbonation.pdf',dpi=1200)
[ ]: