## 4 Numerical Examples and Validation of the Software
### Examples in 2d
#### 4.2.1 Examples on a Convex Domain  
Similar to Section 4.1, non-trivial examples will be discussed in this section. First, let \(\Omega=]0,2[^{2}\) be given, as well as \(\Gamma_{D}=\partial\Omega\). In this section, an exact solution of (3) will be fixed. As done before, the concentrations \(c_{A},c_{B},c_{C}\) will be given as:  
\[c_{A}:=c_{B}:=c_{C}:=x(x-2)y(y-2)+\frac{1}{2}.\]  
This yields the RHS for the Dirichlet condition as \(g_{S,A}\equiv\frac{1}{2}\), for \(S\in\{A,B,C\}\), and the RHS \(f_{A},f_{B},f_{C}\in L^{2}(\Omega)\) are given through:  
\[f_{A}= -2D_{A}\big{(}y(y-2)+x(x-2)\big{)}-k_{2}\bigg{(}x(x-2)y(y-2)+ \frac{1}{2}\bigg{)}+k_{1}\bigg{(}x(x-2)y(y-2)+\frac{1}{2}\bigg{)}^{2},\] (30a) \[f_{B}= -2D_{B}\big{(}y(y-2)+x(x-2)\big{)}-k_{2}\bigg{(}x(x-2)y(y-2)+ \frac{1}{2}\bigg{)}+k_{1}\bigg{(}x(x-2)y(y-2)+\frac{1}{2}\bigg{)}^{2},\] (30b) \[f_{C}= -2D_{C}\big{(}y(y-2)+x(x-2)\big{)}+k_{2}\bigg{(}x(x-2)y(y-2)+ \frac{1}{Before the discussion of the examples is done, note that the exact error for the problems above is given by  
\[\sum_{S\in\{A,B,C\}}\left[\left\|\
abla c_{S}-\
abla c_{S,h}\right\|_{L^{2}( \Omega)}^{2}+\left\|p_{S,h}-\
abla c_{S}\right\|_{L^{2}(\Omega)}^{2}+\left\| \operatorname{div}p_{S,h}-\Delta c_{S}\right\|_{L^{2}(\Omega)}^{2}\right]. \tag{31}\]  
The first example that is discussed in this section is given by the parameters that are defined in Table 1. When simulating the problem (3) with uniform refinement, one obtains the species concentration that is displayed in Figure 12. Furthermore, note that, for the adaptive scheme, one obtains close to identical figures, hence it will be omitted in this article.  
When evaluating the error estimators as well as the exact error, c.f. Figure 13, one obtains that the exact error, the estimator \(\eta\) given by the localized evaluation of the corresponding least-squares functional as well as the practical error estimator \(\sigma\) can be considered to be parallel for both refinement schemes. As can be seen, the adaptive scheme gives no prior advantage besides a better estimator \(\eta\), which was used in the adaptive scheme.  
Figure 12: Concentration profiles \(c_{A}\), \(c_{B}\) and \(c_{C}\) with negative concentrations for (3) with parameters given in Table 1 and adaptive mesh refinement in 2d.  
Figure 13: Developement of the error estimators for the uniform and adaptive mesh refinement, for the approximation of (3) with the parameters given in Table 1, in 2d.  
When evaluating the augmented Lagrangian scheme, cf. Algorithm 1, one sees that the scheme converges after 166 iterations, cf. Figure 14, to species distributions with non-negative concentrations. One already obtains a state with small negativities after 316 iterations, as seen in Figure 14. Furthermore, one can see that the estimator \(\eta\) in each iteration does not converge to 0. However, in contrast to the examples in Section 4.1, the practical error seems to converge to 0.  
Figure 14: _Cont._  
The second example that is discussed in this section is given by the parameters that were defined in Table 2. When simulating the corresponding example (3) one obtains an analogous Figure 12, which are not displayed in this article, since no major difference to Figure 12 is visible.  
When evaluating the augmented Lagrangian scheme for the example that is given by the set of parameters defined in Table 2 with adaptive mesh refinement, one obtains non-negative species distributions after 188 iterations, cf. Figure 15, although the history given in the figure indicates states close to the approximated solution after 1161 iterations of the augmented Lagrangian schemes.  
Figure 14: Species distributions \(c_{A}\) (**a**,**d**,**g**), \(c_{B}\) (**b**,**e**,**h**) and \(c_{C}\) (**c**,**f**,**i**) as well as error estimators (**j**,**k**,**l**) in the 1 st, 83 rd and 166 th ideation of the augmented Lagrangian algorithm with adaptive mesh refinement, w.r.t. the parameters that are given in Table 1.  
Figure 15: _Cont._