1 Introduction

The rheology and dynamics of concentrated suspensions are influenced by complex coupling phenomena, such as the interaction of the fluid phase with the solid phase and inter-particles collisionality. In 1911, Einstein developed a simplified law to describe the behavior of suspensions, carrying out a homogenization between solid particles and background fluid [1], but its formula provided satisfying results only in cases of low particle volume fraction \((f<0.2)\). Successively, higher-order expansions and new hydrodynamic effects have been added to the mathematical models of the equivalent viscosity field to further improve the accuracy. An example of this new models is provided by the Krieger’s correlation [2], a semi-empirical law between local particle concentration and an equivalent viscosity of the suspension. The idea of describing the viscosity field of a suspension with the relative viscosity function has been successively expanded in different studies generating a variety of mathematical models to define the relative viscosity function [3]. In recent years, many studies added new contribution to the mathematical models that describe suspensions dynamic, providing a more detailed description of the hydrodynamic interactions between the fluid and the particles [4]. The more detailed approaches provide a set of equations for the fluid phase developed with a Eulerian approach and one for the solid particles in a Lagrangian frame, and model as common terms between the two sets of equations the forces and torques generated by the interaction of the fluid low and the solid particles [5, 6].

While the mathematical models improved rapidly, the numerical implementations, required to apply them to real case scenarios, are still under development. The main restraining factors for the numerical implementations of the more complex models are the very high computational requirements, and performing a trade-off between the computational costs and the accuracy of the results is required. Generally, the more detailed models are tested in applications where the characteristics dimension of the flow is similar to the dimension of the particles, thus limiting the number of simulated particles. In these cases, correctly predicting wall–particle and inter-particle interactions is of main relevance. Following this methodology, codes have been developed so that they include complex phenomena, like the formation of microstructures between particles in suspensions [7]. Real-case scenarios could also add into the simulations further layers of complexity due to complex fluid or flow characteristics, as in case of viscoelastic behavior of the fluid [8, 9], or complex velocity fields [10].

However, in cases with high concentrations of solid particles, the computational cost increases drastically, thus causing the more detailed models to be unexploitable. In those cases, the flow shows different viscosity levels due to the local concentration of solid fraction, and the effects of the interaction with the volume boundaries and among particles can be taken into account through a diffusion model representing the concentration evolution generated by these interactions.

The main purpose of this study is the development of a new solver to estimate the particle distribution and flow characteristics within with high concentration of solid particles. A time-resolved approach has been chosen, to make the numerical routine capable to evaluate the particle concentration evolution throughout the simulated time span.

To achieve these objectives, the homogenization between liquid and solid phases performed in the first models, like the one proposed by Einstein and successively by Krieger, constitutes a valid candidate. The suspension is considered like a fluid, in which the local viscosity and density are determined by the local particle concentration. To complete the model, a diffusion equation for the solid-phase fraction is required, capable to predict the particle migration and the corresponding concentration variation based on the flow characteristics, like the one proposed by Philipp et al. [11]. The major advantage of this model is that it adds only a limited increase in the complexity of the system while maintaining the capacity to track the particle concentration in the whole domain. Furthermore, by modifying the terms in the diffusion equation, both qualitatively and quantitatively, the model could be tuned to model complex interaction or neglect them. With this approach, it is possible to achieve high degree of accuracy by increasing the complexity of the terms in the diffusion equation, taking into account also complex interactions or the presence of heterogeneous particles [12]. The tuning parameters for the solid-phase diffusion equation can be retrieved via empirical tests, like for the Krieger correlation, or via more detailed simulations performed on a limited section of the domain. This approach guarantees a higher level of adaptability to the numerical implementations, allowing to perform tests both on constrained and free flows.

The model has been implemented on a CFD code based on OpenFOAM [13] able to successfully simulate and describe the dynamics of a concentrated suspension based on the modeling of the particle migration phenomenon. The case studied is a bidimensional channel flow where the evolution in space and time of the flow-field quantities of the non-Newtonian fluid are simulated. The results provided by the simulation have been compared and validated against data coming from literature [14]. The validated approach is then ready to be used to simulate the segregation phenomenon inside large domains and involving fluids characterized by high concentrations of solid particles, like those present within a solid rocket motor.

The paper is divided in two main sections: the first one describes the developed model and the second one describes the results obtained and the validation using experimental data coming from the literature.

2 Theoretical Model for Particle Migration

During the past few decades, it has become common knowledge that initially uniformly distributed particles will assume extremely non-uniform concentration distribution when subjected to a non-uniform shear flow. This non-homogeneous distribution is the result of a migration process which occurs at small values of particle Reynolds number (\(\sim\) 10−4), so that the importance of inertial effects can be precluded. In general, solid particles will move from regions characterized by a higher shear rate to the neighboring areas where lower values are measured.

The diffusive-flux model for the prediction of particle distribution resulting from shear-induced migration, that is described in the following part of the chapter, has been developed by Phillips et al. [11]. In particular, two separate contributions to the segregation process are present, the first being related to the frequency of impacts between solid particles while the other depending mainly on the non-uniform viscosity field. To have a better understanding of the phenomenon, the shear flow shall be visualized as a set of shearing surfaces sliding with respect to the others. Considering a collision between two particles (Fig. 1), belonging to different adjacent shear surfaces, the impact will cause the bodies to move in an irreversible way from their original streamlines, thus a particle that experiences collisions with higher frequency will migrate to a region characterized by a lower collision frequency.

Fig. 1
figure 1

Diagram of irreversible two-body collisions at constant viscosity (h)

By assuming that particles flow according to the shearing motion of the fluid medium, then the number of collisions that a particle will be subjected to scales with \(\dot{\gamma }\phi\), where \(\phi\) is defined as the volume fraction of particles and \(\dot{\gamma }\) is the local value of the shear rate, i.e., \(\dot{\gamma }={\left(2\mathbf{D}:\mathbf{D}\right)}^{1/2}\) (D being the deformation rate tensor). Therefore, the collision frequency variation over a distance O(a) (a being the particle radius) may be written as \(a\nabla \left(\dot{\gamma }\phi \right)\).

Conceding that the velocity of the migration is linearly proportional to the variation in the collision frequency and that each of the two-body interactions will result in the displacement of O(a) of the particles involved, the expression for the flux Nc can be written as:

$${{\text{N}}}_{{\text{c}}}=-{{\text{K}}}_{{\text{c}}}{{\text{a}}}^{2}\upphi \nabla \left(\dot{\upgamma }\upphi \right)=-{{\text{K}}}_{{\text{c}}}{{\text{a}}}^{2}\left({\upphi }^{2}\nabla \dot{\upgamma }+\upphi \dot{\upgamma }\nabla\upphi \right),$$
(1)

where \({K}_{c}\) is an empirical constant.

As previously said, a second contribution should be taken into account, since the interaction between two bodies is also affected by the viscosity of the surrounding medium, which might not be uniform.

The viscosity field of a non-Newtonian flow is indeed related to the distribution of the solid phase within the fluid. Initially, when everything is still, it is possible to have a uniform particle distribution, and as a consequence, a homogeneous viscous field. However, once a certain velocity field is imposed, the flux \({N}_{c}\) will start to act, causing the solid bodies to spread unevenly, and hence giving rise to a non-uniform viscosity field in the domain. This spatially varying viscosity shall be written as a function of the particle volume fraction \(\eta =\eta \left(\phi \right)\).

More in detail, during the impact of the two (or more) bodies, the regions that are characterized by a higher value of viscosity will offer more resistance to the motion of a particle with respect to the less viscous ones. This difference in resistance experienced by the particles will result in the displacement of the center of rotation of the two-body system in the direction of lower viscosity (Fig. 2).

Fig. 2
figure 2

Diagram of irreversible two-body collisions with varying viscosity

Therefore, the center of rotation of each impact will be characterized by a certain drift velocity, which can be assumed to be proportional to the variation of the viscosity along the distance O(a) relatively to the viscosity magnitude

\(\left(a/\eta \right)\nabla\upeta\). Once again, the collision frequency scales as \(\dot{\gamma }\phi\); therefore, the flux Nh shall be written as:

$${N}_{\eta }=-{K}_{\eta }\dot{\gamma }{\phi }^{2}\left(\frac{{a}^{2}}{\eta }\right)\frac{d\eta }{d\phi }\nabla \phi =-{K}_{\eta }{\dot{\gamma }{\phi }^{2}a}^{2}\nabla \mathrm{ln\eta }\left(\phi \right),$$
(2)

also, in this case \({K}_{\eta }\) is an empirical constant.

Combining Eq. (1) and \* MERGEFORMAT (2), the conservation equation for solid particles in the Eulerian frame may be obtained:

$$\begin{array}{c}\frac{D\phi }{Dt}=-\nabla \bullet \left({N}_{c}+{N}_{\eta }\right)=\\ ={a}^{2}{K}_{c}\nabla \bullet \left({\phi }^{2}\nabla \dot{\gamma }+\phi \dot{\gamma }\nabla \phi \right)+{a}^{2}{K}_{\eta }\nabla \bullet \left(\dot{\gamma }{\phi }^{2}\nabla {\text{ln}}\eta \left(\phi \right)\right)\end{array}$$
(3)

As it will be shown below, the viscosity is related to the particle distribution in a way that the greater is the concentration the higher the viscosity will be, meaning that the second flux \({N}_{\eta }\) acts in opposition to the other one \({N}_{c}\). While the latter will cause the particles to accumulate in the regions where a low shear rate is present, locally increasing the viscosity, the term \({N}_{\eta }\) will slow down the process, until an equilibrium between the two contributions is reached.

The mathematical model for the viscosity is set following the work performed by Krieger in [15] through empirical observations.

Ordinary liquids and, more in general, homogeneous solutions are characterized by a simple Newtonian flow behavior, where a constant viscosity can be identified for the complete domain. This is not the case for colloidal suspension and macro-molecular solutions, where rheological anomalies may be present. Among these deviations from the typical behavior, the most common ones are the time-dependent shear thinning properties (i.e., thixotropy) and non-Newtonian viscosity, giving rise to uncommon responses of the fluid toward external stresses.

In order to portray the viscosity behavior in a suitable way a new parameter, namely relative viscosity \({\eta }_{r}\), has been introduced:

$${\eta }_{r}=\frac{\eta }{{\eta }_{0}},$$
(4)

\({\eta }_{0}\) being the viscosity of the medium (i.e., the intrinsic viscosity).

According to Krieger, colloidal suspensions behave in accordance with Fig. 3.

Fig. 3
figure 3

Schematic plot showing the behavior of the relative viscosity η_r in dependence of the particle concentration ϕ

The asymptote in correspondence of the volume fraction \({\phi }_{m}\) is due to the fact that, beyond such limit, usually referred to as maximum packing fraction, the dispersed particles will create a rigid structure, and the fluid will cease to flow.

The correlation linking together particle volume fraction and viscosity is the following one.

$${\eta }_{r}={\left(1-\frac{\phi }{{\phi }_{m}}\right)}^{-c},$$
(5)

where c is obtained by fitting the experimental data. The original fitting was performed for volume fractions in the range \(0.01<\phi <0.5\); however, for the sake of simplicity, many papers assume the model to be verified on a wider range, that is \(0.01<\phi <0.68\).

The maximum packing fraction is evaluated as a function of the geometry of the solid particles and the microstructure that they form within the fluid, the value for a monomodal packing of rigid spheres is usually set to \(0.63\), while for poly-dispersed packing, values are usually higher (up to \(0.75\div 0.80\)). In this paper, the chosen value for \({\phi }_{m}\) is \(0.68\).

2.1 Solver Implementation

The solver developed to simulate the particle migration process (named migrationPimpleFoam) is a customization of an existing OpenFOAM code, which implements the PIMPLE algorithm for the discretization and solution of the Navier–Stokes system of equations.

The name PIMPLE comes from the combination of the pressure implicit with splitting of operators (PISO) and semi-implicit method for pressure-linked equations (SIMPLE) algorithms: as a matter of fact, the PIMPLE method is obtained by blending the two aforementioned iterative procedures.

The pressure implicit with splitting of operators (PISO) algorithm for the solution of transient flows was originally proposed by Issa [16], and is used to solve the incompressible set of Navier–Stokes equations:

$$\left\{ {\begin{array}{*{20}l} {\nabla \cdot U = 0} \hfill & {(a)} \hfill \\ {\frac{\partial U}{{\partial t}} + \nabla \cdot \left( {UU} \right) = - \frac{\nabla p}{\rho } + \nabla \cdot \left( {\frac{\eta \left( \phi \right)}{\rho }\nabla U} \right)} \hfill & {(b)} \hfill \\ \end{array} } \right.$$
(6)

It can be described as follows:

  1. i.

    Momentum predictor: The momentum equation is solved, obtaining a first estimate for the velocity field. Since the pressure field of the actual time is unknown, the gradient is evaluated on the pressure field of the previous time step.

  2. ii.

    Poisson equation for the pressure is solved to obtain the new pressure field.

  3. iii.

    Explicit velocity correction: The velocity field must be corrected with the information of the new pressure field, so that the continuity equation is satisfied again.

While points (ii) and (iii) are iterated, the PISO algorithm performs the momentum prediction once. Thus, when the velocity correction takes place, a small error is introduced, due to the fact that only the change in the pressure gradient is taken into account. After each pressure solution, however, a new velocity field, hence also a flux field, is available, making it possible to perform a new momentum prediction and reducing the error coming from the lag of the non-linear convective term.

This would obviously significantly slow down the process and it is avoided in the PISO algorithm, where it is assumed that such error is completely negligible. This, however, is not always correct.

The basic concept of the PIMPLE algorithm consists in performing the momentum predictor step more than once per time step. Fig. 4 shows the flowchart of the method. At the beginning of the cycle, the time step \(\Delta t\) is autonomously evaluated to keep the Courant–Friedrichs–Lewy number under a certain limit required by the user. Subsequently, the PIMPLE loop begins, and the first momentum prediction is performed; the momentum equation is then solved via the PISO routine. Once the pressure field has converged, the outer conditions for the PIMPLE loop are verified; if they are not satisfied, a new momentum prediction is carried out, using the just calculated velocity field. This cycle is repeated until the PIMPLE cycle has converged as well.

Fig. 4
figure 4

Decision block diagram for the modified solver

Performing the prediction more than once surely will result in a reduced speed in the evaluation of a single time step, nonetheless, increasing the overall stability of the cycle, it may lead to a reduction in the global computational time, allowing for a considerable increase of the time step. Moreover, cycling more than once over the momentum predictor step (a maximum of 5 outer corrector steps were performed per time step) results in the increment of the convergence rate of the solution while keeping limited the residuals on the velocity and pressure fields. Additionally, the OpenFOAM implementation of the PIMPLE algorithm allows for the introduction of the under-relaxation of the solution, which is not possible when the simple PISO method is adopted.

The first produced version of the code consisted in the adaptation of an already existing solver, known as icoFoam, which implements the PISO algorithm for the solution of the Navier–Stokes equations. However, no consistent results were generated as crash related to floating point exception kept occurring after some seconds of simulation time. A possible explanation for this phenomenon is that the error on the velocity field, introduced by avoiding iterating over the momentum predictor, combined with the extremely reduced size of the cells (∼ \({10}^{-5}\) m), immensely affects the calculation of the shear rate \(\dot{\gamma }\), strictly linked to the gradient of the velocity field. Unrealistic values of \(\dot{\gamma }\) result in an unacceptable error on the solution of the particle distribution equation. And more in detail, on the evaluation of the boundary conditions. In essence, while the internal field of the quantity \(\phi\) may (or may not) begin to present small oscillations, at the boundary, the estimated particle volume fraction, related to both \(\dot{\gamma }\) and its derivative, as shown in Eq. (3), could even collapse outside of the domain where the Krieger correlation is defined. This would inevitably conduce to the crash of the simulation due to floating point exception.

The problem could be partially solved by decreasing the time step of the simulation; however, such possibility was eventually discarded as it would lead to an exceptionally long execution time for the simulation; furthermore, severely reducing the time step (\(\Delta t<{10}^{-5}\) s) to produce a simple Poiseuille flow simulation surely cannot be considered a reliable and effective approach. The introduction of more momentum predictor steps (i.e., moving from icoFoam to pimpleFoam) had an enormous positive effect: the velocity field became more stable and crashes were avoided, allowing for the selection of a larger time step, which automatically calculated to maintain a desired value of the Courant–Friedrichs–Lewy (CFL) number. Thanks to the time scheme being implicit, a unitary CFL was chosen for the study.

The cycle that solves the particle distribution field is placed at the end of the outer loop before the time advancement of the solution is dictated; it is, hence, the last action that is performed before moving to the next time step.

The particle migration loop solves Eq. (3) for the quantity \(\phi\) as shown in the scheme, until the convergence criterion is satisfied. This criterion is made by means of different conditions. Since the result of the linearized system resolution is already guaranteed in OpenFOAM by the chosen linear solver, which iterates until a predetermined residual is obtained (\(\sim {10}^{-7}\)), the additional conditions are focused on the correct solution of the differential equation. The first one is obtained comparing the maximum variation of \(\phi\) for two consecutive iterations to a threshold:

$$max\left\{{\Vert {\phi }_{k}^{t,i}-{\phi }_{k}^{t,i-1}\Vert }_{k=1,\dots ,n\bullet m}\right\}\le {10}^{-5},$$
(7)

where i identifies the iteration step, while k is the cell index, n and m are the number of cells in the streamwise and spanwise direction; in this case the third component is neglected as the simulation was performed in a bidimensional domain. This condition was included to avoid the routine performing additional iterations if the solution is not changing anymore.

The second condition is obtained comparing with a threshold (\({10}^{-5}\) s−1) the value of the residual of the partial differential equation (3), to ensure that the PDE has been successfully solved. On average, the convergence conditions were satisfied within 4 iterations.

After the particle migration equation has been solved, the particle concentration field is updated, and it will influence the momentum equation acting on the viscosity term at the next timestep.

It is important to notice that the momentum equation and the diffusion equation are treated as uncoupled in each time step. Within the same time step, viscosity variation due to particle concentration evolution is not taken into account when solving the flow momentum equation. The new velocity field calculated at each time step is used to update the particle distribution in the same time step, but no backward correction is performed to the momentum equation. This approximation is performed to reduce the computational burden of the model. Due to the really slow evolution of the flow, it is reasonable to assume that the error introduced is limited.

2.2 The Lyon and Leal Experiment

The solver developed is validated comparing the simulations with the data acquired by Lyon and Leal [14].

Regarding the suspending liquid employed to create the flow, UCON oils and Triton X-100 were selected, while the material of the particles was polymethyl methacrylate (PMMA). Several reasons led to this particular choice, more in detail:

  • Similar density: by creating a neutrally buoyant suspension, the effects of gravity could be completely neglected;

  • No chemical reaction between UCON oils, Triton X-100 and PMMA;

  • Low toxicity;

  • Newtonian behavior of UCON oils and Triton X-100 for the range of shear rates that would be experienced inside the channel.

An additional reason was represented by the low refraction index of PMMA, required by the measurement method chosen for the experiments, that was a modified laser Doppler velocimetry (LDV) technique.

Two different sets of particles were available. The average diameter for the two distributions were found to be \(70\pm 6 \mathrm{\mu m}\) and \(95\pm 12 \mathrm{\mu m}\). To achieve a neutrally buoyant suspension, the density of the PMMA particles coincided with the one of the fluid (\(\rho =1190 {\text{kg}}/{{\text{cm}}}^{-3}\)). While the viscosity of the suspending fluid was \(4.8 {\text{P}}\) at 20.0 °C (i.e., \(\eta\) = 0.48 kg m-1 s−1), it is immediate to evaluate the kinematic viscosity \(\nu \approx\) 4.03⋅10−4 m2 s−1.

Regarding the setup of the experiment, two different channel gaps were assembled, using two 30.5 \(\times\) 5.1 cm \(\times\) 6.3mm (12 \(\times\) 2 \(\times\) 1/4 in) optical glass panels and two 30.5 \(\times\) 1.3 cm \(\times\) 1.6 mm (12 \(\times\) 1/2 \(\times\) 1/16 in) plexiglas spacers. The heights of the two channels resulted to be 1.0 mm for the first, and 1.7 mm for the second.

Several tests were conducted with different values of particle concentration in the bulk suspension. In particular, data for \(\phi\) = [0.30; 0.35; 0.40; 0.45] were gathered. Due to the intrinsic nature of LDV, i.e., the drop of the signal-to-noise

ratio when approaching the walls, the number of particles that were observed per unit time were lower than the true value, therefore, a lower particle concentration was evaluated. This effect became non-negligible in the region close to the walls, hence the value portrayed in the graphs are considered to be valid only within the inner 80% of the channel width.

In a laminar channel flow, the shear rate reaches its maximum at the walls to then decrease until a zero value at the center of the channel gap. The distribution shown in Fig. 5 hence confirms that the migration process occurs from regions at higher shear rate to region at lower one. The two experiments are performed using the same geometry and parameters with the only exception being the flow Reynolds number \({Re}_{p}\) (respectively, 1.5⋅10−6 for test 482 and 2.9⋅10−6 for test 483), defined as:

$${Re}_{p}=\frac{4}{3}\frac{\rho }{\eta }\frac{{a}^{3}}{{H}^{2}}{{\text{U}}}_{max},$$
(8)

where H is the channel semi-gap.

Fig. 5
figure 5

Particle volume fraction over the channel gap for two experiments [14] characterized by a gap of 1.7 mm, ϕ=0.40 and two different values of the volumetric flow rate, respectively, 203 mm3/s for test 482 and 393 mm3/s for test 483

The error bars present in the figure are computed as the 10% of the particle fraction as reported in [14], the uncertainty of measurements in the region close to the walls is not represented, since they are not considered valid.

As also reported in other investigations [17,18,19] and predicted theoretically by most models found in the literature [11, 20,21,22,23,24,25], the volumetric flow rate does not influence the particle concentration distribution.

3 Results

3.1 Simulation Parameters

To verify the solver, the set of data gathered by Lyon & Leal [14] has been considered, together with the results of the bidimensional model produced by Kwon et al. [26]. In this second source, the migration problem is solved with a completely different approach: a code based on the non-dimensional formulation of both the Navier–Stokes system and the particle migration equation. For this reason, also the results provided in that paper represent a valuable benchmark for the validation of the OpenFOAM model.

For the simulations run in this work the parameters reported in Table 1 have been chosen.

Table 1 Simulation settings

Some more consideration shall be done on the duration of the simulation in order to reach a fully steady-state condition. The topic has already been approached in [25], and will be briefly summarized also here.

Considering the suspension of particles of radii a in a pressure-driven flow in a channel of height 2H, the particles will migrate in a gradual way from an initial homogeneous condition to an heterogeneous disposition, where the maximum concentration is located in the position characterized by the lowest shear rate, i.e., at the centerline.

The average distance that is traveled by a particle in the spanwise direction, denoted as y in Fig. 5, in the time t can be evaluated as:

$$y=2{\left(Dt\right)}^{1/2}.$$
(9)

The average distance they will cover in the segregation process can be approximately fixed as of the order of the channel gap, if that is the case, a rough estimation of the time-scale for achieving the steady condition can be performed as:

$${t}_{ss}=\frac{{H}^{2}}{4D}.$$
(10)

D is referred to as shear-induced diffusivity. In this case of channel flow, the motion of particles is driven exclusively by hydrodynamic forces, in fact buoyant forces are neglected due to the similar density of the solid bodies and the fluid medium. The diffusivity can, hence, be written as:

$$D=d\left(\phi \right)\dot{\gamma }{a}^{2},$$
(11)

where the non-dimensional function \(d\left(\phi \right)\) shall be estimated through measurements. However, a reliable fit was proposed in [21]:

$$d\left(\phi \right)=\frac{1}{3}{\phi }_{0}^{2}\left(1+\frac{1}{2}{e}^{8.8{\phi }_{0}}\right)\cong 0.95.$$
(12)

The shear rate \(\dot{\gamma }\) is not constant in the spanwise direction; therefore, it is more convenient to involve its average value, which can be estimated, for Poiseuille flows, as:

$$\langle \dot{\gamma }\rangle =\frac{3\langle u\rangle }{H},$$
(13)

where the symbol \(\langle \bullet \rangle\) represents the average of the quantity.

Based on these considerations, the time-scale to reach the steady-state conditions can be evaluated as:

$${t}_{ss}\approx 1 s$$
(14)

and the duration of the simulation has been fixed at a value approximately 10 times higher than the estimated time-scale to be safely in steady-state conditions at the end of the simulated process.

4 Mesh Characteristics

The properties of the mesh used for the validation of the solver are shown in the Table 2 below. It is a uniform structured mesh built using hexahedra, with a number of cells in the span direction that has been chosen as an optimal trade-off between the need of capturing the migration phenomena, and the time used to run the simulation.

Table 2 Mesh characteristics

5 Numerical Schemes

To discretize the governing equations in time and space, second-order accurate schemes have been selected. Since no particular requirement was present, the set of schemes was taken from literature, as a suitable combination between accuracy and stability. The numerical scheme used for the time derivative is a blending between Euler and Crank–Nicolson schemes [27] shown in equation (15).

$${y}_{n+1}-{y}_{n}\approx \frac{1}{1+{c}_{o}} \Delta t {f}_{n+1}+ \frac{{c}_{o}}{1+{c}_{o}} \Delta t {f}_{n},$$
(15)

where \({c}_{o}\) is the blending factor. The scheme becomes equal to the implicit Euler scheme for \({c}_{o}=\) 0, while for \({c}_{o}=\) 1, it becomes equal to the Crank–Nicolson one. A blending factor 0.9 has been chosen to obtain a good compromise between accuracy and robustness.

For the gradient discretization, the standard finite volume method discretization described by F. Moukalled [28] is used: at the cell center, the gradient is evaluated using the Gauss theorem which requires the interpolation of the values from the cell centers to the face centers, a linear interpolation has been used. Also, the divergence scheme is evaluated according to the standard finite volume method: a linear interpolation has been adopted with exception for the non-linear term in Navier–Stokes equation in which a linear upwind scheme, developed by R. F. Warming [29], has been used. The Laplacian discretization consists of a combination between linear interpolation for the Laplacian coefficient and the surface normal gradient which is evaluated on the cell faces. Correction methods are not used due to mesh regularity. The interpolation method chosen to evaluate the variables from cell centers to face centers is linear.

6 Boundary Conditions

At the channel inlet, it has been imposed fixed parabolic velocity profile. At the walls, no-slip condition has been set for the velocity while a zero pressure variation in wall normal direction has been used for the pressure. Fixed pressure value has been set at the outlet. Uniform particle concentration has been imposed at the inlet; while at the walls, the particles cannot move through them. Therefore, a zero flux has been set in normal direction to the wall.

$${\widehat{n}}_{w}\bullet \left({N}_{c}+{N}_{\eta }\right)=0,$$
(16)

where \({\widehat{n}}_{w}\) is the wall unit normal vector. This boundary condition is highly non-linear and it has been implemented inside OpenFOAM imposing the concentration gradient at the wall boundary obtained by solving Eq. (16) for \({\left.\frac{\partial \phi }{\partial n}\right|}_{w}\) imposing the value from the previous timestep for \(\phi\).

7 Solver Validation

The simulation of the bidimensional channel flow has been carried out for the duration of 12 s. Since the value is an order of magnitude greater than the time-scale calculated in Section 3.1, one would expect the solution to have reached a steady condition. Nonetheless, as previously stated, this assumption shall be directly verified by considering the value of the variation of the volume fraction (\(\Delta \phi\)).

Considering the section of the channel at the position \(L=0.238 m\), i.e., where the data for the validation are going to be gathered, and the time t = 12 s, the maximum recorded value amounts to:

$$max{\left\{\left|\Delta \phi \right|\right\}}_{L}\cong max{\left\{\left|\frac{\partial \phi }{\partial t}\right|\right\}}_{L}\Delta t\cong 5.2 {10}^{-7}s.$$
(17)

It is evident how the variation has not achieved a zero value yet; however, since the order of magnitude is considerably narrow, and the profile peak is already close to the maximum value of packing, it is realistic to assume that the steady condition has been reached. It is hence possible to compare the results produced by OpenFOAM with the two references.

This comparison is performed in Fig. 6; with respect to the set of experimental data measured by Lyon & Leal [14] and the 1D and 2D models introduced in [26].

Fig. 6
figure 6

Comparison between OpenFOAM results and literature data of the particle distribution across the section of the channel (L = 0.238 m, t = 12 s)

As it can be noticed, the OpenFOAM results emulate in a quite precise manner the behavior of the 2D model. The global trend of the experimental data is respected, as the peak of the volume fraction is reached at the midpoint of the channel according to the theory and the observations. Furthermore, the right part of the curve, in the proximity of the centerline, appears to be quite close to the values of the two experiments. Adversely, on the left side, the situation is different, nonetheless, the reason may be also related to the precision of the measurements. Approaching the walls, the observed volume fraction diverges from the one predicted via CFD, the motivation lies in the inaccuracy of the method adopted, which had the tendency to underestimate the particle concentration due to the drop of the signal-to-noise ratio caused by the solid boundaries.

To validate the solver, an additional aspect should be considered, that is the correct estimation of the velocity field. This confirmation can be achieved through the set of data shown in [14]. More in detail, the streamwise component of the speed (U) is normalized with respect to the maximum value measured at the channel centerline Umax.

The situation portrayed in Fig. 7 is extremely positive, as both the set of samples lie in the immediate proximity of the profile evaluated with OpenFOAM.

Fig. 7
figure 7

Comparison between OpenFOAM results and literature data of the normalized velocity profile over a section of the channel (L = 0.238 m, t = 12 s)

Once that the model has been validated, it may be interesting to take into consideration also the additional physical quantities that are evaluated throughout the cycles. As previously explained, there is a deep connection between the shear rate \(\dot{\gamma }\) and the particle volume fraction. By plotting the trend of the two quantities across the channel section (Fig. 8) it is evident how the particles distribution behaves accordingly to the theory, as a matter of fact, once the steady state has been reached, a consistent portion of the suspension solid part is concentrated where the lowest values of shear rate are measured.

Fig. 8
figure 8

Particle volume fraction ϕ and shear rate γ ̇ distribution across the section of the channel (L = 0.238 m, t = 12 s)

Adversely, particles will tend to move away from the walls, as in a channel flow, they are characterized by the most intense variation in the velocity field.

An additional quantity who is deeply related to the particle volume fraction is the viscosity. Fig. 9 shows the consistent variation that such field experiences due to the non-homogeneity of the suspension.

Fig. 9
figure 9

Particle volume fraction ϕ and kinematic viscosity ν distribution across the section of the channel (L = 0.238 m, t = 12 s)

Since the code produced the solution for a transient flow, it is interesting to study how the scenario evolved in time. Fig. 10 shows the transformation of the volume fraction at three different time steps. As it can be noticed, the concentration of the suspension at the centerline of the channel rapidly rises in the beginning of the simulation, starting from the initial condition \(\phi\) = 0.4 it takes only one second to reach the condition \(\phi\) = 0.618.

Fig. 10
figure 10

Particle volume fraction across the section of the channel at different time steps

Considering the values for the midpoint of the channel at \(t=1s\) and \(t=12s\) it is possible to evaluate the ratio \({\phi }_{t=1s}/{\phi }_{t=12s}=0.6183/0.6605\cong 0.94\), showing that more than 90% of the final result is already achieved in the first second on simulation.

The same cannot be stated for the outer region of the domain, where the evolution of the solution is considerably slower.

Analyzing the data over the streamwise direction is important as well, considering in particular the condition that the flow has reached at the position L = 0.238 m. As shown in Fig. 11 the condition of fully developed is yet to be reached, even if in the position where the data are measured for the validation process, the downstream variation of the quantities is extremely limited.

Fig. 11
figure 11

Particle volume fraction along the streamwise direction of the channel at different positions for different meshes. y = 0 mm corresponds to the wall while y = 0.85 mm coincides with the centerline

Fig. 12 finally shows how the particle distribution evolves over the domain throughout the simulation. As previously noticed, the concentration of solid bodies quickly increases along the centerline of the channel, while the outer region is characterized by a slower variation.

Fig. 12
figure 12

Particle volume fraction surface plots at different time

8 Mesh Sensitivity Analysis

This mesh sensitivity analysis that has been performed consists in the analysis of the data produced by five different simulations, whose grids span from 30 to 180 cells over the spanwise direction, while the number of points in the streamwise orientation is adjusted to maintain constant the aspect ratio of the control volumes. For the sake of simplicity, the five simulations shall be identified through a letter in order from the coarsest to the finest mesh, as shown in Table 3.

Table 3 Meshes used in the sensitivity analysis

It is immediate to notice how the execution time for the simulation drastically increases as the number of cell grows. All the cases were solved using a parallel processing with four cores.

The following investigation is performed by taking into account three different aspects, namely the data gathered over the channel slice previously chosen (i.e., L = 0.238 m), the advancement of the particle distribution along the centerline of the channel, to conclude with the time evolution of the results.

Starting with Fig. 13, the number of cells seems to affect primarily the distribution that is evaluated in the more internal region of the channel, to a more refined mesh corresponds a higher peak reached by the profile. Moving away from the center of the gap, the curves assume a more similar behavior and the difference reduces drastically. Nonetheless, the results obtained with the less refined options still differ quite considerably from the profile predicted by the more accurate one.

Fig. 13
figure 13

Particle volume fraction ϕ across the channel for different meshes (L = 0.238 m, t = 12 s)

The variation of the solution becomes less accentuated when considering the velocity profile, in fact, the curves portrayed in Fig. 14 are extremely similar. The maximum deviation experienced in the results, once again in the inner region of the gap, is below 1%.

Fig. 14
figure 14

Streamwise velocity component Ux across the channel section (L = 0.238 m, t = 12 s)

In Fig. 15 and 16, it is possible to investigate how the mesh refinement affects the evolution of the previous two physical quantities (\(\phi\);Ux) along the streamwise direction. Also from this perspective, the velocity is predicted quite similarly, however, by considering Fig. 15 it is immediate to notice how the same cannot be stated for the particle distribution profile. In fact while for (C), (D), and (E) a comparable scenario is present, (A) and (B) deviate too much from the others to be considered of valuable interest. The coarser meshes (A) and (B) not only fail to reach a sufficiently high \(\phi\), but they also show a considerably slower transient to reach the steady condition, which in the case of (A), is merely attained at the end of the simulation time interval.

Fig. 15
figure 15

Particle volume fraction ϕ along the centreline of the channel for different meshes (t = 12 s)

Fig. 16
figure 16

Streamwise velocity component Ux along the centerline of the channel for different meshes (t = 12 s)

9 Conclusion

The aim of this work was the development of an OpenFOAM solver aimed at correctly predicting the migration phenomenon that is experienced by the solid particles in concentrated suspensions when subjected to non-uniform shear flows. To be able to simulate such behavior, the conservation equation expressing the time variation of the particle volume fraction has been implemented in OpenFOAM. The chosen pre-existing solver that has been modified is pimpleFoam, which discretizes the Navier–Stokes system of equation through the PIMPLE algorithm. As a first step, the formulation of the equation of motion has been adapted to correctly solve non-Newtonian flows. Successively, the model for the viscous field was established. The code implements the Krieger’s correlation to include the viscosity variation over the domain due to the heterogeneity of the particle spatial distribution. Subsequently, the iterative cycle for the solution of the migration equation has been included within the time loop.

The above-mentioned code has been successfully validated by taking into account the measured data provided by the experiment of Lyon & Leal [14] and the results of the CFD code developed by Ilyoung Kwon et al. [26]. The flow that has been simulated to verify the capacity of the solver to approach the migration problem is a 2D channel flow. From the comparison between the results produced via OpenFOAM, with the finite volume discretization, and the data from literature it has been verified that both the particles volume fraction \(\phi\) and the streamwise velocity profile Ux are predicted in a quite satisfactory way.

The usage of a PIMPLE-based algorithm allowed to acquire a deeper insight about the transient phase of the flow during the migration process. More in detail, the two fluxed \({N}_{c}\) and \({N}_{\eta }\), responsible for the transformation of the initially homogeneous field to a non-uniform one, have been proven to be predominant in the initial phase of the simulation. On the contrary, such parameters decrease as time increases. As a result, the peak of the particle volume fraction reaches more than 90% of its final value within the first second of the transient.

Additionally, a mesh sensitivity analysis has been performed. One of the main outcomes is that the prediction of the velocity profile was not particularly influenced by the variation of the cell size; adversely, the decrement of mesh cells affected the estimation of the particle volume fraction in the inner region of the channel, with the tendency to decrease as the mesh became more and more coarse. Approaching the outer portion of the section, the different curves collapsed together, hence the error is mainly concentrated along the centerline of the channel.

The various operations that compose the solver migrationPimpleFoam are suitable for a 3D flow; therefore, more complex scenarios might be simulated.

The implementation of the Krieger correlation is the first step of additional evolutions of the developed solver, that would make it useful to predict the flow characteristics in a wide range of applications. The solver could be, for example, further validated by simulating flows characterized by a higher concentration of particles and with a lower ratio between the particle diameter and the domain characteristic dimension. It would be similarly useful for other applications in which the main focus is to predict the particle distribution over a large domain, in which the complex interactions between particles and between particles and the walls could be partially neglected. The model could also be expanded in the future to consider multiple particle species with different characteristics or multiple fluid species. A possible future application, that the authors of this paper aim at, is the casting process of solid rocket motors. In fact, during the performance estimation process, a certain degree of insight about the particle distribution inside the propellant domain is fundamental to predict the deviation of the motor performance from the theoretical curves. In particular, knowing the heterogeneity of the propellant would improve the prediction of the performance of the engine removing the needs for extensive empirical tests, resulting in a big investment of both resources and time.