Computation of the integrated flow of particles between polygons

https://doi.org/10.1016/j.envsoft.2008.11.006Get rights and content

Abstract

To quantify the flow of particles over a heterogeneous area, some models require the integration of a pointwise dispersal function over source and target polygons. This calculation is a non-trivial task and may require a great deal of computing time. In this paper, an efficient and accurate algorithm is presented to integrate general individual dispersal functions between pairs of convex or non-convex polygons. Geometric calculations are performed using standard tools from computational geometry. Numerical integration is then performed either by a grid method or by an adaptive cubature method. The procedure is illustrated with a case study. It is shown that the cubature method is much more efficient than the grid method and that its error estimates are accurate. The algorithm is implemented in a C++ program, Califlopp.

Introduction

In the environmental sciences, predictions are now often based on explicit spatial models. In general, spatial heterogeneity is taken into account by meshing. In other words, space is partitioned into homogeneous cells and flow between cells is modelled by equations derived from theoretical physical models. For instance, lava flow rates can be derived from a model for the downslope flow of a Bingham liquid (e.g., Dragoni et al., 1986, Vicari et al., 2007). In Ojo et al. (2007), pollutant transport in surface waters is modelled through partial differential equations. In Lenser and Constable (2007), movement of passive biomass in oceans is represented by movement tensors computed from numerical simulations involving the flow field.

Alternatively, for transport through a media considered as spatially homogeneous, as in the case of airborne transport, movement can be modelled using a dispersal function. For example, the dispersion of aircraft noise near airports is represented in Moreno-Jiménez and Hodgart (2003) by an equation in which the decrease of the sonorous pressure level is a function of the distance between the source and the affected site.

Dispersal functions are also used in agricultural models that focus on the diffusion of pollen, seeds (GENESYS: Colbach et al., 2001a, Colbach et al., 2001b; MAPOD: Angevin et al., 2008) or spores (BLIGHTSPACE: Skelsey et al., 2007). In such applications, the space is partitioned into fields or sub-regions inside fields, and simulation involves the computation of the amount of particles exchanged between cells. The inter-cell particle flow is determined from a plant-to-plant (or individual) dispersal function and from cell features such as crop density and genotype.

For models that involve a dispersal function and two-dimensional source and target cells, dispersion calculation is most often based on a point grid for the purpose of simplicity. Such a discretization requires rather heavy computations. Another limitation of current implementations is that they are restricted to cells with simple shapes such as quadrilaterals. As a result of our experience in gene flow modelling over landscapes, we have tried to compensate for both these gaps.

The calculation of the particle flow between polygons is a non-trivial programming task. Relatively simple algorithms can be designed for integrating the dispersal function over pairs of polygons, but they may not be able to properly address the wide diversity of polygon sizes and shapes encountered in actual crop fields. Moreover, the calculation requires a great deal of computing time and therefore imposes severe limits on the size of the total area to be studied.

The algorithm for particle flow computation described in this paper aims to provide an efficient solution for this type of calculation. It first involves geometric computations: decomposition of polygons into non-overlapping convex parts, polygon triangulation (O'Rourke, 1998) and polygon intersection (O'Rourke et al., 1982). The particle flow is then computed using numerical integration. A required precision can be specified and an error estimate is provided (Berntsen and Espelid, 1992). The algorithm can be used for any set of simple polygons. The dispersal function must be stationary, which means that it is invariant when both the target and source points are shifted together. However, it may be non-isotropic, for example, if we are dealing with a gradient due to wind. A polygon is considered as simple if it is bounded, connected and if it has no hole. A simple polygon does not need to be convex and may have an arbitrary number of vertices.

Section snippets

Definition and main simplification

The basic inputs of the methods are the coordinates of the vertices of each polygon and the individual dispersal function ϕ. All points of the source polygon are considered to be emitting, while all points of the target polygon may receive a particle: the source and target areas are considered as continuous. Furthermore, the densities of emitting points and receiving points are supposed to be spatially homogeneous within a polygon. The individual dispersal function ϕ between two points x and y

Geometric algorithms

The numerical computation of an integral of the type (2) requires the evaluation of the following:

  • the polygon A(Bt),

  • its area,

  • the polygon ĂB.

Standard algorithms for these computations are available from computational geometry (see O'Rourke, 1998 for an introduction).

In the specific case when both polygons A and B are convex, the intersection A(Bt) is computed using the “chasing” algorithm (O'Rourke et al., 1982). The complexity of this algorithm is linear with respect to the total number of

Numerical integration

An example of an integrand is shown in Fig. 2. In general, numerical integration performance highly depends on integrand smoothness. In this case, the integrand is the product of two terms: area A(Bt), and the dispersal function ϕ(t). The function tarea(A(Bt)) is piecewise linear. The integrand is therefore, at best, a piecewise continuously differentiable function. The actual smoothness of the integrand also depends on the dispersal function ϕ. In general, ϕ shows a peak at the origin.

Test data

To illustrate contrasted situations, four pairs of polygons were studied:

  • (1,1): two identical convex polygons,

  • (2,3): two convex polygons next to each other,

  • (4,5): two polygons next to each other, one convex, the other non-convex,

  • (6,6): two identical, highly irregular polygons.

These polygons are plotted in Fig. 6; their areas and the number of vertices are given in Table 1.

Pairs of identical and pairs of contiguous polygons are the most complex cases for integration. In addition, they are of

Conclusion

The algorithm presented in this paper makes it possible to integrate a large number of stationary dispersal functions between pairs of convex or non-convex polygons. It includes a reliable estimation of its own accuracy so that the computing load can be adjusted to a required level of precision. In practice, the more well-behaved the dispersal function, the faster and more accurate the algorithm. However, it is quite general and may be used for a wide range of situations.

The algorithm has been

Acknowledgements

This work was partially supported by the European SIGMEA project on the modelling of gene flow at the landscape scale. The authors wish to thank Ms. Ying Fu for preliminary programming work during a training course in our unit and Dr. Nathalie Colbach (INRA) and Mr. Christophe Sausse (CETIOM) for extensive testing on real landscapes. They are also grateful to Ms. Gail Wagman for a careful rereading and rewording of their English.

References (19)

There are more references available in the full text version of this article.

Cited by (0)

View full text