Concrelife: A Software to Solve the Chloride Penetration in Saturated and Unsaturated Reinforced Concrete

: This paper presents new software (Concrelife) capable of reliably simulating chloride ions penetration in reinforced concrete from different environments in the most common 1-D rectangular geometry scenarios. Its numerical solution is obtained from the simulation of models whose structure is based on Network Simulation Method. These models are generated by the program itself and run in the powerful free code NgSpice. The mathematical model of the problem includes the formation of bound chloride, precipitated chloride, reduction of porosity, saturated and unsaturated conditions, etc. All this allows tackling all kinds of scenarios, such as successive changes in concentration and temperature at the boundary, wet-drying cycles, washing of structures, etc. Concrelife has been developed with a pleasant window environment, intuitive and easy for a user not expert in numerical techniques, both for the introduction of data and for the graphic representation of the results, which include the spatial and temporal concentration of all species of chloride, porosity, water content in pores etc. To test and verify the results of the software, applications are presented to real scenarios.


Introduction
Most of the civil engineering constructions are made with steel reinforced concrete. Pillars and boards of bridges, ports, oil extraction offshore facilities, etc., they are all types of structures that are frequently subjected to external liquid or gaseous environments which contain corrosive contaminants. These pollutants penetrate the concrete through different physical mechanisms (diffusion, advection, migration, capillarity ...) and, once they reach the reinforcement and overcome a certain concentration threshold, due to the alkalinity of the hydration concrete products, they break the current state of passivation of the steel and start up the armor corrosion [1][2][3][4][5][6]. This is what is generally called the first stage of the corrosion process [3,4,6]. The second stage begins at this point, with the formation of tiny bites in the steel, and continues with the appearance of chemical corrosion products that, in their expansion, cause large stresses in the concrete bulk that end in increase cracks and fractures that finally lead to the mechanical collapse of the structure [2][3][4].
As in other fields of engineering, the use of specific programs has already become a necessity because, above all, it avoids the enormous economic and time-saving cost that would require solving these problems without analytical solution through experimental techniques. This is particularly true in the problems of penetration of chlorides in concrete in which experimental tests can last for years in many cases. We focus this work on the presentation of Concrelife [7], a new numerical software for solving the problem of chloride diffusion in reinforced concretes. The program, whose models are based on the Network Simulation Method [8][9][10], is able to approach the most common 1-D rectangular domains, Table 1. Mathematical model of transport in saturated concrete.

Heat transport:
Equations (1) to (4), Table 1 Chloride transport: Governing equation: Equation (6), (7) and (9) to (12)  The chloride transport is ruled by a nonlinear diffusion Equation (5) in which two variables are involved, the chloride concentration and the pore solution content. In the chloride transport, C f,s , C f,c and C t,c are variables that represent the free chloride concentration at the solution (kg/m 3 solution), the free chloride concentration at the concrete (kg/m 3 concrete) and the total chloride concentration at the concrete (kg/m 3 concrete) while C b and C p are the bound and precipitated chloride concentration at the concrete (kg/m 3 concrete). These chlorides are related by the definition (6) and the total chloride (mass) conservation (7). φ l , the pore solution content (m 3 of solution/m 3 of concrete) is related by bound and precipitate chlorides by Equation (8) where φ o is initial porosity (m 3 of pores/m 3 of concrete), and ρ F and ρ p.s the densities of Friedel's salt (1892 kg/m 3 of concrete) and precipitate (2165 kg/m 3 of concrete). C f,s,sat is the saturate concentration of the chloride solution to start the precipitation whose rate is given by Equation (9). This parameter (C f,s,sat ) depends on temperature according to the expression [34], Equation (10), with C S NaCl (mol/g of water) the chloride content in a saturated solution, also temperature dependent in the form of Equation (11) [34][35][36], with T in • C. In Equation (10), M NaCl and M Cl are the molecular weight of NaCl and Cl, respectively, ρ 0 l the density of pure water at 20 • C (ρ 0 l = 998.2 kg/m 3 ), ε a correlation dimensional coefficient (6.46 × 10 −4 m 3 /kg, [36]) and ∆ρ T l the change in water density with temperature ( • C) given by Equation (12) [35]. The dependence of D c on temperature is given by Equation (13), the only coupling with heat transport, with E a the activation energy of the NaCl (20 kJ according [37]. As for the dependence between C b and C f,c , the well-known expressions of linear, Langmuir and Freundlich isotherms, Equations (14a) to (14d), are assumed. Each of them with their specific coefficients: K (m 3 of concrete per kg de chloride) an equilibrium constant for Langmuir models, C b,o (kg/m 3 concrete) the maximum bounded chloride ion concentration at the concrete, and α (dimensionless) and β (m 3 concrete/kg) α−1 constants at the Freundlich expressions. Finally, Equations (15) and (16) show the boundary conditions, with C o the free chloride concentration at the surrounding liquid, while Equations (17) and (18) are the initial condition for chloride and pore solution content, with C f,s,i the initial free chloride concentration in the solution (kg/m 3 solution) and C f,c,i the initial free chloride concentration at the concrete (kg/m 3 concrete). Finally, φ o is the initial porosity of the concrete. Table 2 and Figure 2 show the mathematical model [1,21,24,27,[31][32][33]38,39].  Table 2. Mathematical model of transport in water-unsaturated concrete.

Heat transport:
Equations (1) to (4), Table 1 Chloride transport: Governing equation: Equation (6), (7) and (9) to (12) Equations (14a) to (14d), Table 1 (water-saturated) Boundary conditions: Equations (15) and (16) Mathematics 2022, 10, 4810 7 of 27 In these expressions,  and  are temperature dependent functions named capillary moduli (Pa), while a to a are dimensionless constants that depend on the material. Despite the third adapts better to the experimental results and collects the effects of hysteresis, the first has been chosen to approach p in Concrelife, Equation (26), because the three dependencies solutions are almost identical [27,40,42]. This capillary pressure in the medium has as a boundary condition-the one caused by the relative humidity of the environment (p , ), difference between the total (external) and atmospheric pressures. Its value is given by the expression (26), with h the relative humidity of the surrounding atmosphere and m , the mass of one mole of water vapor. For the isotherms as well as the boundary and initial concentration conditions, the same expressions of the saturated transport are assumed, i.e., Equations (11a) to (11d) for the first and (15) to (17) for the second. In addition, a new condition is required for the capillary pressure at the boundary (h , ), Equation (28), and for the initial values of porosity (ϕ ) and pore water content (ϕ , ), Equations (29) and (30), respectively. Geometry and boundary conditions for the problem of water-unsaturated concrete. Nomenclature: Cf,s is the free chloride concentration in the solution (kg/m 3 solution), Cf,s,i is the initial free chloride concentration in the solution (kg/m 3 solution), Co is the free chloride concentration at the surrounding liquid (kg/m 3 solution), hr is the relative humidity of the surrounding atmosphere, L is the concrete structure length (m), Ta is the initial temperature (°C), T , is the external temperature (°C), x is the position (m), ϕo is the initial porosity (m 3 of pores/m 3 of concrete) and ϕ , is the initial pore water content.

The Code Concrelife
The purpose of this software is to obtain numerical solutions to the problem of chloride transport in reinforced concrete, water-saturated or not, under the hypothesis of the existence of bound and precipitated chlorides, taking into account the thermal dependencies of the different coefficients involved in the process. In order to make its design simple and intuitive, a user communication environment has been designed through Windows (for XP, Vista, 7, 8 and 10 operating systems) using Matlab ® [43]. This allows a progressive access to each of the steps necessary for the simulation. The very complete and powerful graphic application of this code is also used to represent the different types of curves of the solution.
The numerical calculation is conducted using models whose designs are based on the Network Simulation Method [8,10] and shown in [44], a tool that takes advantage of the Geometry and boundary conditions for the problem of water-unsaturated concrete. Nomenclature: C f,s is the free chloride concentration in the solution (kg/m 3 solution), C f,s,i is the initial free chloride concentration in the solution (kg/m 3 solution), C o is the free chloride concentration at the surrounding liquid (kg/m 3 solution), hr is the relative humidity of the surrounding atmosphere, L is the concrete structure length (m), T a is the initial temperature ( • C), T (S ext,iso ) is the external temperature ( • C), x is the position (m), φ o is the initial porosity (m 3 of pores/m 3 of concrete) and φ l,o is the initial pore water content.
For water-unsaturated concretes, the pore solution content (φ l ) and the porosity (φ) take different value so the latter is a new variable in the governing equations, as well as the capillary pressure (nonexistent in the saturated problem), the potential quantity that causes advection or drag flow (suction). The heat transfer is governed by the same set of equations as for the water-saturated case, (1) to (4), and its solution is also obtained numerically, regardless of the transport of chloride. The chloride transport is ruled by Equations (19) and (20) [1,21,24,27,[31][32][33]38,39], the last reduced to ∇T under the hypothesis of incompressible liquid solution. Equation (19) replaces Equation (5) of the water-saturated case and is more complex because of the changes in porosity (φ) while Equation (20) replaces the hypothesis φ = φ l of the saturated case (not expressly collected in its mathematical model). The last is the result of replacing the flow veloc- ∂t + ∇·(ρ l v) = 0 after some mathematical manipulations. The new parameters and quantities that emerge in these equations, k (m 2 ), ν l (Nm −1 s −1 ), ρ l (kg/m 3 ) y p c (Pa) are the permeability of the concrete, the dynamic viscosity, the density of the fluid and the capillary pressure, respectively. As regards their values, k is assumed to be dependent on φ and φ l according to Equation (22) [40], with k o the intrinsic permeability and e a constant dependent on the material and the type of cycle (wet or dried). ν l is a temperature dependent parameter, Equation (23) [41]; and ρ l is a temperature and concentration dependent parameter, Equation (24) [35,36]. In equation (23), ν 0 w is the viscosity of pure water at 20 • C (ν 0 w = 1002 Pa·s), T is the temperature ( • C), α 1 to α 4 and ζ dimensional coefficients (α 1 = 1.2378, α 2 = −1.303 × 10 −3 , α 3 = 3.06 × 10 −6 , α 4 = 2.55 × 10 −8 , ζ = 1.566 × 10 −3 m 3 /kg) and C NaCl (kg/m 3 ) the concentration of NaCl in the solution. This is obtained from C NaCl = M NaCl M Cl C f,s , with M NaCl and M Cl the molecular mass of NaCl and Cl, respectively.
The dependence of D c on temperature for unsaturated concrete is given by Equation (25), with e the same constant that appears in Equation (22). As for the capillary pressure (p c ), which appears in Equations (19) and (20), it is assumed that depend on the porosity, the water content in the pores and the temperature, p c = p c (φ l , φ, T). The dependencies currently proposed in the literature are: [27] In these expressions, Ψ 1 and Ψ 2 are temperature dependent functions named capillary moduli (Pa), while a 1 to a 4 are dimensionless constants that depend on the material. Despite the third adapts better to the experimental results and collects the effects of hysteresis, the first has been chosen to approach p c in Concrelife, Equation (26), because the three dependencies solutions are almost identical [27,40,42]. This capillary pressure in the medium has as a boundary condition-the one caused by the relative humidity of the environment (p c,b ), difference between the total (external) and atmospheric pressures. Its value is given by the expression (26), with h r the relative humidity of the surrounding atmosphere and m mol, H 2 O vapor the mass of one mole of water vapor.
For the isotherms as well as the boundary and initial concentration conditions, the same expressions of the saturated transport are assumed, i.e., Equations (11a) to (11d) for the first and (15) to (17) for the second. In addition, a new condition is required for the capillary pressure at the boundary (h r,o ), Equation (28), and for the initial values of porosity (φ o ) and pore water content (φ l,o ), Equations (29) and (30), respectively.

The Code Concrelife
The purpose of this software is to obtain numerical solutions to the problem of chloride transport in reinforced concrete, water-saturated or not, under the hypothesis of the existence of bound and precipitated chlorides, taking into account the thermal dependencies of the different coefficients involved in the process. In order to make its design simple and intuitive, a user communication environment has been designed through Windows (for XP, Vista, 7, 8 and 10 operating systems) using Matlab ® [43]. This allows a progressive access to each of the steps necessary for the simulation. The very complete and powerful graphic application of this code is also used to represent the different types of curves of the solution.
The numerical calculation is conducted using models whose designs are based on the Network Simulation Method [8,10] and shown in [44], a tool that takes advantage of the powerful computing algorithms inherent in modern circuit resolution codes [45] to provide practically an exact solution of the model. The errors are relegated to the size of the mesh and are much less than 1%, for relatively low meshes (of the order of 40 or 50 cells in 1-D problems). As the calculation engine for the execution of the models, the free code NgSpice (Spice Code) has been chosen [46]. This software, a circuit simulator with 'Modified' BSD license -which is based on three open source software packages Spice3f5, Xspice and Cider1b1-, solves the equations implemented through the circuits created by Concrelife, generating suitable output files with the results obtained.
In summary, the Network Simulation Method consists of transforming the mathematical model that represents the physicochemical problem into a network of electrical circuits. Each cell of the spatial discretisation includes the network model that represents the mathematical model and is connected to adjacent cells or boundary conditions. To convert the mathematical model into a network model, the following steps must be followed: (1) The equivalence between the study variable and the voltage at the central node of the network is established; (2) For this purpose, different electrical devices are available to implement the summand, such as resistors, current generators, batteries, capacitors, etc. and; and (3) The circuit created must comply with Kirchhoff's laws. The mathematical model described above has been fully implemented in the Concrelife software and no assumptions have been made. A more detailed description of the model can be found in [44].

The Screens of Input Data
The anagram of the program is shown in Figure 3 and its execution follows the scheme represented as a flow chart in Figure 4. The computational solutions are stored to be shown in tabulated form or by graphical representations. For example, instantaneous spatial profiles of the chloride concentration (concentrated in the solution, in the concrete, or bounded and precipitated chloride), temporary distributions of these concentrations in positions selected by the user, total chloride that penetrates the boundary, etc.
Once the program starts, a first communication screen is displayed. As shown in Figure 5, the user selects the type of problem: saturated or unsaturated. According to the choice, the screens in Figures 6 and 7 give access to the problem data entry. For the entire data set, the units in which they are to be expressed are shown. In summary, the Network Simulation Method consists of transforming the mathe matical model that represents the physicochemical problem into a network of electrica circuits. Each cell of the spatial discretisation includes the network model that represent the mathematical model and is connected to adjacent cells or boundary conditions. T convert the mathematical model into a network model, the following steps must be fol lowed: (1) The equivalence between the study variable and the voltage at the central nod of the network is established; (2) For this purpose, different electrical devices are availabl to implement the summand, such as resistors, current generators, batteries, capacitors, etc and; and (3) The circuit created must comply with Kirchhoff's laws. The mathematica model described above has been fully implemented in the Concrelife software and no as sumptions have been made. A more detailed description of the model can be found i [44].

The Screens of Input Data
The anagram of the program is shown in Figure 3 and its execution follows th scheme represented as a flow chart in Figure 4. The computational solutions are stored t be shown in tabulated form or by graphical representations. For example, instantaneou spatial profiles of the chloride concentration (concentrated in the solution, in the concrete or bounded and precipitated chloride), temporary distributions of these concentrations i positions selected by the user, total chloride that penetrates the boundary, etc.  Once the program starts, a first communication screen is displayed. As shown i ure 5, the user selects the type of problem: saturated or unsaturated. According t choice, the screens in Figures 6 and 7 give access to the problem data entry. For the e data set, the units in which they are to be expressed are shown.   Once the program starts, a first communication screen is displayed. As shown i ure 5, the user selects the type of problem: saturated or unsaturated. According t choice, the screens in Figures 6 and 7 give access to the problem data entry. For the data set, the units in which they are to be expressed are shown.   These screens also display a menu located at the top with four labels. In the first 'File display, the sub-menu of Figure 8a, the user can choose between the following: create new model, save it once the input data has been entered, load a previously created mode load figures or close the software. The second 'Models' display is a submenu to chang from the saturated to unsaturated model or vice versa as shown in Figure 8b. The thir label, 'Graphic representation', allows access to the graphic representation screen a shown in Figure 8c. The last label, 'Parametrs', through the only option 'Calculation pa rameters' allows displaying a new window in which the user defines other parameter related to the calculus such as 'Reltol' or relative tolerance, to set the compromise betwee accuracy of results and computing time; 'Number of division' to define the number o volume elements or cells; 'Time interval' to set the successive times for which boundar   These screens also display a menu located at the top with four labels. In the first 'File display, the sub-menu of Figure 8a, the user can choose between the following: create new model, save it once the input data has been entered, load a previously created mode load figures or close the software. The second 'Models' display is a submenu to chang from the saturated to unsaturated model or vice versa as shown in Figure 8b. The thir label, 'Graphic representation', allows access to the graphic representation screen a shown in Figure 8c. The last label, 'Parametrs', through the only option 'Calculation pa rameters' allows displaying a new window in which the user defines other parameter related to the calculus such as 'Reltol' or relative tolerance, to set the compromise betwee accuracy of results and computing time; 'Number of division' to define the number o volume elements or cells; 'Time interval' to set the successive times for which boundar These screens also display a menu located at the top with four labels. In the first 'File' display, the sub-menu of Figure 8a, the user can choose between the following: create a new model, save it once the input data has been entered, load a previously created model, load figures or close the software. The second 'Models' display is a submenu to change from the saturated to unsaturated model or vice versa as shown in Figure 8b. The third label, 'Graphic representation', allows access to the graphic representation screen as shown in Figure 8c. The last label, 'Parametrs', through the only option 'Calculation parameters' allows displaying a new window in which the user defines other parameters related to the calculus such as 'Reltol' or relative tolerance, to set the compromise between accuracy of results and computing time; 'Number of division' to define the number of volume elements or cells; 'Time interval' to set the successive times for which boundary conditions change their values; and 'Number of simulation' to determine the number of times the results are saved, at regular intervals starting from zero, over the total simulation, Figure 8d. times the results are saved, at regular intervals starting from zero, over the total simulation, Figure 8d. Going back to the data entry screens, for the saturated problem ( Figure 5), the data is organized into three blocks. In the first, left column of the figure, the following data are introduced: length of the domain ('Lengh'), diffusivity of the chloride in the solution ('Dexp'), thermal diffusivity ('α'), the initial porosity ('ϕo'), initial concentration of chloride in the concrete ('Clini') and degree of saturation (ϕl/ϕ), or ratio between the pore water content and porosity ('Saturation'). The type of isotherm ('Select bound chloride equation') and the parameters that adjusts the corresponding dependence ('Bound chloride parameters') complete the data of this column. It is possible to choose between any of the four known isotherms, linear Langmuir The second block collects the concentration and temperature of the surrounding fluid ('External chloride concentration' and 'External temperature', respectively), the total time of simulation ('Time'), the time interval for which the boundary conditions change ('Change time') and the initial temperature of the concrete (Initial temperature'). The total time can be split in up to 12 equal intervals allowing the concentration and contour temperature to be changed up to twelve times. Thus, by clicking 'External chloride concentration' and 'External temperature', the program presents the drop-down in Figure 10a,b, respectively. The concentration and temperature data that applied to the beginning of each time interval are introduced. Going back to the data entry screens, for the saturated problem ( Figure 5), the data is organized into three blocks. In the first, left column of the figure, the following data are introduced: length of the domain ('Lengh'), diffusivity of the chloride in the solution ('D exp '), thermal diffusivity ('α'), the initial porosity ('φ o '), initial concentration of chloride in the concrete ('Cl ini ') and degree of saturation (φ l /φ), or ratio between the pore water content and porosity ('Saturation'). The type of isotherm ('Select bound chloride equation') and the parameters that adjusts the corresponding dependence ('Bound chloride parameters') complete the data of this column. It is possible to choose between any of the four known isotherms, linear Langmuir (Equation (14a)), non-linear Langmuir (Equation (14b)), nonlinear Freundlich (Equation (14c)) and non-linear Langmuir-Freundlich (Equation (14d)), Figure 9a. The parameters involved in each of these dependencies are entered through the screen of Figure 9b that appears clicking 'Bound chloride parameters'. Note that you can simulate the problem without bound chloride by entering on the linear dependence of Langmuir the value C b,o = 0. times the results are saved, at regular intervals starting from zero, over the total simulation, Figure 8d. Going back to the data entry screens, for the saturated problem ( Figure 5), the data is organized into three blocks. In the first, left column of the figure, the following data are introduced: length of the domain ('Lengh'), diffusivity of the chloride in the solution ('Dexp'), thermal diffusivity ('α'), the initial porosity ('ϕo'), initial concentration of chloride in the concrete ('Clini') and degree of saturation (ϕl/ϕ), or ratio between the pore water content and porosity ('Saturation'). The type of isotherm ('Select bound chloride equation') and the parameters that adjusts the corresponding dependence ('Bound chloride parameters') complete the data of this column. It is possible to choose between any of the four known isotherms, linear Langmuir The second block collects the concentration and temperature of the surrounding fluid ('External chloride concentration' and 'External temperature', respectively), the total time of simulation ('Time'), the time interval for which the boundary conditions change ('Change time') and the initial temperature of the concrete (Initial temperature'). The total time can be split in up to 12 equal intervals allowing the concentration and contour temperature to be changed up to twelve times. Thus, by clicking 'External chloride concentration' and 'External temperature', the program presents the drop-down in Figure 10a,b, respectively. The concentration and temperature data that applied to the beginning of each time interval are introduced. The second block collects the concentration and temperature of the surrounding fluid ('External chloride concentration' and 'External temperature', respectively), the total time of simulation ('Time'), the time interval for which the boundary conditions change ('Change time') and the initial temperature of the concrete (Initial temperature'). The total time can be split in up to 12 equal intervals allowing the concentration and contour temperature to be changed up to twelve times. Thus, by clicking 'External chloride concentration' and 'External temperature', the program presents the drop-down in Figure 10a,b, respectively. The concentration and temperature data that applied to the beginning of each time interval are introduced. In relation to the unsaturated problem ( Figure 6), in addition to the above data, the value of the coefficients of the capillary pressure (19) and the diffusion coefficient (20), e, e1 y A1, are introduced by clicking the label 'Wet drying parameters' in the unsaturated problem screen. This action gives way to the screen of Figure 10c allowing to enter these coefficients whose value depends on whether it is a drying (D) process or a wet (W) process. In addition, clicking the label 'External relative air humidity', a new screen in which the table of values of this parameter (between the range [0.001-1]) for the successive time intervals defined above is displayed, Figure 10d.

Simulation and Graphical Outputs
Once the data has been entered and after clicking the icon , the model is generated by programming in the form of a text file, and NgSpice starts the simulation. This gives way to the presentation of the typical NgSpice software screen [46], where the percentage of time elapsed until complete computing is indicated. An auxiliary screen gives additional information in reference to the simulation number through which the computation progresses, Figure 11. In relation to the unsaturated problem ( Figure 6), in addition to the above data, the value of the coefficients of the capillary pressure (19) and the diffusion coefficient (20), e, e 1 y A 1 , are introduced by clicking the label 'Wet drying parameters' in the unsaturated problem screen. This action gives way to the screen of Figure 10c allowing to enter these coefficients whose value depends on whether it is a drying (D) process or a wet (W) process. In addition, clicking the label 'External relative air humidity', a new screen in which the table of values of this parameter (between the range [0.001-1]) for the successive time intervals defined above is displayed, Figure 10d.

Simulation and Graphical Outputs
Once the data has been entered and after clicking the icon In relation to the unsaturated problem ( Figure 6), in addition to the above data, the value of the coefficients of the capillary pressure (19) and the diffusion coefficient (20), e, e1 y A1, are introduced by clicking the label 'Wet drying parameters' in the unsaturated problem screen. This action gives way to the screen of Figure 10c allowing to enter these coefficients whose value depends on whether it is a drying (D) process or a wet (W) process. In addition, clicking the label 'External relative air humidity', a new screen in which the table of values of this parameter (between the range [0.001-1]) for the successive time intervals defined above is displayed, Figure 10d.

3.2.
the model is generated by programming in the form of a text file, and NgSpice starts the simulation. This gives way to the presentation of the typical NgSpice software screen [46], where the percentage of time elapsed until complete computing is indicated. An auxiliary screen gives addi-tional information in reference to the simulation number through which the computation progresses, Figure 11.
, the model is generated by programming in the form of a text file, and NgSpice starts the simulation. This gives way to the presentation of the typical NgSpice software screen [46], where the percentage of time elapsed until complete computing is indicated. An auxiliary screen gives additional information in reference to the simulation number through which the computation progresses, Figure 11. Once the computational calculation is finished, the button accesses the graphical representation of the solutions through the screen of Figure 12. In this, the drop-down 'Kind of representation' allows to select between spatial representation of variables ('Spatial'), in selected moments introduced in the drop-down 'Time to represent', and temporal representation of variables ('Evolution') at the location chosen in 'Section to represent' in the main screen, Figure 13a    accesses the graphical representation of the solutions through the screen of Figure 12. In this, the drop-down 'Kind of representation' allows to select between spatial representation of variables ('Spatial'), in selected moments introduced in the drop-down 'Time to represent', and temporal representation of variables ('Evolution') at the location chosen in 'Section to represent' in the main screen, Figure 13a Once the computational calculation is finished, the button accesses the graphical representation of the solutions through the screen of Figure 12. In this, the drop-down 'Kind of representation' allows to select between spatial representation of variables ('Spatial'), in selected moments introduced in the drop-down 'Time to represent', and temporal representation of variables ('Evolution') at the location chosen in 'Section to represent' in the main screen, Figure 13a   Once the computational calculation is finished, the button accesses the graphical representation of the solutions through the screen of Figure 12. In this, the drop-down 'Kind of representation' allows to select between spatial representation of variables ('Spatial'), in selected moments introduced in the drop-down 'Time to represent', and temporal representation of variables ('Evolution') at the location chosen in 'Section to represent' in the main screen, Figure 13a   Once the computational calculation is finished, the button accesses the graphical representation of the solutions through the screen of Figure 12. In this, the drop-down 'Kind of representation' allows to select between spatial representation of variables ('Spatial'), in selected moments introduced in the drop-down 'Time to represent', and temporal representation of variables ('Evolution') at the location chosen in 'Section to represent' in the main screen, Figure 13a   As an illustration, typical representations of Concrelife are shown. The spatial concentration of three species of chlorides after 250 days is shown in Figure 15a. Time evolution of concentration of three species of chloride at 1.2 cm from the boundary is shown in Figure 15b. The free chloride (kg/m 3 solution) is represented in the color green, the free chloride (kg/m 3 concrete) in blue, and finally, the bound chloride (kg/m 3 concrete) in black.
Mathematics 2022, 10,4810 As an illustration, typical representations of Concrelife are shown. The spat centration of three species of chlorides after 250 days is shown in Figure 15a. Time tion of concentration of three species of chloride at 1.2 cm from the boundary is sh Figure 15b. The free chloride (kg/m 3 solution) is represented in the color green, chloride (kg/m 3 concrete) in blue, and finally, the bound chloride (kg/m 3 concrete) i

Applications
Three applications are presented to demonstrate the efficiency and reliability crelife. For them, a mesh of 50 cells is chosen. Data of the first application, whose p is to verify the results of the program are listed in Table 3. The experimental da been taken from the experimental tests conducted by [27,47], where the latter auth indicates that the first two experimental data have been ignored, since it seemed bound chloride ions were more soluble in positions close to the surface. One poss planation is that the standard measurement method for measuring free chloride

Applications
Three applications are presented to demonstrate the efficiency and reliability of Concrelife. For them, a mesh of 50 cells is chosen. Data of the first application, whose purpose is to verify the results of the program are listed in Table 3. The experimental data have been taken from the experimental tests conducted by [27,47], where the latter author [27] indicates that the first two experimental data have been ignored, since it seemed that the bound chloride ions were more soluble in positions close to the surface. One possible explanation is that the standard measurement method for measuring free chloride is less accurate at high concentrations. Table 3 shows results obtained by [27,47] ignoring these first two data, as indicated by [27]. The coefficients of the Langmuir-Freundlich nonlinear isotherm chosen to approximate the C b -C f,c dependence have been adjusted using the spreadsheet [27,47]. Figure 16 shows the concentrations of free, bound and total chlorides, given by Concrelife, in typical locations of a concrete sample after 18 months. Note that the concentration level of free chloride C f,c exceeds the threshold of this variable (0.6-1.2 kg/m 3 of concrete) for which armor corrosion begins [2,3,26,48,49]. After integrating the C f,c concentration profile obtained in the simulation along each of the slices in which the sample was cut in the experimental test, we can compare the experimental results and those of the simulation using Concrelife. Table 4 collects this comparison and verifies that the deviations between experimental and numerical solutions are minimal, with relative errors below 2.94%. Table 3. Data of the first application (water-saturated concrete). accurate at high concentrations. Table 3 shows results obtained by [27,47] ignorin first two data, as indicated by [27]. The coefficients of the Langmuir-Freundlich no isotherm chosen to approximate the Cb-Cf,c dependence have been adjusted us spreadsheet [27,47]. Figure 16 shows the concentrations of free, bound and total ch given by Concrelife, in typical locations of a concrete sample after 18 months. N the concentration level of free chloride Cf,c exceeds the threshold of this variable kg/m 3 of concrete) for which armor corrosion begins [2,3,26,48,49]. After integra Cf,c concentration profile obtained in the simulation along each of the slices in wh sample was cut in the experimental test, we can compare the experimental resu those of the simulation using Concrelife. Table 4 collects this comparison and veri the deviations between experimental and numerical solutions are minimal, with errors below 2.94%. Table 3. Data of the first application (water-saturated concrete).   The second application, whose data are listed in Table 5, is a coupled problem in a saturate concrete sample, where to show the possibilities of changing the boundary conditions in the software, it is proposed that the external chloride concentration drops sharply after 5 years while temperature boundary conditions simulate approximately those of an annual seasonal cycle. This could be the case of a structure submerged in a swimming pool that is initially filled with seawater and after 5 years is changed to water with a lower salt concentration. To approximate the dependence between bound and free chlorides, the Langmuir-Freundlich isotherm with typical values for its coefficients has been chosen. The surface of the concrete opposite to that subjected to the outside environment (x = l o ) has been considered adiabatic for heat flux and impermeable for the chloride ions. This is a suitable option since the geometry of the problem is symmetric in general allowing to simulate only half of the domain. The simulation time chosen is sufficient to ensure that the concentration of free chloride in the supposed position of the reinforcement bar is near or exceeds the threshold of corrosion initiation. This time is far from the characteristic time of the process, l o 2 /D exp . Table 5. Saturated problem. Data of the second application.  )  1  10  5  15  9  18  2  11  6  17  10  17  3  11  7  18  11  15  4  13  8 19 12 11 The simulation results are shown in Figures 17-19. In the first, concentration profiles for C f,s (free chloride in kg/m 3 solution), C f,c (free chloride in kg/m 3 concrete) and C b (bound chloride in kg/m 3 solution) at 5 and 20 years are depicted. The change in profile caused by the fall in concentration at the boundary (x = 0) as well as the delay in this fall as we enter inside the sample are appreciated. The time dependent concentration of the same chlorides at typical locations, x = 5 and 10 cm are depicted in Figure 18. Finally, Figure 19 shows the total chloride quantity of C f,s , C b and C f,c that crosses the boundary between 0 and t days. It is immediate to deduce from these graphs the time for which the concentration threshold of C f,c that starts the corrosion of the reinforcement in each position is reached.

Temperature parameters
The third application refers to an unsaturated problem whose data lists in Table 6. In this example, the external temperature has a slow harmonic variation throughout the year. For the concentration of chloride in the surrounding atmosphere, the cycle of variation is 0.5 years with a square waveform, showing a structure submerged in seawater some months and not others. Relative humidity values throughout the year have been chosen arbitrarily from those possible for this example, reproducing an almost harmonic function of 0.5-year cycle, thus showing the ability to change the boundary conditions of the software. Finally, the relative humidity value equal to unity means that the structure is submerged.
Mathematics 2022, 10,4810 and t days. It is immediate to deduce from these graphs the time for which the con tion threshold of Cf,c that starts the corrosion of the reinforcement in each pos reached.   The third application refers to an unsaturated problem whose data lists in Table 6. this example, the external temperature has a slow harmonic variation throughout the ye For the concentration of chloride in the surrounding atmosphere, the cycle of variation 0.5 years with a square waveform, showing a structure submerged in seawater som months and not others. Relative humidity values throughout the year have been chos arbitrarily from those possible for this example, reproducing an almost harmonic functi of 0.5-year cycle, thus showing the ability to change the boundary conditions of the so ware. Finally, the relative humidity value equal to unity means that the structure is su merged.      )  1  10  5  15  9  18  2  11  6  17  10  17  3  11  7  18  11  15  4  13  8  19 12 11 The simulation results are shown in Figures 20-22. The concentration of C f,s (free chloride in kg/m 3 solution), C f,c (free chloride in kg/m 3 concrete) and C b (bound chloride in kg/m 3 solution) along the concrete at times 1, 5, 7.9, 10 and 20 years, Figure 20, clearly show the effect on these profiles of the seasonal dependence of the concentration of the surrounding atmosphere, clearly showing the effect of the structure being submerged some months and not others. This influence results in the temporary harmonic variation of the concentration at points inside the concrete being delayed the further we move away from the outer surface of the sample. Thus, in the months when the structure is not submerged, the chlorides already in the structure can diffuse both into the structure and to the near-surface areas. Similar results have been obtained in real structures subjected to a seasonal tidal cycle [50]. Figure 21 shows the time dependent concentration of bounded and free chlorides at typical locations, x = 2.5, 5 and 7.5 cm. These distributions, as expected, show a first transition of approximately 9 years for the indicated positions, after which the concentrations remain harmonic without average variation. Finally, the total chloride that enters the concrete from the initial moment until t days, separated in its components C f,s , C b and C f,c , is shown in Figure 22. The simulation results are shown in Figures 20-22. The concentration of Cf,s chloride in kg/m 3 solution), Cf,c (free chloride in kg/m 3 concrete) and Cb (bound chl in kg/m 3 solution) along the concrete at times 1, 5, 7.9, 10 and 20 years, Figure 20, c show the effect on these profiles of the seasonal dependence of the concentration surrounding atmosphere, clearly showing the effect of the structure being subm some months and not others. This influence results in the temporary harmonic var of the concentration at points inside the concrete being delayed the further we move from the outer surface of the sample. Thus, in the months when the structure is no merged, the chlorides already in the structure can diffuse both into the structure a the near-surface areas. Similar results have been obtained in real structures subjecte seasonal tidal cycle [50]. Figure 21 shows the time dependent concentration of bou and free chlorides at typical locations, x = 2.5, 5 and 7.5 cm. These distributions, pected, show a first transition of approximately 9 years for the indicated positions which the concentrations remain harmonic without average variation. Finally, the chloride that enters the concrete from the initial moment until t days, separated in its ponents Cf,s, Cb and Cf,c, is shown in Figure 22.

Final Comments and Conclusions
The proposed applications allow us to state that the Concrelife software, designed for the simulation of the problem of penetration of chlorides in reinforced concrete, satu rated or not, reproduces the most demanding conditions to this problem and thus report reliable results that allow defining the first state of the useful life of a structure, the period of time that elapses from the start-up of the structure until the beginning of the reinforce ment corrosion. The program assumes the current empirical dependencies on the param eters involved (density and viscosity of the solution, diffusivity of the chloride) with th temperature. The temperature field is also obtained numerically from the solution of th non-coupled thermal problem, which allows the implementation of time-dependen boundary conditions. Regarding the penetration of chlorides, the software incorporate the generation of bound chloride and precipitated chloride, phenomena that lead to change in the porosity of concrete thanks to the formation of Friedel´s salt and precipitat

Final Comments and Conclusions
The proposed applications allow us to state that the Concrelife software, design for the simulation of the problem of penetration of chlorides in reinforced concrete, sat rated or not, reproduces the most demanding conditions to this problem and thus repor reliable results that allow defining the first state of the useful life of a structure, the perio of time that elapses from the start-up of the structure until the beginning of the reinforc ment corrosion. The program assumes the current empirical dependencies on the param eters involved (density and viscosity of the solution, diffusivity of the chloride) with t temperature. The temperature field is also obtained numerically from the solution of t non-coupled thermal problem, which allows the implementation of time-depende boundary conditions. Regarding the penetration of chlorides, the software incorporat the generation of bound chloride and precipitated chloride, phenomena that lead to change in the porosity of concrete thanks to the formation of Friedel´s salt and precipita

Final Comments and Conclusions
The proposed applications allow us to state that the Concrelife software, designed for the simulation of the problem of penetration of chlorides in reinforced concrete, saturated or not, reproduces the most demanding conditions to this problem and thus reports reliable results that allow defining the first state of the useful life of a structure, the period of time that elapses from the start-up of the structure until the beginning of the reinforcement corrosion. The program assumes the current empirical dependencies on the parameters involved (density and viscosity of the solution, diffusivity of the chloride) with the temperature. The temperature field is also obtained numerically from the solution of the non-coupled thermal problem, which allows the implementation of time-dependent boundary conditions. Regarding the penetration of chlorides, the software incorporates the generation of bound chloride and precipitated chloride, phenomena that lead to a change in the porosity of concrete thanks to the formation of Friedel s salt and precipitate crystals. All known types of empirical dependencies between bounded and free chloride (linear Langmuir, non-linear Langmuir, Freundlich and Langmuir-Freundlich) have been incorporated into the program.
In addition, the software allows the introduction of time dependence boundary conditions, in the form of piece-wise functions, for the chloride concentration and relative humidity.
The need to simulate long-term time intervals (usually years), which inevitably entails large computing times and a huge amount of resulting data whose processing is not available to personal computers, has been circumvented with the execution of successive temporary windows (up to 12) of which the final data is retained, thus avoiding saturation of the computer memory. The graphical output environment of the software, based on Matlab ® [43], incorporates the presentation of the spatial and temporal dependences of all the variables of interest such as, (1) the spatial distribution of all species of chloride in set times, (2) the temporal evolution of the concentrations in each position of the domain, (3) the total time dependent chloride that penetrates through the boundary, (4) the porosity, and (5) the water content in the pores.
To facilitate the handling by users unfamiliar with numerical techniques and other aspects of computing, the communication environment with the program's user is conducted through windows for both data entry, computation start and graphical representation of results. Its versatility allows the execution of any type of problem in 1-D rectangular geometry (which are the most common cases) that can be presented in reinforced concrete columns including changes in relative humidity, wet-drying, column washing, etc.
The numerical technique that Concrelife software applies is based on the network method, a tool verified in many other problems of similar or greater complexity to those presented in this work. The software incorporates standard network models for the most complex scenarios to which, after the association of specific values with the elements that integrate these models, it executes them in the free code NgSpice [46] taking advantage of the modern and powerful computing algorithms that it incorporates. The result of the simulation is, in practice, the exact solution of the model, leaving the errors relegated to the size of the mesh chosen-in general, less than 0.5% for relatively small meshes.