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
../_images/tutorials_carbonation_example_2_1.png
[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
../_images/tutorials_carbonation_example_4_1.png
[5]:
# fig.savefig('RS_time_carbonation.pdf',dpi=1200)

[ ]: