2.2.1. Computational Grid

The computational domain is divided up by a set of non-overlapping triangles or convex quadrangles. A CD staggered grid of variable arrangemen<sup>t</sup> [23] is used. The horizontal velocity components, *u* and *v*, are defined at side (cell face) centers, while the water level, η, and the scalar concentration, *C*, are defined at element centroids. The notations *ne*, *np*, and *ns* are respectively used to denote the number of elements (cells), nodes, and sides of the unstructured grid. For the sake of convenience, the notations associated with the unstructured grid are introduced as follows:

(1) *i34*(*i*) is the number of nodes/sides of cell *i*; *j*(*i*,*l*) is the sides of cell *i*, where *l* = 1, 2, ... , *i34*(*i*); *Pi* is the area of cell *i*; (2) *i*(*j*,*l*) are two cells that share side *j*, where *l* = 1, 2; δ*j* is the distance between two adjacent cell centroids that are separated by side *j*; *Lj* is the length of side *j*; (3) *si*,*l* is a sign function associated with the orientation of the normal velocity defined on side *l* of cell *i*. Specifically, *si*,*l* = 1/−1 if a positive velocity on side *l* of cell *i* corresponds to outflow/inflow (of cell *i*).
