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.

carb_with_year(year_lis, plot=True, amplify=80)[source]

Run the model over time and return lists of pf and beta values.

copy()[source]

Create a deep copy of the model.

postproc(plot=False)[source]

Post-process the model results.

run(t)[source]

Run the model for the given time t [year].

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

carbonation.k_t()[source]

Calculate test method regression parameter k_t[-]

Notes

for R_ACC_0_inv[(mm^2/years)/(kg/m^3)]

carbonation.load_df_R_ACC()[source]

load the data table of the accelerated carbonation test for R_ACC interpolation.

Returns:

Dataframe containing the accelerated carbonation test data.

Return type:

pandas.DataFrame

Notes

w/c 0.45 cemI is comparable to ACC of 3 mm.