Notice: Wiley Online Library will be unavailable on Saturday 30th July 2016 from 08:00-11:00 BST / 03:00-06:00 EST / 15:00-18:00 SGT for essential maintenance. Apologies for the inconvenience.
 A new methodology for the Eulerian numerical solution of the advection problem is proposed. The methodology is based on the conservation of both the zero- and the first-order spatial moments inside each element of the computational domain and leads to the solution of several small systems of ordinary differential equations. Since the systems are solved sequentially (one element after the other), the method can be classified as explicit. The proposed methodology has the following properties: (1) it guarantees local and global mass conservation, (2) it is unconditionally stable, and (3) it applies second-order approximation of the concentration and its fluxes inside each element. Limitation of the procedure to irrotational flow fields, for the 2-D and 3-D cases, is discussed. The results of three 1-D and 2-D literature tests are compared with those obtained using other techniques. A new 2-D test, with radially symmetric flow, is also carried out.
If you can't find a tool you're looking for, please click the link at the top of the page to "Go to old article view". Alternatively, view our Knowledge Base articles for additional help. Your feedback is important to us, so please let us know if you have comments or ideas for improvement.
 The numerical simulation of advection processes is a crucial issue for many groundwater modeling applications. This is because (1) many transport problems can be reduced to their advective component, which is affected by the only uncertainty of the flow field, and (2) the more general advection-diffusion equation is often solved by splitting techniques, in which the solution of the diffusive component is usually the easiest [Abbott, 1979; Holly and Preissmann, 1977].
 In spite of the importance of the advection problem, computational difficulties remain for its numerical solution, mainly for 2-D and 3-D cases, where nonstructured grids and irregular elements are used.
 The available methods can be classified as Eulerian and Lagrangian. Eulerian methods compute the unknown function at the nodes or at the elements of a computational mesh fixed in space, after spatial and time discretization of the PDE. It is well known that the classical Eulerian finite difference or finite element methods provide numerical solutions affected by numerical diffusion or oscillations [Bella and Grenney, 1970; Gray and Pinder, 1983; Venezian, 1984]. A reduction of numerical diffusion can be obtained by evaluating the spatial derivatives starting from the function values at distant grid points, as in the QUICK and QUICKEST procedure [Leonard, 1979], that can be coupled to a limiting algorithm like ULTIMATE [Leonard, 1991], aiming at eliminating spurious oscillations. A popular Eulerian approach is the so-called Runge-Kutta discontinuous Galerkin (RKDG) method [Cockburn and Shu, 1998]. The RKDG combines a piecewise linear discontinuous finite element spatial approximation of the unknown function with a time discretization that guarantees the so-called “total variation diminishing (TVD)” property, that is an increasing (in time) spatial regularity of the solution. After a spatial discretization of the equation that guarantees approximate Riemann fluxes along the element discontinuities, the proposed time discretization provides, with simple low-order matrix operations, a system of ODEs that can be solved, for given temporal step, using a Runge-Kutta high-order accurate scheme. Other methods are the streamline upwind Petrov-Galerkin [Brooks and Hughes, 1982], the Taylor-Galerkin [Donea, 1984] and the Galerkin-least squares schemes [Hughes et al., 1989]. If a fully implicit time discretization is used in Eulerian methods, no limitation exists for the choice of the time step; however, this technique requires the solution of large nonsymmetric algebraic systems for each time step, with a fast growth of the numerical effort with the number of elements. Most of the recently adopted Eulerian methods use explicit time discretization, are second-order accurate, but have limitations on the size of the Courant number, that must always be taken smaller than one, corresponding to the well-known Courant-Friederichs-Lewy (CFL) condition. An exception is an algorithm for the finite difference solution of the 1-D case, proposed by Ponce et al. . The CFL condition fulfillment does not produce a large increment of the numerical effort in structured meshes, because it is not affected by the number of elements. Nevertheless, it can limit the efficiency of the algorithm in nonstructured meshes, obtained by automatic mesh generators. In this case, the existence of even a single small element can require the use of a small time step for all the elements, with a strong increment of the computational effort and a potential loss of accuracy due to the use of very small Courant numbers in some parts of the domain. The Courant number can be held within the stability limit using different grid refinement techniques in computational elements with changing velocity values [Sobey, 1984], but this lead to very large time-consuming procedures, specially in the 2-D and 3-D cases.
 In the Lagrangian approaches, the computational grid is not fixed in space, moving along the characteristic lines with the same velocity of the flow field. Then, it is necessary to accurately track the fluid particles and to evaluate their trajectories during their motion. The particle tracking technique is often the critical point of the procedure [Oliveira and Baptista, 1998]. Both forward and backward tracking techniques have been proposed in the past, but the search for an accurate method is still in progress [Bensabat et al., 2000; Pokrajac and Lazic, 2002]. An example of Lagrangian approach is the second moment method, originally developed for the case of air pollution [Egan and Mahoney, 1972] and subsequently applied also to shallow flow [Nassiri and Babarutsi, 1997]. The disadvantage of the Lagrangian approaches is that they are difficult to be applied to 2-D and 3-D problems with irregular boundaries and heterogeneous domains. Moreover, many Lagrangian techniques do not guarantee mass conservation.
 In the semi-Lagrangian approaches for the solution of the advection-diffusion problem, the use of Lagrangian techniques is restricted to the advective component and limited to the time step used for the solution of the next diffusive problem. The method of characteristics (MOC) solves the advective problem by locating, at each time step, the foot of the characteristic line ending in each node of a fixed grid. This means that a potentially dissipative interpolation of the known values of the surrounding grid nodes must be performed. Many examples of similar methods can be found in the literature, like the two-point fourth-order interpolation [Holly and Preissmann, 1977], the finite element characteristic [Wang et al., 1988], the minimax characteristics [Li, 1990] methods, as well as the cubic-spline interpolation [Schohl and Holly, 1991], or the characteristic Galerkin scheme, recently developed for the 3-D case also [Kaazempur-Mofrad and Ethier, 2002]. The MOC based techniques have the advantage of allowing the use of large time steps and preserving the solution from oscillations and numerical diffusion, but they seldom guarantee local and global mass balance [Chilakapati, 1999]. Volume tracking techniques [Van Leer, 1977; Rider and Kothe, 1998] follow the volume evolution of the mass initially present inside each element of the mesh and guarantee its conservation. The semi-Lagrangian approaches, also known as Eulerian-Lagrangian approaches, are nowadays probably the most popular tools for the solution of the advection problem equations [Celia et al., 1990; Healy and Russell, 1993].
 Recently, some grid-free methods have been proposed, based on the interpolation of scattered data [Behrens and Iske, 2002], but they suffer of the same limitations of the Lagrangian methods.
 In the following section an Eulerian procedure is proposed, that embraces several advantages of the Eulerian and Lagrangian approaches. It is explicit, mass conservative, but also unconditionally stable with respect to the Courant number. It adopts a second-order approximation of the unknown advected function in each computational element and shows an average convergence order equal to 2 in 1-D numerical tests with smooth initial concentration. The procedure is restricted to the case of irrotational flow fields, as it is more extensively discussed in section 4. In section 2 the proposed algorithm is presented for the 1-D case, in section 3 it is extended to the 2-D case. Extension from the 2-D to the 3-D case is straightforward. Some benchmark problems are solved in each section, in order to show the features of the method.
2. Algorithm in the 1-D Case
 The 1-D advection equation of the unknown concentration function c is:
where u is the known velocity and x and t are space and time independent variables. Equation (1) is defined in the 0 ≤ x ≤ L, 0 ≤ t ≤ T integration domain. A unique solution exists given the initial c(x, 0) and the upstream boundary c(0, t) condition.
 Divide the space domain in N computational elements, with length Δx = L/N. Assume a velocity u constant in each element. Call x1e, x2e the coordinates (e − 1)Δx, eΔx of the two extreme x values of the eth element. Divide also the time domain in Nt time steps, with extension Δt = T/Nt. Call tk the time level at the end of the kth time step (tk = kΔt). Sort all the elements along the downstream direction. If u is positive everywhere, the ordered sequence is I1 = 1, I2 = 2, …, IN = N.
 Assume a piecewise spatial linear approximation ce(x, t) of the function c inside each element e at any time (Figure 1). Observe that the function ce(x, t) can be discontinuous at the node between two elements. Set c1e(t) = ce(x1e, t), c2e(t) = ce(x2e, t). Assume also a known low-order polynomial time approximation ξ2e−1(t) of the concentration at the second node of the upstream element e − 1 from time level tk to time level tk+1. A third-order polynomial is used in the implemented code, that is:
where ξe is a vector with components ξ1e and ξ2e, that are the time approximations of c at the two nodes of element e.
 It is possible to discretize, in each element, the PDE (1) in a system of two ODEs. The first equation is derived from the mass balance between the entering flux, the leaving flux and the average concentration inside the element. The second equation is derived from the conservation of the spatial first-order moment inside the element. The moment is computed with respect to the second node of element e, with space coordinate x2e. The first equation is given by:
where ue is the velocity in element e. Call the moment of the linear approximation of c inside element e with respect to its downstream end. Its value is, at any time,
 Its change in time is due to the variation of both c1e(t) and c2e(t). These two variations are not independent, but are linked by the advection equation (1). At time level t + dt the moment of the real concentrations corresponding to the piecewise approximation of c at time t is equal to (see Figure 2):
Equation (3) can be coupled with equation (9) and solved in the c1e(t), c2e(t) unknowns. The system can be written in normal form as:
and in matrix form as:
 According to the polynomial form of the approximated concentration in equation (2), b(t) is also a vector of the form:
 See in the Appendix A the relationship between Ae, b and ξ2e−1, ue, Δx. The solution of system (12) at the end of the time step is given by:
where α1 and α2 are two arbitrary coefficients, that have to be chosen according to the initial concentration node values, c1e and c2e are the two solutions of the homogeneous equations associated to system (12) and v0, v1, v2, v3 are four vectors that can be computed after substitution of the right-hand side of equation (14) in equation (12). Matrix Ae can have either two real or two complex conjugate eigenvalues. In the first case call λ1e, λ2e, and u1e, u2e the corresponding eigenvalues and eigenvectors; in the second case, call λre, λie, and ure, uie the real and the imaginary part, respectively, of the conjugate eigenvalues and of the corresponding eigenvectors. The solutions of the homogeneous equations at the end of the time step are, respectively:
 Observe that matrix Ae is not a function of the concentration, therefore it can be computed and factorized only once for each velocity field distribution. This also holds for the homogeneous solutions (15) that can be stored for each element before starting the time marching computations.
 Vectors v0, v1, v2 and v3 can be obtained by comparing the terms with the same time exponent in the polynomial part of equation (12). This leads to the sequential solution of the following linear systems:
 As already pointed out, coefficients α1, α2 in equation (14) are computed by forcing the solution to honor the given initial concentration values c0e. This leads, according to the type of homogeneous solution, to the system:
Once the ODEs are solved, the concentration at the nodes of the element can be approximated by the cubic polynomials ξe by maintaining the initial and the final values, as well as the mean (in time) value of the concentration and of their first-order moments (Figure 3). The exact conservation of the mean concentration at each element node guarantees the mass balance in the element and the global mass conservation; can be obtained by time analytical integration of the solution of equation (12). The mean of the first-order moments can be more easily estimated by numerical integration. See in Appendix B the equations to be solved for the estimation of the coefficients of polynomial (2).
 According to the second-order approximation of the concentrations, negative concentration fluxes leaving the element can be computed while solving equation (12). Negative flux correction can be simply carried out according to the following procedure: after estimation of the polynomial coefficients of the approximating concentration, evaluate the minimum value within the range 0 ≤ t ≤ Δt and the corresponding time tmin. If the minimum concentration ξje(tmin) is negative, compute the root α of the following equation:
The corrected polynomial concentrations do not alter the mean value. They have only positive values if the mean value is greater than zero. If the mean value is negative the corrected polynomial is a negative constant value. More complex procedures are required to always guarantee positive fluxes. After computation of the unknown coefficients ξe,0, ξe,1, ξe,2, ξe,3 is complete, a new system of ODEs can be solved for the downstream element with index e + 1.
 Consistency and unconditional stability of the algorithm have been proved in the 1-D case using Fourier analysis, assuming a first-order approximation of the concentration inside the element, a constant in time leaving flux and computing the analytical solution of the resulting ODE along the given time step [Tucciarelli and Fedele, 2000].
 A useful insight about the question, in the case of second-order approximation of the concentration, is given by the observation of the characteristic line passing through any xi, tk+1 point of the computational domain. Observe in Figure 4a that for large Courant numbers the foot of the characteristic line, at time tk, falls very far from the original point. The numerical estimate of concentration c at point xi, tk+1 is possible if an initial value is known for the ODE associated to the characteristic line; therefore it is impossible to evaluate the concentration in explicit form only as a function of the concentrations at the points xi−1, tk and xi, tk. This is possible only for the point x1, tk+1, because in this case the foot of the characteristic line is located along the time axis and the boundary value is known (Figure 4b). The basic idea of the proposed algorithm is to estimate, along with the unknown value at point x1, tk+1, also a low-order time approximation of the concentration c at the same distance, from time tk to time tk+1. After this, it is possible to solve the problem at point x2, tk+1 using the computed time approximation as initial value for the new ODE problem, and so on for all the unknown concentrations at time level tk+1. The algorithm stated in section 1 applies this idea in integral form, to guarantee mass conservation. The use of low-order spatial and time approximations suppresses the propagation of the high-frequency error components of the estimated fluxes from one computational element to the others.
 The algorithm is tested first for the following literature case [Yeh, 1990]: given the initial condition
u = 0.5 m/s, Δx = 200 m, Δt = 96 s, σ0 = 264 m, x0 = 2000 m and a mesh with 65 elements, compute the concentration distribution after 100 time steps.
 The Courant number of the example is 0.24. Initial condition (20) has been assigned to all the element nodes; the final concentrations shown in Figure 5 are the average concentrations computed at the node shared by two connected elements. Observe in Figure 5 the test results obtained using Courant numbers equal to 0.96 and 2.4. With the two Courant numbers smaller than one, numerical diffusion is almost the same and produces a peak reduction from 1.0 to 0.85. With the Courant number greater than one, the peak is reduced from 1.0 to 0.84, but the shape of the concentration distribution remains almost the same as in the previous cases. Also, no instabilities occur. Yeh  reports a peak reduction from 1.0 to 0.25 for the test results obtained using the Petrov-Galerkin method and a Courant number equal to 0.24.
 A numerical convergence test has been carried out using the same example and a mesh density ranging from 32 to 1024 elements. The rates of convergence have been inferred from the values of the average error, defined as:
where n is the number of the nodes of each element (n = 2 in the 1-D case, n = 3 in the 2-D case). A power dependency between the average error and the grid size has been considered, and the exponent has been assumed as the convergence order. Table 1 shows the order of convergence, for different Courant numbers, computed from one mesh density to the next one. Observe that the order of convergence in this case is greater than two.
Table 1. Convergence Numerical Test for the 1-D Advection of a Gaussian Concentration Wave
 A second test has been carried out for the same domain and the same velocity field, using as initial concentration condition a unitary square wave whose width is 400 m. The center of the square wave is initially located at 1800 m from the origin of the domain. The final concentrations after a period T = 9600 s, obtained for different values of the Courant number and Δx = 12.5 m, are shown in Figure 6. The shape of the solution is almost the same for the three different values of the Courant number, approximating quite well a square waveform even when the Courant number is larger than one. The numerical dispersion causes the smoothing of the vertical fronts of the concentration pulse and local maxima and minima arise around the sharp fronts, but again no instabilities are present. The maximum value is located at the beginning of the unitary wave, and its value is 1.063 for Cou = 0.24, 1.064 for Cou = 1.0 and 1.056 for Cou = 2.4. The minimum value is located at the end of the square wave and increases for increasing values of the Courant number; it is equal to −0.049, −0.007 and −0.002, respectively for Cou = 0.24, Cou = 1.0 and Cou = 2.4. The convergence rate has been evaluated, obtaining the values shown in Table 2. Because of the difficulties in reproducing the sharp fronts, the order of convergence is much smaller than in the previous test case.
Table 2. Convergence Numerical Test for the 1-D Advection of a Block-Shaped Concentration Wave
Number of Elements
Step Length, m
Cou = 0.24
Cou = 1.0
Cou = 2.4
3. Extension of the Algorithm to the 2-D Case
 An important requirement for the application of the algorithm is the possibility of sorting the elements in order to know the time approximation of the entering fluxes before each system of ODEs is solved. This is always possible, in 2-D and 3-D cases, if a scalar potential exists such that the direction of its gradient is opposite to the flow direction. In this case, if the elements are ordered from the highest to the lowest potential value, the entering fluxes are always known from the previous solution of the elements with higher potential. For groundwater transport problem, the scalar potential is given by the piezometric head, defined as usual as the sum of the topographical elevation and the pressure height [de Marsily, 1986].
 Assume the use of a triangular mesh for the flow field computation. If the finite element method is used and a constant velocity is estimated inside each element, the water fluxes through the common side of two adjacent elements computed using the two element velocities are not necessarily the same. To fix this inconsistency, each element of the original mesh can be divided in four subelements and the velocities can be changed in the subelements surrounding each node to preserve the flux continuity [Kinzelback and Cordes, 1992]. If the finite volume method is used, three fluxes are computed at the sides of each element, where a velocity vector has to be estimated. In the steady state case this can be done by solving a linear system where the fluxes of the u, v components of the velocity are set equal to the computed ones along two of the three sides of the element. According to the steady state assumption, also the third flux of the velocity vector will be equal to the computed one.
 The most severe limitation of the finite element method is that the piezometric head changes linearly inside each element; the cell where the mass balance is enforced is a polygon defined by the centers of all the triangles surrounding each node. In 2-D problems, fluxes are always directed from the cells of the nodes with higher to the cells of the nodes with lower piezometric head only if obtuse triangles are missing. Moreover, analytical integration of the concentration spatial moment inside the polygon is awkward. In the finite volume method, the mass balance cell is the triangle itself and the flux is always directed from the element with higher to the element with lower piezometric head. In the following, we assume the flow field to be known from the solution of a finite volume problem and from the subsequent estimation of a single velocity vector inside each element.
 Given the following 2-D advection problem:
where u and v represent the x and y velocity components, call I1,…, IN the sequence of triangular elements ordered according to the corresponding piezometric head. Assume the following piecewise linear approximation of the concentration inside each element:
where Nie is the Galerkin shape function of x and y coordinates and e is the index of the element where x and y are located. Mass conservation can be guaranteed by the following ODE:
where σe is the area of element e, Fee and Fle are, respectively, the entering and leaving concentration fluxes. The x and y moments can be easily estimated as functions of the x and y coordinates of the element nodes, i.e.,
[Huyakorn and Pinder, 1983]. The same procedure used in the 1-D case can be applied here in order to obtain a time derivative of the first-order moments (25) equal to the derivative obtained from the solution of equation (22). The element moments, in the x and y direction at time t + dt, are equal to:
where ue and ve are the components of the velocity inside the element in the x and y direction, δi is equal to 1 or 0 if the flux is, respectively, entering or leaving the element, Lie is the length of the ith side of element e, that is the side following the ith node in counterclockwise direction, ϕie is the mass flux (positive if leaving the element) per unit length through the same side of the element and ξm is the approximated concentration of the entering flux. In the linear integral, ce represents the concentration at points of the ith side of element e. Linear integrals in equation (27) represent the moment fluxes and can be easily estimated assuming ce as a function of the concentrations at the nodes of the ith side of element e and ξm as a function of the concentrations at the nodes of the corresponding side of the upstream element. This provides, for the x and y spatial moment fluxes:
where j is the index of the node following the ith node in counterclockwise direction. Subtracting moments (25) from (27) and dividing by dt, you get:
 The average in space concentration e and the moments given by equation (25) can be written in matrix form as:
 Differentiating equation (30), multiplying both sides by the inverse of the square matrix Be and substituting the moment derivatives with the right hand side of equations (24) and (29), the system of ODEs can be written in normal form as:
that can also be expressed using the same matrix notation of equations (12) and (13) (see Appendix A for the matrix Ae and vector b coefficient expressions).
 Owing to asymmetry, matrix Ae can have either three real or one real and two conjugate eigenvalues and eigenvectors. In the first case call λ1e, λ2e, λ3e and u1e, u2e, u3e the real eigenvalues and eigenvectors, in the second case call λ3e and u3e the real eigenvalue and eigenvector, λre, ure and λie, uie the real and the imaginary part of the two conjugate eigenvalues and eigenvectors. The solution of system (12) at t = Δt is given by:
 The first three terms of equation (33) represent the solution of the homogeneous part of equation (12). Vectors v0, v1, v2 and v3 have to be estimated by substitution of solution (33) in equations (12), according to the sequence of equation (16). Coefficients α1, α2 and α3 are computed by forcing the solution of equation (12) to honor the initial concentration values at the three nodes of the element, according to the system:
 The mean (in time) concentrations at the three nodes of the element can be computed after the solution of the system of ODEs (12), to obtain the polynomial coefficients shown in Appendix B. See also in Appendix C the pseudocode of the algorithm for the 2-D case.
 The 2-D algorithm is tested using two literature cases and a third one, in which the analytical solution is known. In the three examples the plotted final concentrations at nodes are evaluated as the average of the concentration values obtained at all the element nodes with the same x-y location.
 The first literature case [Nassiri and Babarutsi, 1997] is the uniform advection of a block-shaped adimensional concentration pulse, assuming a square space domain and a velocity forming a 45° angle with the domain axes. The block is initially located near the origin (see Figure 7) and its value is equal to 1.
 In Figures 8a, 8b, 9a, and 9b the results obtained after a time T = 18000 s, using two different meshes of isosceles right-angled triangles, are shown. The first and the second mesh have the hypotenuse, respectively, parallel and orthogonal to the flow direction. The length of the smaller element side is Δx = 100 m and the adopted time step is Δt = 150 s. The value of the velocity components is u = v = 0.1 m/s. The corresponding Courant numbers in the x and y direction are evaluated trough the following equations:
and are both equal to 0.15.
 The final concentration peak is overestimated, a small minimum arises and the sharp fronts of the block are smoothed, as a consequence of the numerical dispersion, but no oscillations occur, regardless of the mesh orientation. Results are similar to those obtained using the Hermite scheme [Holly and Preissmann, 1977], in which the block shape is not preserved and the final value of the peak is overestimated by 20%, while the use of the oscillation-free method HLPA [Zhu, 1991] produces a peak underestimation of 27%. The same test is carried out by Stefanovic and Stefan , comparing the result obtained using two semi-Lagrangian schemes based on cubic spline interpolation [Branski and Holley, 1986] and on cubic Hermite interpolation [Holly and Preissmann, 1977]. Both schemes produce overestimated final peaks (by 27% and 12%, respectively) and spurious minima. All the tests are carried out for Courant numbers less than 1.
 Observe that all the methods used for comparison are applied with the use of quadrilateral elements forming a regular mesh. Results obtained using the proposed procedure with increasing Courant numbers and the first triangular mesh are shown in Figure 10: observe that no instabilities occur also with Courant numbers greater than 1, even if numerical diffusion increases. Moreover, a strong improvement can be obtained by halving the length of the element sides and multiplying by four the size of the time step, leaving basically unchanged the total computational effort. See in Figure 11 the results obtained in this case with the proposed method using the first triangular mesh.
 We performed the numerical convergence test and obtained the values shown in Table 3 for different Courant numbers and the first triangular mesh. The average error has been evaluated through equation (21) using n = 3. The values obtained are smaller than one and similar to the values of the analogous 1-D case, due to the numerical difficulties arising also in the 2-D case when trying to reproduce sharp fronts.
Table 3. Two-Dimensional Test 1: Convergence Numerical Test
Number of Elements
Step Length, m
Coux = 0.15
Coux = 1.0
Coux = 2.5
2 × 242
2 × 482
2 × 962
 The second test case [Komatsu et al., 1997] is the uniform advection of a two-Gaussian peak adimensional concentration on an indefinite two-dimensional domain (see Figure 12). Again, the velocity vector is oriented at 45° with respect to the axes, and its components are u = v = 0.5 m/s. The two-Gaussian initial concentration at point P(x, y) is evaluated as:
where P1 and P2 are the initial locations of the two peaks, C1 and C2 are the peak values and σ1, σ2 represent the standard deviations of the two distributions. The distribution parameters used in the test are outlined in Table 4.
Table 4. Parameter Values for Test 2
 In Figure 13a the result obtained, after a time T = 9600 s, using a regular equilateral triangular mesh (see Figure 13b) with Δx = 200 m and Δt = 100 s are shown. The average Courant numbers are defined as:
and are equal to 0.38 in both directions. In the first row of Table 5 the maximum and minimum concentration values are shown. The root mean square error with respect to the exact solution is also evaluated, as a global measurement of the result quality. In Table 5 the previous performance indicators are compared with indicators of the exact solution and with the results of some others numerical procedures [Komatsu et al., 1997]. The proposed procedure shows a good capability of reproducing the maximum value; it succeeds in avoiding spurious minima and reproducing the shape of the concentration, providing the smallest values of minimum and RMS. As in the previous example, even better results can be obtained by halving the size of the element sides and multiplying by four the original time step. See the corresponding performance indicators in the last row of Table 5. See also, in Figure 14 and Table 6, the results obtained with the more dense mesh using different values of the average Courant number.
Table 5. Test 2: Comparison Between the Proposed Procedure and Other Numerical Schemesa
Δx = 200 m.
First-order upwind scheme
Proposed procedure (Δx/2)
Table 6. Test 2: Maximum and Minimum Concentrations and Root Mean Square Error for Different Average Courant Numbersa
Δx = 100 m.
 The numerical convergence test gives the results shown in Table 7 for different values of the average Courant number. Observe that in this case the order of convergence is always greater than two.
Table 7. Two-Dimensional Test 2: Convergence Numerical Test
Number of Elements
Step Length, m
 The last test case is the advection of a known Gaussian adimensional concentration pulse in a nonuniform flow field. The flow field has radial symmetry, with a time-constant flow rate extracted at a point of an indefinite confined two-dimensional aquifer of constant thickness l and porosity ω. Assuming the origin of axes as the extraction point, the velocity vector at a distance r from the origin is directed according to the radial direction and its value is:
where Q is the extracted flow rate. The adopted velocity field is affected by an estimation error, which is function of the mesh density.
Equation (22) can be reformulated on the radial direction leading to the following 1-D form:
The exact solution can be easily found as:
In the test we assume Q = 1 m3/s, l = 10 m, ω = 0.1. The initial concentration at a point P is evaluated as:
in which r is the radial abscissa of point P. The peak location P0 has coordinates x0 = 32.5 m and y0 = 32.6 m, and we assume C0 = 1 and σ0 = 2 m (see Figure 15). The numerical procedure has been carried out using a regular equilateral triangular mesh with Δx = 1 m and a time step Δt = 100 s. Because of the non uniform velocity field, the average Courant numbers vary from one point to the another. The range of average Courant numbers in x and y directions is [0.02 ÷ 3.18].
 In Figure 16 the results of the numerical procedure are compared with the analytical solution, at different iterations. Again, no instabilities occur and the underestimation of the peak value is small. In Table 8 the maximum and minimum values are shown, together with the RMS value, at different times. Observe that the RMS maintains a small value throughout the iterations. The numerical convergence test performed in this case gives the results shown in Table 9.
Table 8. Test 3: Performance Indicators at Different Iterations
Number of Iterations
Table 9. Two-Dimensional Test 3: Convergence Numerical Test
Number of Elements
Step Length, m
4. Mass Conservation and Irrotational Velocity Field Limitation
 Element concentrations, at the end of each time step, are given by the analytical solution of the system of ODEs given by the conservation differential equations of the mass, as well as of the x and y first-order spatial moments. Because of this, the local mass balance is satisfied for given estimation of the total entering flux, that is:
where e(t) and e(t + Δt) are the mean (in space) concentration values at the beginning and at the end of the time step, e is the given time average of the total entering flux and e is the time average of the computed total leaving flux of element e. Entering fluxes are set equal to the approximation of the leaving fluxes of the upstream elements by equations (A2) and (A4) (see Appendix A). Equation (B7) (see Appendix B) guarantees that the mean (in time) element concentrations, estimated by the solution of the system of ODEs, are equal to the mean of the approximated ones. Because the entering volumetric flux is, for each side of each element, equal to the flux leaving from the common side of the next upstream element, this also implies that, for the same side, the mean of the assigned entering flux is equal to the mean of the computed leaving flux of the next upstream element. Because of this, the sum of equations (43) provides:
where u is the total mean flux entering in each upstream boundary element and d is the total mean flux leaving from each downstream boundary element. Equation (44) guarantees the global mass conservation.
 The proposed algorithm has been developed for the solution of problems where velocity is proportional to the gradient of a scalar potential and vorticity is zero. The relationship between vorticity (or rotationality) and potential can be found in any introductory book of water wave mechanics, like the text of Dean and Dalrymple . Velocity fields displaying vorticity, like shallow water bodies with high-frequency waves or velocity fields producing scours around piers of a bridge cannot be treated according to the proposed numerical scheme. On the other hand, because the methodology requirement is to have fluxes always moving from points with higher to points with lower scalar potential, the technique can also be applied if the more general condition
holds, where v is the velocity vector, H is the scalar potential and K is a semipositive definite matrix. This implies that the algorithm can be applied for the simulation of all the groundwater transport problems where the Darcy's law holds, with saturated or unsaturated, isotropic or anisotropic porous medium.
 A scalar potential also exists in shallow water flow fields if the inertial terms are neglected in the depth-averaged form of the Navier-Stokes equations, called Saint-Venant equations. This simplification of the momentum equation can be adopted in all the flow-routing problems where the upstream flow wave has a large enough time period [Tsai, 2003]. An application of the early version of the algorithm to this problem, using a piecewise constant approximation of the unknown water depth, is given by Noto and Tucciarelli  for the 1-D network case and by Tucciarelli and Termini  for the 2-D case. In both the groundwater transport and shallow water applications the scalar potential is the piezometric head. In the first case piezometric heads are known from the previous solution of the flow problem and in the second case they have to be iteratively computed using a fractional step methodology. The fractional step methodology splits the equations in a nonlinear advective component, which is solved with the proposed technique, and in a linear diffusive component that is solved with a standard Galerkin method.
 The proposed algorithm for the numerical solution of the advection problem has the following appealing properties: (1) unconditional stability, (2) second-order approximation of the unknown concentration within each computational element, and (3) local and global mass conservation. The 1-D and 2-D tests suggest a computational accuracy similar to other explicit second-order methods, but the unconditional stability of the algorithm allows the use of non structured meshes and the choice of a time step based on the average size of the elements and the average norm of the velocity. This should make the algorithm competitive about the time computation required for each time step. In the 2-D case (see the pseudocode in Appendix C) the solution of five factorized linear systems of order three for each element are needed, along with the computation of the corresponding right hand sides. Of course, a preliminary work is required for the factorization of the matrices and the element ordering according to their scalar potential. Further improvement of the results, in the case of initially discontinuous functions, can be obtained with the use of a function limiter as will be discussed in a future work. The major limitation of the algorithm is the need of a scalar potential for the velocity field, which includes, however, quite large classes of environmental and engineering problems. Another limitation is the serial structure of the computations, which impairs, in the 1-D case, the use of parallel computing; this limitation is partially avoided in 2-D and 3-D cases, where several elements can be solved simultaneously along different flux pipes.
Appendix A:: Coefficients of the Linear Differential System
 The matrix and vector elements in equation (12) are One-dimensional case
where coefficients of matrix Be are given by equation (31). Call jp and jm the nodes following and preceding node j in counterclockwise direction; the coefficients of matrix U are the following:
 The vector coefficients of the polynomial equation (13) have components
 Call ξjm,n and ξjpm,n the polynomial approximation of the concentrations at the nodes of the upstream element m sharing the side with nodes j and jp, or the assigned upstream boundary concentration. Elements of matrix V are the following:
Appendix B:: Polynomial Approximation
 The mean values of the homogeneous solution of equation (12) in the 1-D case are given by:
 In the 2-D case the following equations complete the set (B1):
 The following equation guarantees the equality of the initial value (t = 0):
 The following equation guarantees the equality of the final value (t = Δt):
 The following equation guarantees the equality of the mean value:
 The following equation approximates the first-order moments:
 Solve the flow field Begin cycle for e = 1, …, N Compute ue, ve, σe, ϕie, Lie, i = 1, …, 3 Compute Ae (equations (A1)–(A6)) Compute λ1e, λ2e, λ3e, u1e, u2e, u3e or λre, λie, λ3e, ure, uie, u3e Compute c1e, c2e, c3e (equations (15) and (33)), and 1e, 2e, 3e (equations (B1) and (B2)), End cycle