carbonation
Summary
Modified analytical solution of Fick’s law (square root of time)
Proportional constant is modified by material properties and exposure environments
Resistance: cover depth
Load: carbonation depth
limit-state: carbonation depth >= cover depth
Field data: carbonation depths (repeated measurements)
- carbonation.C_S(C_S_emi=0)[source]
Calculate CO2 density[kg/m^3] in the environment; it is about 350-380 ppm in the atm plus other source or sink
- Parameters:
C_S_emi (additional emission, positive or negative(sink), default is 0) –
- Returns:
CO2 density in kg/m^3
- Return type:
float
- class carbonation.CarbonationModel(pars)[source]
Bases:
object
- calibrate(t, carb_depth_field, print_out=False)[source]
Calibrate the model with field data and return a new calibrated model instance.
- carbonation.R_ACC_0_inv(pars)[source]
Calculate R_ACC_0_inv[(mm^2/year)/(kg/m^3)], the inverse effective carbonation resistance of concrete(accelerated) From ACC test or from existing empirical data interpolation for orientation purpose test condition: duration time = 56 days CO2 = 2.0 vol%, T =25 degC RH_ref =65
- Parameters:
pars.x_c (float) – Measured carbonation depth in the accelerated test [m]
pars.option.choose (bool) – If True, choose to use interpolation method
pars.option.df_R_ACC (pandas.DataFrame) – Data table for interpolation, loaded by function load_df_R_ACC, interpolated by function interp_extrap_f
- Returns:
out – Calculated inverse effective carbonation resistance [mm^2/year)/(kg/m^3] with sample number = N_SAMPLE (defined globally)
- Return type:
numpy arrays
Notes
Pay special attention to the units in the source code
- carbonation.W_t(t, pars)[source]
Calculate weather parameter W, a parameter considering the meso-climatic conditions due to wetting events of concrete surface
- Parameters:
t (float) – Time [years]
pars (object) – Instance of Param class containing the following attributes:
pars.ToW (float) – Time of wetness [-], calculated as (days with rainfall h_Nd >= 2.5 mm per day)/365
pars.p_SR (float) – Probability of driving rain [-], 1.0 for vertical surface, 0.0 for horizontal or interior surfaces
pars.b_w (float) – Exponent of regression [-], normally distributed with mean=0.446 and standard deviation=0.163
pars.t_0 (float) – Time of reference [years] [built-in param]
- Returns:
Weather parameter array W
- Return type:
numpy array
- carbonation.calibrate_f(model_raw, t, carb_depth_field, tol=1e-06, max_count=50, print_out=True)[source]
Calibrate the carbonation model with field carbonation test data [mm] and return the new calibrated model. Optimization method: searching for the best accelerated test carbonation depth x_c[m] so the model matches field data on the mean value of the carbonation depth)
- Parameters:
model_raw (object) – Instance of the CarbonationModel class, mutable (a deepcopy will be used in this function).
t (float or int) – Survey time, age of the concrete [years].
carb_depth_field (numpy array) – Field carbonation depths at time t [mm].
tol (float, optional) – Accelerated carbonation depth x_c optimization tolerance, default is 1e-5 [mm].
max_count (int, optional) – Maximum number of searching iterations, default is 50.
print_out (bool, optional) – Flag to print out the results, default is True.
- Returns:
New calibrated model instance.
- Return type:
object
- carbonation.carb_depth(t, pars)[source]
Calculate carbonation depth at a given time based on the parameters. The derived parameters (including the k constant of sqrt of time) are also calculated within this function.
Caution: The pars instance is mutable,so a deepcopy of the original instance should be used if the calculation is not intended for “inplace”.
- Parameters:
t (time [year]) –
pars (object/instance of wrapper class (empty class)) – a wrapper of all material and environmental parameters deep-copied from the raw data
- Returns:
xc_t
- Return type:
carbonation depth at time t [mm]
Note
intermediate parameters calculated and attached to
pars k_e : environmental function [-]
k_c : execution transfer parameter [-]
account for curing measures
k_t : regression parameter [-]
R_ACC_0_inv: inverse effective carbonation resistance of concrete(accelerated) [(mm^2/year)/(kg/m^3)] eps_t : error term [-]
C_S : CO2 concentration [\(kg/m^3\)]
W_t : weather function [-]
k : constant before the sqrt of time(time[year], carbonation depth[mm]) [mm/year^0.5] typical value of k =3~4 for unit mm,year [https://www.researchgate.net/publication/272174090_Carbonation_Coefficient_of_Concrete_in_Dhaka_City]
- carbonation.carb_year(model, year_lis, plot=True, amplify=80)[source]
Run the model over time and plot the results.
- carbonation.eps_t()[source]
Calculate error term, eps_t[(mm^2/years)/(kg/m^3)], considering inaccuracies which occur conditionally when using the ACC test method k_t[-]
Notes
for R_ACC_0_inv[(mm^2/years)/(kg/m^3)]
- carbonation.k_c(pars)[source]
calculate k_c: execution transfer parameter [-], effect of period of curing for the accelerated carbonation test
- Parameters:
pars.t_c (float) – Period of curing [d]
b_c ([built-in] exponent of regression [-]) –
- normal distribution, m: -0.567
s: 0.024
- Returns:
Calculated execution transfer parameter k_c[-]
- Return type:
float
- carbonation.k_e(pars)[source]
Calculate k_e[-], environmental factor, effect of relative humidity
- Parameters:
pars.RH_ref (float) – Reference relative humidity 65 [%]
g_e (2.5 [-]) –
f_e (5.0 [-]) –
- Returns:
Calculated environmental factor k_e[-]
- Return type:
float