Zaineb Zaafouri

Guillaume Batôt

Carlos Nieto-Draghi

Benjamin Rotenberg

Daniela Bauer
email: daniela.bauer@ifpen.fr

Benoit Coasne
email: benoit.coasne@univ-grenoble-alpes.fr

Lattice Boltzmann method for adsorption under stationary and transient conditions: Interplay between transport and adsorption kinetics in porous media

A numerical method based on the Lattice Boltzmann formalism is presented to capture the effect of adsorption kinetics on transport in porous media. Through the use of a general adsorption operator, canonical models such as Henry and Langmuir adsorption as well as more complex adsorption mechanisms involving collective behavior with lateral interactions and surface aggregation can be investigated using this versatile model. By extending the description of adsorption phenomena to kinetic regimes with any underlying adsorption model, this effective technique allows assessing the coupled dynamics resulting from advection/diffusion/adsorption in pores not only in stationary conditions but also under transient conditions (i.e. in regimes where the adsorbed amount evolves with time due to diffusion and advection). As illustrated in this paper, the development of such an approach provides a simple tool to determine the reciprocal effect of molecular flow/dispersion on adsorption kinetics. In this context, the use of a Lattice Boltzmann-based approach is important as it allows considering porous media of any morphology and topology. Beyond fundamental implications, this efficient method allows treating real engineering conditions such as pollutant dispersion or surfactant injection in a flowing liquid in soils/porous rocks.

I. INTRODUCTION

While fluid transport and dispersion in restricted geometries such as in porous media have been broadly considered in physics, the impact of fluid transport on adsorption phenomena remains puzzling by many aspects [START_REF] Wu | Impact of adsorption on gas transport in nanopores 104[END_REF][START_REF] Ichikawa | Transport phenomena in porous media: Aspects of micro/macro behaviour[END_REF][START_REF] Bear | Modeling Transport of Chemical Species[END_REF][START_REF] Roque-Malherbe | Adsorption and diffusion in nanoporous materials[END_REF][START_REF] Coasne | Multiscale adsorption and transport in hierarchical porous materials[END_REF][START_REF] Levesque | Accounting for adsorption and desorption in lattice Boltzmann simulations[END_REF][START_REF] Vanson | Unexpected coupling between flow and adsorption in porous media[END_REF][START_REF] Vanson | Transport and adsorption under liquid flow: the role of pore geometry[END_REF][START_REF] Vanson | Kinetic accessibility of porous material adsorption sites studied Through the lattice boltzmann method[END_REF]. Situations corresponding to a flowing liquid (solvent) carrying adsorbable molecules (solute) in a porous material have been treated extensively under static conditions (stationary regime) [START_REF] Hlushkou | Effect of adsorption on solute dispersion: a microscopic stochastic approach[END_REF][START_REF] Miura | Diffusion influenced adsorption kinetics[END_REF]. In contrast, transient regimes, which are observed for times shorter than the typical time needed to reach local equilibrium between the adsorbed and free solute concentrations, display complex behaviors to be unraveled. Formally, addressing this challenge requires to better understand the interplay of molecule transport and adsorption kinetics in confining materials. To do so, it is important to integrate adsorption kinetics into physical transport models but also to consider different phenomena involved (mass transfer, diffusion, and adsorption). Besides the different adsorption/transport regimes, the porous medium structure is another ingredient that significantly influences the transport behavior of adsorbing molecules (since adsorption is also sensitive to the geometry/structure of the solid/fluid interface) [START_REF] Chen | Role of pore structure on liquid flow behaviors in porous media characterized by fractal geometry[END_REF][START_REF] Noetinger | Random walk methods for modeling hydrodynamic transport in porous and fractured media from pore to reservoir scale[END_REF][START_REF] Wei | Microscale investigation on coupling of gas diffusion and mechanical deformation of shale[END_REF]. In particular, depending on the porous structure, features such as constrictions or low porosity zones (reduced flow) induce strong coupling between fluid transport and molecular adsorption [START_REF] Vanson | Kinetic accessibility of porous material adsorption sites studied Through the lattice boltzmann method[END_REF][START_REF] Bousige | Bridging scales in disordered porous media by mapping molecular dynamics onto intermittent Brownian motion[END_REF][START_REF] Fagbemi | Interaction between fluid and porous media with complex geometries: a direct pore-scale study[END_REF]. Therefore, understanding the interplay between the structural heterogeneity of the porous medium and the adsorption thermodynamics and kinetics is considered as a key fundamental challenge [START_REF] Coasne | Molecular simulation of adsorption and transport in hierarchical porous materials[END_REF][START_REF] Galarneau | Probing interconnectivity in hierarchical microporous/mesoporous materials using adsorption and nuclear magnetic resonance diffusion[END_REF]. Beyond basic science implications, increasing attention is also paid in applied research to such adsorption/transport coupling as it is seen as an efficient means to improve existing processes. For instance, in addition to conventional applications such as air and water purification, adsorption processes are now widely used in the oil and petrochemical sectors as well as in the preparation of industrial gases. In particular, for purification, it is necessary to better assess and understand the migration of pollutants into natural or synthetic porous media [START_REF] Manoranjan | Exact solution for contaminant transport with kinetic Langmuir sorption[END_REF][START_REF] Appadu | Comparative study of three numerical schemes for contaminant transport with kinetic Langmuir sorption[END_REF].

From a theoretical viewpoint, such interplay between adsorption kinetics and flow can be taken into account using numerical methods (e.g. [START_REF] Bot ¸an | Bottom-up model of adsorption and transport in multiscale porous media[END_REF]). The latter are considered as efficient and robust as they provide information on both the adsorption and transport properties. Indeed, experimentally, detailed information on adsorbed quantities is not easily accessible since only adsorbate free concentrations in solution are assessed (adsorbed concentrations and their distribution in pores are not known a priori). Moreover, conducting an experimental parametric study -by considering constants such as adsorption/desorption coefficients -is not simple as there is no direct access to adsorbed quantities at the pore scale. In contrast, numerical methods allow the determination of any relevant quantities even at the nanometer scale. Among available numerical frameworks, several Lattice Boltzmann methods accounting for adsorption have been proposed to probe dispersion/diffusion under no flow conditions. For instance, Guo et al. [START_REF] Guo | Modeling adsorption with lattice Boltzmann equation[END_REF] have proposed a computational scheme to model adsorption. By using specific equations of state, these authors have considered various adsorption isotherm types. Using a somewhat similar approach, Xu et al. [START_REF] Xu | Simulation of gas adsorption and capillary condensation in shale nanopores using lattice Boltzmann modeling[END_REF][START_REF] Xu | Study of subcritical and supercritical gas adsorption behavior in different nanopore systems in shale using lattice Boltzmann method[END_REF] have simulated gas adsorption in gas shale by considering two phase separation and adsorption in nanopores. These Lattice Boltzmann studies only account for adsorption under no flow conditions with adsorbable particles only subjected to diffusion. To consider adsorption effects in transport situations, Ning et al. have introduced a Lattice Boltzmann method with a multiple relaxation time scheme coupled with adsorption to simulate gas flow in confining organic nanopores [START_REF] Ning | Numerical modeling of slippage and adsorption effects on gas transport in shale formations using the lattice Boltzmann method[END_REF]. In their work on the impact of gas slippage and adsorption on flow, these authors used the adsorptive force introduced by Sukop and Or [START_REF] Sukop | Lattice Boltzmann method for modeling liquid-vapor interface configurations in porous media[END_REF] to model the surface/adsorbate interactions. Similar approaches accounting for fluid transport combined with adsorption effects were proposed by Agarwal et al. [START_REF] Agarwal | A lattice Boltzmann model for adsorption breakthrough[END_REF] and Manjhi et al. [START_REF] Manjhi | Lattice Boltzmann modelling of unsteady-state 2D concentration profiles in adsorption bed[END_REF]. In these works, a first order adsorption kinetics corresponding to the Henry regime was considered so that these models apply to the low concentration regime only (where the adsorbed amount is proportional to the bulk concentration). Typically, in Ref. [START_REF] Manjhi | Lattice Boltzmann modelling of unsteady-state 2D concentration profiles in adsorption bed[END_REF], an advection/diffusion equation with a term accounting for adsorption was solved using a Lattice Boltzmann method. The algorithm in these different studies relies on imposing a constant dispersion coefficient, therefore preventing from studying the influence of adsorption on dispersion and other transport regimes. Last but not least, Rotenberg and coworkers have developed a Lattice Boltzmann scheme to determine the impact of adsorption on solute/solvent dynamics [START_REF] Levesque | Accounting for adsorption and desorption in lattice Boltzmann simulations[END_REF][START_REF] Vanson | Unexpected coupling between flow and adsorption in porous media[END_REF][START_REF] Asta | Moment propagation method for the dynamics of charged adsorbing/desorbing species at solid-liquid interfaces[END_REF]. In this approach, adsorption occurs on fluid nodes directly in contact with neighboring solid nodes. At each position/node, free and adsorbed quantities are defined to describe equilibrium properties after each adsorption step. The transport behavior is described using the moment propagation method by introducing propagators for both the free and adsorbed phases [START_REF] Ladd | Lattice-Boltzmann simulations of particle-fluid suspensions[END_REF][START_REF] Merks | The moment propagation method for advection-diffusion in the lattice Boltzmann method: validation and Péclet number limits[END_REF]. This allows computing the dynamical properties of the dispersed solute in the flowing fluid.

In the studies above, these robust techniques were used to address the effect of fluid flow on adsorption in stationary regimes (i.e. long time limit where thermodynamic equilibrium is reached). However, it is also relevant to investigate transient regimes where the adsorbed amount evolves with a time constant that can be either large or small compared to the typical transport time. To fill this gap, Vanson et al. [START_REF] Vanson | Transport and adsorption under liquid flow: the role of pore geometry[END_REF][START_REF] Vanson | Kinetic accessibility of porous material adsorption sites studied Through the lattice boltzmann method[END_REF] extended the method by Levesque et al. [START_REF] Levesque | Accounting for adsorption and desorption in lattice Boltzmann simulations[END_REF] to describe the adsorption/transport interplay in the kinetics regime via kinetic rules resulting in a Langmuir isotherm. Here, we build up on a similar formalism to extend the description of such coupling to any underlying adsorption kinetics and, hence, any adsorption isotherm model. We implement a general adsorption operator and illustrate its versatility for the description of any complex adsorption mechanism in the case of collective adsorption involving lateral interactions between adsorbed particles and surface selfaggregation [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]. In addition to such complex adsorption phenomena, the proposed algorithm is implemented in a Lattice Boltzmann framework relying on the two relaxation time (TRT) approach which offers a robust technique to solve the advection/adsorption/diffusion problem at stake. The implementation of the TRT scheme is as simple as the Bhatnagar-Gross-Krook (BGK) method while ensuring the improved numerical accuracy and stability of the multiple relaxation time (MRT) approach. In particular, the TRT scheme is a very efficient operator for low Reynolds number flow with computational costs equivalent to those relying on the single relaxation time approach. This opens the way to the exploration of a broad range of thermodynamic and kinetic conditions (both in terms of fluid flow and adsorption). As illustrated in this paper, this extended Lattice Boltzmann approach allows considering, for any adsorption model (i.e. beyond Henry and Langmuir adsorption), the transport of adsorbing molecules at any stage along the adsorption kinetics (from the early adsorption stage at an adsorbate free surface to the long-time, i.e. equilibrium, limit). In particular, the different following stages can be investigated in detail: diffusive regime, advectiondominated regime, and dispersive regime (with results validated against simple known physical limits such as Taylor dispersion modified to include adsorption).

In brief, our extended Lattice Boltzmann method relies on the formal treatment of the advection/diffusion phenomenon which is augmented to include adsorption. For this reason, the approach derived in this article can be seen as equivalent to solving the diffusion/advection/ adsorption equation but using a Lattice Boltzmann technique. The use of a Lattice Boltzmann approach allows us to embark the full power of this general method; combining a robust hydrodynamic framework compatible with statistical mechanics aspects while treating complex porous media through the use of a lattice approach [START_REF] Satoh | Introduction to practice of molecular simulation: molecular dynamics, Monte Carlo, Brownian dynamics, Lattice Boltzmann and dissipative particle dynamics[END_REF][START_REF] Sudhakar | Evolution of multiphase Lattice Boltzmann method: a review[END_REF][START_REF] So | Progress in the development of a new lattice Boltzmann method[END_REF]. In practice, the advection/diffusion part is solved using an already available Lattice Boltzmann method im-plemented with the two relaxation time scheme; this algorithm consists of performing a collision step followed by a propagation step for the solute molecules within the flowing fluid [START_REF] Talon | Assessment of the two relaxation time Lattice-Boltzmann scheme to simulate Stokes flow in porous media[END_REF][START_REF] Batot | Analytical and numerical investigation of the advective and dispersive transport in Herschel-Bulkley fluids by means of a Lattice-Boltzmann Two-Relaxation-Time scheme[END_REF]. Adsorption is included within this robust formalism by adding a third step -between the collision and propagation steps -by updating the free and adsorbed tracer concentrations using a given adsorption kinetic equation. Like with other Lattice Boltzmann methods, the Stokes flow is precalculated and assumed to remain unaffected as adsorption proceeds. As already stated, the use of this generic approach allows considering any adsorption mechanisms from well-known regimes such as Henry, Langmuir or Sips adsorption isotherms to more complex behaviors with collective adsorption phenomena.

The remainder of this article is organized as follows. In Section II, we introduce this extended Lattice Boltzmann method that accounts for adsorption thermodynamics and kinetics in a flowing fluid. After providing the main key ingredients/steps, we write formally the resulting equations to be solved numerically for different adsorption regimes: Langmuir adsorption model (which includes the Henry adsorption regime as it corresponds to the low concentration limit of the Langmuir model) and a recently published model which includes cooperative adsorption [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]. In this first section, we also provide details about the simulation setup and procedure as well as a flow chart to illustrate how a typical simulation is conducted. In Section III, we validate our approach by considering adsorption kinetics under no flow conditions for different regimes: Henry, Langmuir, and cooperative adsorption. For different concentrations, using a prototypical slit pore geometry, we show that our method provides an exact description of the known solution to these problems (as theoretical treatments are available for such simple adsorption examples in ideal pore geometries). In Section IV, we extend this validation by considering more complex situations where adsorption equilibration proceeds from an initial injection configuration within the flowing fluid (typically, a constant concentration is injected at a well defined position for a given time period). It is shown that the results obtained using our method match the exact solution derived for a slit pore treated with Henry adsorption conditions [START_REF] Levesque | Taylor dispersion with adsorption and desorption[END_REF]. In Section V, we provide some concluding remarks.

II. EXTENDED LATTICE BOLTZMANN METHOD

A. Kinetics implementation

Problem statement

Lattice Boltzmann methods are known to be very robust techniques to investigate complex phenomena involved in porous media such as multiphase flow [START_REF] Boek | Multiphase-flow and reactive-transport validation studies at the pore scale by use of lattice Boltzmann computer simulations[END_REF] and dissolution [START_REF] Gray | Simulation of dissolution in porous media in three dimensions with lattice Boltzmann, finite-volume, and surface-rescaling methods[END_REF] (see also Ref. [START_REF] Gray | Enhancing computational precision for lattice Boltzmann schemes in porous media flows[END_REF]). Let us consider a discretized porous material made up of solid sites coexisting with porous sites that are accessible to the carrying fluid and dispersing tracers (Fig. 1). All fluid sites adjacent to a solid site adsorb tracer molecules. In what follows, two populations will be considered: free and adsorbed tracers with their corresponding concentrations c(r, t) and c a (r, t) at a time t and position r. The adsorbed tracer concentration in porous sites not in contact with the solid phase is assumed to be zero (physically, this approximation is justified by the fact that the mesoscopic lattice spacing used in Lattice Boltzmann extends far beyond the typical range of intermolecular forces responsible for adsorption). For the sake of simplicity, throughout this article, a simple slit pore geometry is considered but the method derived here can be extended to any pore geometry. While such a simple, i.e. slit, geometry fails to capture morphological (pore shape) and topological (pore connectivity) disorders, it allows illustrating how the specificities of the adsorption thermodynamics and kinetics at play affect tracer molecule dispersion in porous media. In particular, by considering such a regular model, our approach allows identifying the role of surface saturation (Langmuir adsorption) and collective adsorption (cooperative adsorption) compared to simple Henry-type adsorption. Moreover, as shown in this paper, the use of the slit geometry allows verifying that our approach recovers known analytical limits (e.g. Taylor dispersion with and without adsorption). All Lattice Boltzmann simulations are performed for 2D systems to ensure that the computational burden remains reasonable. In practice, this means that the porous system shown in Fig. 1 corresponds to a slice of a slit pore.

The porous system depicted in Fig. 1(a) is subjected to a stationary, laminar liquid flow -the so-called carrying fluid -which is assumed to be entirely described through its Stokes velocity field u(r). The latter is precalculated using regular Lattice Boltzmann simulations which do not account for the presence and, a fortiori, for adsorption of the tracer molecules. In practice, the resulting Stokes flow is assumed to remain constant/independent upon subsequent injection, diffusion, and adsorption of the tracer molecules. As shown in Fig. 1(b), at a given time t = 0, the free tracers are injected for a given duration ∆t 0 which can be varied from a single to several time steps ∆t 0 = n∆t (with n an integer defined strictly positive and ∆t the Lattice Boltzmann integration timestep). Different spatial distributions can be injected during the injection time ∆t 0 : either a homogeneous distribution c(r) = c 0 , ∀r or a heterogeneous distribution like a concentration slice c(r 0 ) = c 0 with r 0 = (x 0 , y) such that x 0 is a given lateral position within the slit pore.

As described below, the coupled dynamics resulting from advection, diffusion, and adsorption can be determined by following the evolution in time of the free and adsorbed tracer distributions. The variance σ 2

x (t) of the free tracer distribution c(r, t) along the direction x provides a direct measurement of the dispersion coefficient D(t → ∞) with D(t) ∼ dσ 2

x (t)/2dt. On the other hand, Starting from a concentration peak injected at a given time t = 0 in a slice located in x0, the density broadens as molecular diffusion leads to tracer dispersion within the pore. The different colors denote different times which increase from left to right as the carrying fluid is transported along this direction). Under laminar flow conditions, the concentration distribution in the long time limit is given by Taylor regime where tracer dispersion leads to a concentration distribution with a Gaussian shape.

the time evolution of the adsorbed tracer distribution c a (r, t) allows determining the resulting adsorption kinetics f (t) ∼ c a (r, t). In practice, while our Lattice Boltzmann calculations are performed using local volume concentrations c(r, t) and c a (r, t), most of our results will report adsorbed quantities expressed as surface concentrations Γ(r, t). Considering that Γ(r, t) = c a (r, t)∆x where ∆x is the lattice spacing used in the Lattice Boltzmann calculations, the two quantities are strictly equivalent. In particular, when expressed in Lattice Boltzmann units (∆x = 1), the surface and bulk concentrations of adsorbed tracers follow the same evolution Γ(r, t) ∼ c a (r, t)

[for the sake of clarity, in what follows, the different evolution equations are reported using bulk concentrations c(r, t) and c a (r, t)].

Algorithm and flow chart

Fig. 1 in the Supplemental Material shows a flow chart presenting the algorithm corresponding to our extended Lattice Boltzmann approach. Once the pore geometry has been defined, the Stokes flow of the carrying fluid is calculated using an independent Lattice Boltzmann simulation. The presentation of this first step is skipped here as it corresponds to conventional Lattice Boltzmann simulations for Stokes flow (leading to the conventional Poiseuille flow for the slit pore geometry). In practice, as a first order approach, the Stokes field is assumed to remain constant as adsorption proceeds. While this corresponds to a simplified problem description, it is considered reasonable in many situations (see for instance Ref. [START_REF] Cazade | Structure and Dynamics of an Electrolyte Confined in Charged Nanopores[END_REF] where the distribution of water was found to be only very weakly sensitive to ion adsorption). In particular, this allows disentangling important effects such as the role of specific adsorption regimes (thermodynamics and kinetics) at constant flow field. In contrast, this prevents from investigating more complex situations such as when adsorption modifies the wetting/hydrodynamic boundary properties of the solid surface [START_REF] Wang | Slip Boundary Condition for Lattice Boltzmann Modeling of Liquid Flows[END_REF] or when adsorption can lead to pore blockage [START_REF] Boek | Multi-scale Simulation of Asphaltene Aggregation and Deposition in Capillary Flow[END_REF]. In any case, while this is beyond the scope of the present paper, we note that the approximation of a constant stokes flow could be released by recalculating after each adsorption/diffusion step below the modified Stokes field.

Once the Stokes field has been determined, tracers are injected at a time t = 0 according to a well defined time and space distribution as shown in Fig. 1(b). For a given Stokes flow, starting from such initial conditions, the dispersion and adsorption kinetics of the free and adsorbed tracers are computed by incrementing the time t in a discretized manner t → t + ∆t. Each time increment ∆t involves three intermediate steps which redistribute the free and adsorbed tracers due to collision, adsorption, and propagation. The collision and propagation steps, which are identical to those used in conventional Lattice Boltzmann calculations, only apply to the free tracer distribution c(r, t). On the other hand, the adsorption step applies to both the free and adsorbed tracer molecules as it corresponds to a kinetic equation that redistributes molecules between c(r, t) and c a (r, t). In practice, as described hereafter for each step, these different intermediate steps apply to the free molecule subdistribution g q (r, t) which corresponds to the density of free tracers having a velocity v q along the direction q at a position r and time t (we recall that the tracer velocity v q should not be confused with the Stokes field u corresponding to the carrying liquid). We perform our simulations with the D2Q9 lattice classification so that the particles are allowed to stream in 9 directions following the velocity set v q (with q ∈ {0, .., q m = 8}). The immobile (zero velocity) population corresponds to the index 0. The D2Q9 velocity set involves four "coordinate" velocities v q = (±1, 0), (0, ±1) and four "diagonal" velocities v q = (±1, ±1).

Let us introduce the different free tracer distributions g q (r, t), gq (r, t) and gq (r, t) obtained after the propagation, collision and adsorption steps, respectively. Because these different functions are normalized, the concentrations in free tracers after the collision, adsorption, and propagation steps are readily obtained as c(r, t) = q gq (r, t), c(r, t) = q gq (r, t), and c(r, t) = q g q (r, t). For reasons that will become clearer below when introducing the different intermediate steps, we do not need to introduce the molecule distributions for the adsorbed tracers (for these molecules, we only consider the total concentration c a which is directly linked to c because of overall density conservation). Moreover, while the q-components g q (r, t) of the distribution g(r, t) are redistributed during the collision/propagation steps (as physically expected), their fraction xq (r, t) = gq (r, t)/c(r, t) = gq (r, t)/ q gq (r, t) remains unaffected during the adsorption step [i.e. xq (r, t) = xq (r, t)]. This approximation consists of assuming that the velocity distribution v q among the different components q are not changed during the adsorption step despite the change in the total number of free tracers within the overall time step ∆t, i.e. ∆c(r, t) = -∆c a (r, t) (where the symbol ∆ indicates that the difference is taken between the collision step ˜and the adsorption step ˜). This approximation can be also rationalized by invoking that, regardless of their velocity, all tracers get adsorbed with the same adsorption rate. Reciprocally, this approximation also implies that all desorbing tracers are reintroduced in the free tracer population according to a velocity distribution that verifies the current q-component distribution.

• Collision. At a given time step t, the components g q (r, t) at each site r are redistributed among the site populations to mimic molecule collisions [START_REF] Humières | Generalized lattice-Boltzmann equations[END_REF][START_REF] Lallemand | Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, Galilean invariance, and stability[END_REF]:

gq (r, t) = Ω[g(r, t)] q (1)
where g(r, t) denotes the set of q-components g q (r, t)

and Ω[g(r, t)] q the collision operator which transfers momentum between the different q-components. The Two-Relation-Time method (TRT) is an extended Lattice Boltzmann scheme where the collision operator involves different relaxation rates for the symmetric and anti-symmetric components. The symmetric and antisymmetric components are defined as g + q = (g q + g q )/2 and g - q = (g q -g q )/2 for q ∈ {1, ..., q m /2} (for q = 0, we have g + 0 = g 0 and g - 0 = 0). In the TRT approach, the update rule for the symmetric and anti-symmetric equilibrium components e ± q is performed separately with two relaxation parameters: λ + for all symmetric nonequilibrium components n + q = g + q -e + q and λ -for all antisymmetric non-equilibrium components n - q = g - q -e - q . For the zero velocity, e + 0 = e 0 and e - 0 = 0. The collision update rule for the TRT scheme is given by the following equations applied to q ∈ {1, .., q m /2} [START_REF] Ginzburg | Optimal stability of advection-diffusion lattice Boltzmann models with two relaxation times for positive/negative equilibrium[END_REF]:

gq (r, t) = g q (r, t) + λ + n + q + λ -n - q gq (r, t) = g q (r, t) + λ + n + q -λ -n - q g0 (r, t) = g 0 (r, t) (1 + λ + ) -λ + e 0 (2)
The equilibrium components for the D2Q9 scheme are [START_REF] Ginzburg | Optimal stability of advection-diffusion lattice Boltzmann models with two relaxation times for positive/negative equilibrium[END_REF]:

           e + q (r, t) = c(r, t)E + q e - q (r, t) = c(r, t)E - q e + 0 (r, t) = e 0 = c(r, t)E 0 e - 0 (r, t) = 0 (3)
with

               E + q = t * q v e + t * q 2 [3(u • v q ) 2 -u 2 ] E - q = t * q (u • v q ) E 0 = 1 - qm q=1 E + q (r, t) (4)
where the diffusion-scale equilibrium parameter v e is defined as v e = (D xx + D yy )/2. In the above equation, t * q = {1/3; 1/12} are the isotropic weights while u = {u x , u y } is the advective velocity with u 2 = u 2

x + u 2 y . The diffusion coefficients are taken as

D xx = D yy = D m /Λ -.
With the TRT scheme, two important relaxation numerical parameters Λ ± and Λ must be chosen to ensure that the solutions correspond to a stable algorithm leading to a physically correct picture. These parameters are linked to the relaxation constants λ ± as follows [START_REF] Ginzburg | Optimal stability of advection-diffusion lattice Boltzmann models with two relaxation times for positive/negative equilibrium[END_REF]:

Λ = Λ + Λ - Λ ± = -(1/2 + 1/λ ± ) for -2 < λ ± < 0 (5)
As mentioned by Ginzburg et al. [START_REF] Ginzburg | Optimal stability of advection-diffusion lattice Boltzmann models with two relaxation times for positive/negative equilibrium[END_REF], an optimal TRT subclass requires to choose Λ + and Λ -such that Λ = 1/4 (in this work, we use Λ + = 4 and Λ -= 1/16). The velocity field u is obtained from the Stokes simulation results at equilibrium. At the end of this collision step, the local free tracer molecule concentration is readily obtained as c(r, t) = q gq (r, t).

• Adsorption. The treatment used for the adsorption step depends on the exact adsorption mechanism and underlying kinetics considered. The different regimes considered in this article -Henry, Langmuir, and cooperative adsorption -will be described specifically in the following section. From a very general viewpoint, the adsorption step simply follows the first order kinetic equation which leads to the adsorption isotherm. In practice, starting from the free and adsorbed tracer concentrations [c(r, t) and ca (r, t)] obtained after the collision step at time t, the adsorption step leads to updated concentrations c(r, t) and ca (r, t). As already mentioned, the distribution ratio xq between the different q-components is assumed to be unaffected during the adsorption step. Using the concentration definition, i.e. c(r, t) = q gq (r, t), we choose to redistribute the variation induced by the adsorption operator A(c, ca ) = ∆c(r, t) = c(r, t) -c(r, t) between the different gq components in a homogeneous and proportional manner. The latter implies that the molecule distributions gq (r, t) after the adsorption step obey the following evolution equation:

gq (r, t) = gq (r, t) -xq (r, t)A(c, ca ) (6)
where xq (r, t) = gq (r, t)/c(r, t) is the fraction of particles following a velocity set v q at time t and position r. The explicit expression for the adsorption operator A(c, ca ) will be detailed in section II.3 as it specifically depends on the adsorption kinetics under consideration.

• Propagation. At a given time step t, after the collision/adsorption intermediate steps described above, the distribution components gq (r, t) at each site r are redistributed among the neighboring sites [START_REF] Humières | Generalized lattice-Boltzmann equations[END_REF][START_REF] Lallemand | Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, Galilean invariance, and stability[END_REF]. The change induced by this propagation step in the free tracer distribution between t and t + ∆t can be expressed as:

g q (r + v q ∆t, t + ∆t) = gq (r, t) (7)
This simple propagation scheme displaces the molecule distribution gq (r, t) using the velocity set {v q }. In more detail, the molecules still located at node r at time t after the collision and the adsorption steps are transferred to node r + v q ∆t at the end of each iteration.

Adsorption mechanisms and kinetics

Adsorption kinetics is known to significantly impact the transport of molecules in porous media. Here, in an attempt to shed light on the interplay of tracer adsorption and transport, we employ the Lattice Boltzmann approach introduced above to consider different adsorption models. We consider the Henry, the Langmuir and the cooperative adsorption models introduced in our recent work on surfactant adsorption [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]. While the Henry adsorption isotherm is effective in the low concentration range, the Langmuir adsorption isotherm accounts for site saturation as the surface concentration of adsorbed tracers increases. The cooperative model allows accounting for adsorbate molecule interactions as well as for possible cooperative effects on adsorption thermodynamics and kinetics (as will be discussed in more detail below, cooperative refer in this context to adsorbate collective effects upon adsorption such as lateral interactions and surface aggregation). In what follows, we present the adsorption/kinetic equations that should be specifically implemented to consider these different regimes in our extended Lattice Boltzmann approach. Henry adsorption. The Henry model is the simplest adsorption isotherm. The adsorbed amount is assumed to be proportional to the bulk concentration of adsorbate molecules. The underlying kinetics for this adsorption isotherm is defined as:

∂Γ ∂t = k A cΓ ∞ -k D Γ (8)
where k A and k D are the adsorption and desorption rates and Γ ∞ the surface density of adsorbing sites. The solution resulting from Eq. ( 8) is given by:

Γ(t) = Γ ∞ kc[1 -e -k D t ] with k = k A /k D (9)
With this simple model, the adsorbed amount increases linearly with the bulk molecule concentration c. To mimic Henry adsorption, the adsorption step in the extended Lattice Boltzmann method proposed here simply follows the first order kinetic equation leading to a linear adsorption isotherm. Starting from the free and adsorbed tracer concentrations obtained after the collision stepc(r, t) and ca (r, t) -the adsorption kinetics can be written as:

ca (r, t) = p A c(r, t) + [1 -p D ]c a (r, t) (10) c(r, t) = c(r, t) -p A c(r, t) + p D ca (r, t) (11)
where p A and p D are the adsorption and desorption rates in Lattice Boltzmann units. The symbols ˜and ĩndicate quantities obtained after the intermediate collision and adsorption steps, respectively. Physical values for p A and p D can be obtained from the comparison with the physical kinetic equation, i.e. ∂Γ(r, t)/∂t = k A c(r, t)-k D Γ(r, t) (with the surface concentration readily obtained from the adsorbed tracer concentration, i.e. Γ(r, t) = c a (r, t)∆x). Considering that k A is in m.s -1 and k D in s -1 , such a comparison shows that p A = k A ∆t/∆x and p D = k D ∆t. The expression of the operator A(c, ca ) for the definition of the molecule distributions gq (r, t) in Eq. ( 6) becomes for the Henry adsorption:

A(c, ca ) = p A c(r, t) -p D ca (r, t) (12)
Surface saturation. To cover a wider concentration range, we now turn to the Langmuir adsorption model in which molecules are assumed to adsorb on well defined sites at the solid surface. All sites are identical and each site can adsorb only one molecule so that adsorption only leads to monolayer adsorption. The energy of each adsorbed molecule is independent of the neighboring sites (no lateral interactions between neighboring adsorbed molecules). For very small concentrations c, the Langmuir model is equivalent to the Henry model. The underlying kinetic equation for Langmuir adsorption is defined as:

∂Γ ∂t = k A c(Γ ∞ -Γ) -k D Γ ( 13
)
whose solution is given by:

Γ(t) = [1 -e -k D (1+kc)t ] Γ ∞ kc 1 + kc with k = k A /k D (14)
The Langmuir adsorption model is a simple non-linear equation which accounts for surface saturation upon adsorption; the adsorbed concentration c a (r, t) cannot exceed c ∞ a . Adsorption increases rapidly with concentration in the low concentration range and then reaches a plateau asymptotically as the surface sites become saturated with already adsorbed molecules. Implementing the Langmuir model in our Lattice Boltzmann approach simply requires to modify Eqs. [START_REF] Hlushkou | Effect of adsorption on solute dispersion: a microscopic stochastic approach[END_REF] and [START_REF] Miura | Diffusion influenced adsorption kinetics[END_REF] to account for surface saturation:

ca (r, t) =p A c(r, t) 1 - ca (r, t) c ∞ a + (1 -p D )c a (r, t) (15) c(r, t) =c(r, t) -p A c(r, t) 1 - ca (r, t) c ∞ a + p D ca (r, t) (16)
where c(r, t) and c a (r, t) denote the free and adsorbed tracer concentrations. As already stated, the symbols ˜and ˜indicate quantities obtained after the intermediate collision and adsorption steps, respectively. Like for the Henry regime, the adsorption parameters p A , p D and c ∞ a can be derived by formally writing the analogy with the Langmuir adsorption kinetics ∂Γ(r, t)/∂t = [1 -Γ(r, t)/Γ ∞ ] k A c(r, t) -k D Γ(r, t) (where the maximum surface concentration is defined as Γ ∞ = c ∞ a ∆x). This leads to the same definition for p A and p D as with the Henry model: p A = k A ∆t/∆x and p D = k D ∆t. Moreover, due to mass balance condition, the q-components of the free tracer distribution gq (r, t) after the adsorption step are generated by an adsorption operator A(c, ca ) in Eq. ( 6) defined as:

A(c, ca ) = p A c(r, t) 1 - ca (r, t) c ∞ a -p D ca (r, t) (17)
Cooperative adsorption. A cooperative adsorption model was recently introduced to describe the adsorption of complex molecules such as surfactants. Full details can be found in Ref. [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF] so that we only provide the main ingredients here. One defines a surface critical concentration c s , which corresponds to the minimum concentration to observe the formation of aggregated (self-assembled) structures at the solid surface. While only adsorption of individual monomers m occurs below c s , both individual monomers m and aggregated monomers m adsorb on the surface sites s for c ≥ c s . The adsorption of the individual monomers follow the Henry or the Langmuir adsorption kinetics as defined above. In contrast, a different kinetic equation for the adsorption/desorption of aggregated monomers is introduced:

∂Γ m (c, t) ∂t =k A (Γ m ) c Γ ∞ -Γ m (c, ∞) -βΓ m (c, t) -k D (Γ m ) Γ m (c, t) (18)
where Γ m (c, t) is the surface concentration in aggregated monomers m while Γ m (c, ∞) is the surface concentration of individual adsorbed monomers m. The parameter β accounts for the fact that the adsorption of a single monomer in aggregated objects only occupies a fraction β of the surface site. The adsorption and desorption rates k A and k D explicitly depend on the surface concentration Γ m . At equilibrium, this kinetic equation leads to the following solution for a bulk concentration c:

Γ m (c, ∞) = [Γ ∞ -Γ m (c, ∞)] k (Γ m )c [1 + βck (Γ m )] (19)
where

k (Γ m ) = k A (Γ m )/k D (Γ m ).
To implement the cooperative adsorption model into the Lattice Boltzmann approach introduced above, we distinguish two adsorbed concentrations: the concentration of adsorbed isolated monomers c a,m (r, t) and the concentration of adsorbed aggregated monomers c a,m (r, t). The total surface concentration of adsorbed monomers is simply the sum of the two concentrations: c a (r, t) = c a,m (r, t) + c a,m (r, t). For c < c s , the situation is simple as only isolated monomers get adsorbed so that the interplay of adsorption kinetics and molecule transport can be described using the Lattice Boltzmann approach using either the Henry or Langmuir regime (depending on the type of adsorption isotherm observed). In contrast, for c(r, t) ≥ c s , both the adsorption of individual and aggregated monomers must be considered.

To simplify the problem, we assume that the adsorption of isolated monomers is an instantaneous process: c a,m (r, t) = c a,m (r, ∞) ∀t.

With this approximation, we can recast the adsorption kinetics defined in Eq. ( 18) by:

∂Γ m (r, t)/∂t = [1 -(βΓ m (r, t) + Γ m (r, ∞))/Γ ∞ ] k A c(r, t) -k D Γ m (r, t)
where k A and k D depend on the adsorbed amount Γ m (r, t) = c a,m (r, t)∆x. In practice, assuming β = 1 and constant adsorption/desorption rates k A and k D allows recovering the Langmuir adsorption model. This cooperative model can be implemented in our Lattice Boltzmann approach by modifying the kinetic evolution described in Eqs. [START_REF] Hlushkou | Effect of adsorption on solute dispersion: a microscopic stochastic approach[END_REF] and [START_REF] Miura | Diffusion influenced adsorption kinetics[END_REF]

as follows: ca,m (r, t) = p A c(r, t) 1 - βc a,m (r, t) + c a,m (r, ∞) c ∞ a +(1 -p D )c a,m (r, t) (20) c(r, t) = c(r, t)-p A c(r, t) 1 - βc a,m (r, t) + c a,m (r, ∞) c ∞ a +p D ca,m (r, t) (21)
where c ∞ a = Γ ∞ /∆x, p A = k A ∆t/∆x and p D = k D ∆t. Finally, at the end of the adsorption step, the adsorbed amount ca (r, t) = c a,m (r, ∞)+ ca,m (r, t) is obtained from Eq. ( 6) with the operator A(c, ca ) given by:

A(c, ca ) = p A c(r, t) 1 - βc a,m (r, t) + c a,m (r, ∞) c ∞ a -p D ca,m (r, t) (22)

III. ADSORPTION KINETICS UNDER NO FLOW CONDITIONS

In this section, we present the results from the Lattice Boltzmann approach for different adsorption models: Henry and cooperative adsorption models (for the sake of brevity, the results for the Langmuir adsorption model are discussed in detail in the Supplementary Material). We consider here static conditions, i.e. under no flow condition, as we first aim at validating the correct adsorption kinetics implementation for each model. In more detail, we check that the Lattice Boltzmann approach introduced above correctly generates the different adsorption isotherms Γ(c, ∞) as well as the underlying adsorption kinetics Γ(c, t). In practice, for such simulations performed in the absence of any liquid flow, each fluid node is filled at a time t = 0 with a concentration c 0 (i.e. c(r, t = 0) = c 0 ; ∀r). The evolution of the surface concentration Γ as a function of time t is then monitored together with the asymptotic value of Γ(c, ∞) at infinite time as a function of the remaining free tracer concentration c. At first, the influence of the initial concentration c 0 on the adsorption behavior is considered. The numerical adsorption kinetics is then compared with the analytical solution of the kinetics equation. Adsorption is only considered at an adsorbing site located far from the pore entrance/exit to avoid numerical instabilities/artifacts. Typically, for the slit pore considered here having a length L x = 1000∆x, the adsorbed amount in the slice located at x = 200∆x is monitored.

A. Henry adsorption

As shown in Fig. 2, the Henry adsorption model predicts a linear relationship between the adsorbed amount Γ and the free tracer concentration c. Starting from different initial concentrations c 0 , our Lattice Boltzmann approach converges towards a final solution that perfectly matches the theoretical prediction corresponding to the solid black line. For each initial concentration c 0 , the dashed line indicates the time evolution of the adsorbed amount which eventually reaches the equilibrium value. Such time evolution indicates that the adsorption kinetics follows nearly a vertical line (i.e. at constant free tracer concentration c) even if a small inflection towards the adsorption isotherm is observed when reaching equilibrium. This result can be explained by the fact that the adsorption/desorption ratio k H = 0.01 chosen here is very low; therefore, the bulk concentration in such static simulations does not change much since the adsorbed concentration corresponds to a very small contribution of the overall bulk concentration, c a ∼ k H c. Yet, close inspection of the time evolution of the free tracer concentration c at the adsorbing sites (i.e. open circles) reveals an interesting behavior. Starting from the initial concentration c 0 at t = 0, c slightly decreases in the first time steps due to rapid adsorption in the adsorbing sites. How-ever, after a number of iterations (i.e. timesteps), the depletion of free tracers near the surface due to adsorption induces a diffusive flux of free tracers from the bulk. This leads to an increase in the free tracer concentration until equilibrium is reached (where, as expected, the final bulk concentration is only slightly smaller than the initial value c 0 due to the large reservoir size in the considered pore geometry). Overall, the results above indicate that the Henry adsorption isotherm as implemented in our Lattice Boltzmann scheme allows reproducing the thermodynamic equilibrium described using this canonical model. Let us now consider more specifically the adsorption kinetics as predicted using the Lattice Boltzmann approach including adsorption/desorption. Fig. 3 shows that the adsorption kinetics obtained using the Lattice Boltzmann calculations matches within numerical errors the known analytical solution corresponding to Eq. ( 9). This result further validates our model by showing that it provides an accurate and reliable description of the Henry adsorption kinetics. As shown in the Supplemental Material, the same agreement was obtained for the Langmuir regime which is not presented here for the sake of clarity (see discussion in paragraph "Langmuir adsorption model under no flow conditions"). while the open circles are the results from the Lattice Boltzmann calculations. Each color corresponds to a given initial concentration c0 as indicated in the graph. For each color, the dashed line presents the time evolution of the adsorbed amount Γ(t). The insert shows the concentration of free tracers in the adsorbing sites as a function of time.

B. Cooperative adsorption

To further validate the robustness of the implemented lattice Boltzmann approach, we now consider the cooperative model introduced above. The model data used are taken from Ref. [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF] in which the adsorption of TX100 surfactants in porous silica was considered. To make our

Γ(t)

FIG. 3. Comparison between the adsorption kinetics Γ(t) predicted using Lattice Boltzmann simulations and the analytical expression for the Henry adsorption regime. These data are obtained for an adsorption isotherm corresponding to the Henry regime with a Henry constant kH = 0.01 (pA = 0.0005 and pD = 0.05). The initial concentration is c0 = 10. The open symbols correspond to the numerical solution using the Lattice Boltzmann model while the dashed line indicates the analytical expression for Henry kinetics as described in Eq. ( 9). validation as complete as possible, the following packing fractions β will be considered: β = 0.2, 0.5, and 1. We first test the ability of the Lattice Boltzmann approach to generate adsorption isotherms predicted using the cooperative adsorption model. Like with the Henry and Langmuir regimes, this test is performed for a system taken under no flow conditions. The specificity of the cooperative adsorption model lies in its ability to describe collective effects induced by lateral surface interactions and surface aggregation of adsorbing molecules. As already discussed, in this model, such cooperative effects only manifest themselves for bulk concentrations above the socalled critical surface concentration c s (below this value, the model simply assumes that isolated monomer adsorption follows a Henry or Langmuir adsorption isotherm). As a first validation test, we aim at verifying the ability of the Lattice Boltzmann approach to accurately predict the total adsorbed amount Γ(c) = Γ m (c) + Γ m (c) in equilibrium with a bulk concentration c (we recall that Γ m (c) and Γ m (c) are the adsorbed amount of isolated and aggregated monomers, respectively). Fig. 4 shows the adsorbed amount Γ(c) as a function of the bulk concentration c. Both the results obtained using the Lattice Boltzmann approach and the predictions of the thermodynamic model are shown. In this figure, the colored dashed lines indicate the time evolution of the adsorbed amount Γ(c, t). For different initial concentrations varying between c 0 = 50 to c 0 = 700, the results of the Lattice Boltzmann calculations are in perfect agreement with the theoretical predictions. As discussed above for the Henry regime, the time evolution seems to follow a nearly vertical line -i.e. at constant bulk concentration -due to the very large reservoir size with respect to the number of adsorbing sites. Indeed, with the cooperative model, applied to the data of TX100 surfactant adsorption on quartz silica, the adsorption constant is such that k < 0.02 so that the overall adsorbed amount represents a very small fraction of the total bulk concentration. The blue, red and green colors in Fig. 4 correspond to different aggregation numbers/packing fractions β. The influence of this important parameter was tested for the same initial concentration. In more detail, two examples were considered: c 0 = 100 and c 0 = 200 which are respectively below and above the critical surface concentration c s ∼ 115. The results in Fig. 4 show that, regardless of the aggregation number considered, the Lattice Boltzmann model accurately predicts the adsorbed amount derived using the cooperative adsorption model. Cooperative adsorption model for the adsorption of TX100 surfactants onto silica (all details can be found in Ref. [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]). The adsorbed amount is expressed as the surface concentration Γ as a function of the bulk concentration c. The black solid line denotes the theoretical adsorption isotherm as predicted using the cooperative model while the black circles denote the experimental data. The colored symbols correspond to the kinetic results obtained using the Lattice Boltzmann calculations. The different colors denote the results of the cooperative model with different aggregation constants: β = 0.2 (blue), β = 0.5 (red), and β = 1.0 (green). Each dotted line indicates the time evolution of the adsorbed amount Γ(t) for a specific aggregation constant β and an initial concentration c0. cs is the surface aggregation concentration while CMC is the critical micelle concentration.

To study the kinetics of the cooperative model using the Lattice Boltzmann algorithm, we follow the time evolution of the adsorbed amount of aggregated monomers Γ m (in fact, this is the only relevant choice that can be made since the adsorption kinetics for individual adsorbed monomers is assumed to be instantaneous in the cooperative adsorption model). Using the same data set discussed in the previous paragraph, an initial concentration c 0 larger than the critical surface concentration c s is considered (typically, c 0 = 250). The cooperative adsorption model is a simple -versatile and adjustablemodel since various adsorption kinetics can be described by tuning the values used for p A and p D (and hence k ) [START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]. In the framework of this cooperative adsorption model, we validate in what follows the kinetics described by the Lattice Boltzmann approach by selecting the two following situations: (1) a constant adsorption rate p A ∼ ν 1 [Fig. 5(a)] and a constant desorption rate p D ∼ ν 0 [Fig. 5(b)]. The dashed lines in Fig. 5 present the analytical kinetics as predicted using the cooperative adsorption model while the symbols correspond to the data obtained using the Lattice Boltzmann calculations. Such a comparison indicates that the results from the analytical kinetic equation are correctly reproduced by the Lattice Boltzmann model.

IV. ADSORPTION KINETICS UNDER FLOW CONDITIONS

As already stated, the Lattice Boltzmann approach presented in this article enables studying the transport of adsorbing molecules under dynamical conditions. In more detail, in the presence of a flowing liquid characterized by its Stokes flow u, these Lattice Boltzmann simulations allow investigating the adsorption kinetics under flowing conditions. The interplay between molecule adsorption and their advective/diffusive transport can be described analytically using the classical advectiondiffusion-adsorption equation

∂c(r, t) ∂t + u • ∇c(r, t) -∇ • [D m ∇c(r, t)] + ∂c a (r, t) ∂t = 0
(23) where c(r, t) and c a (r, t) are the free and adsorbed tracer concentrations, respectively. u is the Stokes flow velocity while D m is the molecular self-diffusion coefficient of the free tracers. In what follows, the latter equation will be used under simple, specific adsorption conditionsnamely, the Henry regime -to validate the ability of our Lattice Boltzmann approach for adsorption to describe adsorption under flow conditions. Like in the rest of this article, a simple slit pore geometry is used with a length L x = 10000∆x and a width L = 41∆x. The Lattice Boltzmann simulations are performed by monitoring the evolution of the free and adsorbed tracer concentrations after injecting a pulse in the set-up considered in Fig. 1. In more detail, within the flowing fluid, an initial tracer concentration c 0 is injected for a given time ∆t 0 = ∆t in all sites located at a lateral position x 0 (i.e. c(r 0 , t) = c 0 ; ∀r 0 = (x 0 , y)). After such injection, the tracer dispersion in the pore geometry is monitored while imposing surface adsorbing conditions corresponding to the Henry regime. Such a simple adsorption model was chosen as it will provide reference data when studying more complex adsorption kinetics.

A. Dispersion of adsorbing tracers

Adding adsorbing surface conditions to the problem of tracer dispersion in a flowing fluid drastically affects the well-known Taylor dispersion regime [START_REF] Van Duijn | Effective dispersion equations for reactive flows with dominant Peclet and Damkohler numbers[END_REF][START_REF] Bruining | Computation of the longitudinal and transverse dispersion coefficient in an adsorbing porous medium using homogenization[END_REF]. In particular, the resulting -effective -dispersion coefficient is influenced by the adsorption kinetics. Several authors have reported observations on the dispersive regime in the transport of adsorbing tracer molecules [START_REF] Vanson | Unexpected coupling between flow and adsorption in porous media[END_REF][START_REF] Vanson | Transport and adsorption under liquid flow: the role of pore geometry[END_REF][START_REF] Guo | Modeling adsorption with lattice Boltzmann equation[END_REF][START_REF] Ning | Numerical modeling of slippage and adsorption effects on gas transport in shale formations using the lattice Boltzmann method[END_REF][START_REF] Agarwal | A lattice Boltzmann model for adsorption breakthrough[END_REF]. Some of these works provide important insights into the impact of adsorption on the Taylor regime in slit pore geometries [START_REF] Vanson | Unexpected coupling between flow and adsorption in porous media[END_REF]. However, these studies did not consider the transient phase where adsorption kinetics is coupled with (advective) transport effects before reaching the dispersive limit. In a first step, the validity of our Lattice Boltzmann approach for adsorption was verified for an analytically known situation. More precisely, in what follows, we consider the dispersion of tracer molecules in a slit pore where adsorption proceeds through a simple Henry model. Formally, this problem was addressed using a statistical physics approach by Levesque et al. [START_REF] Levesque | Taylor dispersion with adsorption and desorption[END_REF]. Using a stochastic treatment, these authors were able to derive an analytical expression for the effective dispersion coefficient for such an ideal yet complex problem. In the long time limit, for a Henry adsorption isotherm with adsorption/desorption constants k A , k D (corresponding to a Henry constant k H = k A /k D ), the effective dispersion coefficient D ads is given by:

D ads D m = 1 + P e 2 (L + 2k H ) 3 × 102Lk H 2 + 18L 2 k H + L 3 210 + 2D m k H k D ( 24
)
where D m is the molecular diffusion coefficient, L the characteristic channel width, u the mean flow velocity, and Pe = uL/D m the Peclet number. Fig. 6 compares the results from the Lattice Boltzmann approach with the theoretical predictions corresponding to Eq.( 24). The data are compared for different Peclet numbers Pe and Henry constants k H . While the solid lines correspond to the predictions using the analytical expression, the symbols denote our simulation results. As can be seen in Fig. 6, the Lattice Boltzmann simulations yield numerical predictions that are in very good agreement with the analytical solution for the effective dispersion coefficient D ads /D m . While the agreement is excellent for all Pe numbers when k H is small, a small departure between the two data sets is noticed for high Pe numbers when k H is large (the Lattice Boltzmann calculations slightly underestimate the effective dispersion coefficient D ads ). This small discrepancy can be assigned to different effects. First, Levesque et al. considered the asymptotic dispersive regime (i.e. no transient regime). Second, we note that the Lattice Boltzmann approach used here is sensitive to the choice of the lattice spacing so that the impact of the latter must be investigated systematically. To investigate such possible numerical effects, the influence of the mesh resolution on the accuracy of the predictions was checked. The same simulation was conducted with different node numbers to describe the pore width L -typically, different node numbers from 9 to 151 were considered. As shown in Fig. 4 in the Supplemental Material, the difference between the dispersion coefficient obtained by means of Lattice Boltzmann calculations and the analytical expression given in Eq. ( 24) decreases with increasing the node number. In all cases, such differences remain within a few % at most. Typically, the difference is less that 1% provided the node number > 20.

B. Transport in adsorption/desorption conditions

As mentioned in the previous section, available studies accounting for surface adsorption in the presence of a flowing fluid consider the dispersive limit -especially the influence of such adsorption conditions on the resulting Taylor dispersion coefficient. Here, we intend to use the Lattice Boltzmann scheme presented in this paper to investigate the interplay between adsorption kinetics and advective/dispersive transport. As shown in Fig. 7, the transient regime where adsorption kinetics and advective/diffusive transport are coupled can be investigated by probing the variance of the tracer displacement as a function of time t after injection at a given time t = 0 and location x = x 0 . While the adsorption kinetics is found to drastically affect the dispersion coefficients at every timestep, the typical evolution shown in Fig. 7 remains similar to the non-adsorbing situation (for comparison, this figure shows both the data for adsorbing and non-adsorbing tracers). The different transition regimes between molecular diffusion, advection-dominated flow, and dispersion are still observed. In the short time range, a first plateau is observed as the molecules get dispersed through molecular diffusion. In the intermediate time range, a transient regime is observed as the dispersion coefficient rapidly increases with time. This transient regime corresponds to the so-called advection-dominated flow where the flowing liquid involves a heterogeneousi.e. position dependent -velocity distribution which increases the dispersion of the tracer molecules. Finally, in the long time range, a second plateau is observed as the

V. CONCLUSION

A Lattice Boltzmann approach was proposed to describe the impact of any adsorption kinetics/type on transport in porous media. In the spirit of previous works [START_REF] Levesque | Accounting for adsorption and desorption in lattice Boltzmann simulations[END_REF][START_REF] Vanson | Transport and adsorption under liquid flow: the role of pore geometry[END_REF][START_REF] Vanson | Kinetic accessibility of porous material adsorption sites studied Through the lattice boltzmann method[END_REF], by adding an adsorption step between the collision and propagation steps in the Lattice Boltzmann algorithm, adsorption of tracer (solute) molecules carried by a flowing fluid (solvent) is accounted for at each lattice site adjacent to the solid surface. In the present work, through the use of a general adsorption operator, any adsorption thermodynamics model and underlying kinetic equation can be implemented (from simple adsorption regimes to complex adsorption phenomena involving lateral interactions between adsorbed molecules and even surface self-assembly). At every lattice site, two molecule populations are considered: free and adsorbed tracers. At each iteration in the numerical method, the adsorption kinetics is taken into account by applying its underlying kinetic equation to both the free and adsorbed tracer concentrations. This approach has the advantage that it allows the use of different adsorption kinetics/models: as shown in this paper, this includes the Henry model with a simple first order adsorption kinetics, the Langmuir model and the impact of surface saturation, and more complex adsorption models such as cooperative adsorption arising from adsorbate lateral interactions and surface aggregation. This algorithm has been validated using a simple pore geometry in which solute adsorption proceeds under either static (stationary) or dynamic (transient) conditions. Under static conditions, our numerical method correctly predicts the known theoretical solution -when available -for the different adsorption models. In particular, such a simple numerical method allows predicting correctly both the adsorption isotherm Γ(c) and its underlying adsorption kinetics Γ(t). Under dynamic conditions, the accuracy of our method has been established by recovering dispersion coefficients predicted from a known analytical solution for the simple Henry adsorption regime. As illustrated in this paper, this general approach allows studying the effects of adsorption thermodynamics and kinetics on transport in porous media. In practice, this method provides a simple computational fluid tool to simulate tracer injection with different resulting transport mechanisms (diffusion, advection and dispersion).

FIG. 1 .

 1 FIG.1. Schematic representation of the simulation setup used in our Lattice Boltzmann calculations. (a) A slit pore having a length Lx and a width L is used as a simple reference system to validate our Lattice Boltzmann method. In the geometry mesh shown here, each site is either a fluid site (white) or a solid site (black). Fluid sites directly in contact with a solid site adsorb tracers (grey). (b) The molecule concentration within the geometry is monitored as a function of time t. These molecules are carried along the pore direction by a flowing liquid whose velocity field corresponds to Stokes flow (corresponding for this simple pore geometry to a Poiseuille velocity profile with a maximum velocity umax). Starting from a concentration peak injected at a given time t = 0 in a slice located in x0, the density broadens as molecular diffusion leads to tracer dispersion within the pore. The different colors denote different times which increase from left to right as the carrying fluid is transported along this direction). Under laminar flow conditions, the concentration distribution in the long time limit is given by Taylor regime where tracer dispersion leads to a concentration distribution with a Gaussian shape.

FIG. 2 .

 2 FIG.2. Henry adsorption isotherm Γ(c) for a Henry constant kH = pA/pD = 0.01 with pA = 0.0005 and pD = 0.05. The adsorbed amount corresponds to the surface concentration Γ. The black solid line is the theoretical prediction Γ = kH c while the open circles are the results from the Lattice Boltzmann calculations. Each color corresponds to a given initial concentration c0 as indicated in the graph. For each color, the dashed line presents the time evolution of the adsorbed amount Γ(t). The insert shows the concentration of free tracers in the adsorbing sites as a function of time.

  FIG.[START_REF] Roque-Malherbe | Adsorption and diffusion in nanoporous materials[END_REF]. Cooperative adsorption model for the adsorption of TX100 surfactants onto silica (all details can be found in Ref.[START_REF] Zaafouri | Cooperative Effects Dominating the Thermodynamics and Kinetics of Surfactant Adsorption in Porous Media: From Lateral Interactions to Surface Aggregation[END_REF]). The adsorbed amount is expressed as the surface concentration Γ as a function of the bulk concentration c. The black solid line denotes the theoretical adsorption isotherm as predicted using the cooperative model while the black circles denote the experimental data. The colored symbols correspond to the kinetic results obtained using the Lattice Boltzmann calculations. The different colors denote the results of the cooperative model with different aggregation constants: β = 0.2 (blue), β = 0.5 (red), and β = 1.0 (green). Each dotted line indicates the time evolution of the adsorbed amount Γ(t) for a specific aggregation constant β and an initial concentration c0. cs is the surface aggregation concentration while CMC is the critical micelle concentration.

FIG. 5 .

 5 FIG. 5. Comparison between the adsorption kinetics predicted using the Lattice Boltzmann simulations and the analytical expression for the cooperative adsorption model for TX100 on silica for an initial concentration c0 = 250. The dashed lines denote the adsorption kinetics as determined by solving numerically Eq.[START_REF] Galarneau | Probing interconnectivity in hierarchical microporous/mesoporous materials using adsorption and nuclear magnetic resonance diffusion[END_REF]. In more detail, these data show Γ m as a function of time t. The open symbols correspond to the numerical results obtained using the lattice Boltzmann model. For each data set, the colors denote the results from the cooperative model with different aggregation constants: β = 0.2 (blue), β = 0.5 (red), and β = 1.0 (green). Panel (a) corresponds to data with p A ∼ ν1 and p D ∼ ν1/k while panel (b) corresponds to data with p A ∼ ν0k and p D ∼ ν0.

FIG. 6 .FIG. 7 .

 67 FIG.6. Normalized dispersion coefficient for adsorbing molecules carried in a slit pore geometry by a liquid flow (obeying a simple Poiseuille flow). The data are presented as a function of the Peclet number which characterizes the diffusion/advection rate. Adsorption is described using a simple Henry law with different Henry constants kH . The symbols correspond to the results from the Lattice Boltzmann calculations using the adsorption scheme. The data show D ads /Dm = D(t → ∞)/Dm where D(t) corresponds to the derivative of the displacement variance with respect to time. The lines correspond to the analytical expression for D ads /Dm as derived byLevesque et al. [see Eq[START_REF] Xu | Study of subcritical and supercritical gas adsorption behavior in different nanopore systems in shale using lattice Boltzmann method[END_REF] in main text]. Different kH are considered but, in all cases, a fixed desorption rate pD = 0.01 is used. The red, black, green and blue symbols denote data obtained for kH = 0.1, 1, 5 and 10, respectively.