This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A first-order computational algorithm for reaction-diffusion type equations via primal-dual hybrid gradient method

Shu Liu, Siting Liu, Stanley Osher, Wuchen Li  
\star Department of Mathematics, University of California, Los Angles
{shuliu, siting6, sjo}@math.ucla.edu
\dagger
Department of Mathematics, University of South Carolina
[email protected]
Abstract

We propose an easy-to-implement iterative method for resolving the implicit (or semi-implicit) schemes arising in solving reaction-diffusion (RD) type equations. We formulate the nonlinear time implicit scheme as a min-max saddle point problem and then apply the primal-dual hybrid gradient (PDHG) method. Suitable precondition matrices are applied to the PDHG method to accelerate the convergence of algorithms under different circumstances. Furthermore, our method is applicable to various discrete numerical schemes with high flexibility. From various numerical examples tested in this paper, the proposed method converges properly and can efficiently produce numerical solutions with sufficient accuracy.

Keywords— Primal-dual hybrid gradient algorithm; Reaction-diffusion equations; First order optimization algorithm; Implicit finite difference schemes; Preconditioners.

1 Introduction

Reaction-diffusion (RD) equations (systems) have broad applications in many scientific and engineering areas. In material science, the phase-field model is described by typical RD-type equations known as Allen-Cahn [1] or Cahn-Hilliard equations [4]. They are used to model the development of microstructures in a mixture of two or more materials or phases over time; In chemistry, RD systems are used to depict the reaction and diffusion phenomena of chemical species in which a variety of patterns are produced [37, 39]; RD systems are also ubiquitous tools in biology: They are widely used for modeling morphogenesis [11], as well as the evolution of species distribution in ecology system [34]. In recent years, researchers also found that RD equations are useful in modeling and predicting crimes [44].

Reaction-diffusion (RD) equations are nonlinear parabolic partial differential equations possessing the following general form

u(x,t)t=u(x,t)+u(x,t)on Ωd,\displaystyle\frac{\partial u(x,t)}{\partial t}=\mathcal{L}u(x,t)+\mathcal{R}u(x,t)\quad\textrm{on }\Omega\subset\mathbb{R}^{d}, (1)
with initial condition u(,0)=u0,\displaystyle\textrm{with initial condition }u(\cdot,0)=u_{0},

where \mathcal{L} is a certain non-positive definite differential operator associated with the diffusion process. For example, \mathcal{L} can be taken as the Laplace operator Δ\Delta or negative biharmonic operator Δ2-\Delta^{2}, or more general operators with variable coefficients; \mathcal{R} is a nonlinear operator depicting the reaction process. The RD equation is usually equipped with either the Neumann boundary condition if Ω\Omega is an ordinary region in d\mathbb{R}^{d}, or the periodic boundary condition if Ω\Omega is a periodic region 𝕋d\mathbb{T}^{d}. We can also extend the RD equation (1) from the 1D function uu to multiple dimensional vector function 𝑼\boldsymbol{U}:

𝑼(x,t)t=𝑼(x,t)+𝑼(x,t)on Ωd,\displaystyle\frac{\partial\boldsymbol{U}(x,t)}{\partial t}=\mathcal{L}\boldsymbol{U}(x,t)+\mathcal{R}\boldsymbol{U}(x,t)\quad\textrm{on }\Omega\subset\mathbb{R}^{d}, (2)
with initial condition 𝑼(,0)=𝑼0.\displaystyle\textrm{with initial condition }\boldsymbol{U}(\cdot,0)=\boldsymbol{U}_{0}.

Equation (2) can also be equipped with either Neumann or periodic boundary conditions. We also call the equation (2) reaction-diffusion system.

In recent decades, numerical methods, including finite difference methods [32, 17, 24, 27, 7, 12, 42, 40, 41, 28, 29, 30] and finite element methods [24, 49, 19], have been developed for computing the reaction-diffusion type equations (systems). Several benchmark problems [26, 13] have also been introduced to verify the proposed methods’ effectiveness.

In order to get rid of the restriction of the Courant–Friedrichs–Lewy (CFL) condition [15] on small time steps, most of the popular numerical schemes designed for solving reaction-diffusion equations (systems) in the aforementioned works of literature are implicit or semi-implicit. As one uses implicit or semi-implicit schemes for solving RD equations (systems) with nonlinear terms, Newton’s method [2] is usually needed for solving the series of nonlinear equations arising from time discretization. However, Newton’s method encounters several drawbacks that may affect the performance of the proposed numerical scheme, namely,

  • Newton’s method requires the initial guess position to be close enough to the exact solution of the nonlinear equation. Otherwise, Newton’s method may diverge.

  • When solving RD equations on mesh grids by Newton’s method, in each iteration, one has to solve a large-scale linear equation involving the Jacobian matrix of a certain nonlinear function. Solving this large-scale linear equation for multiple Newton iterations could be challenging and time-costing.

In this paper, we introduce a method based on the Primal-Dual Hybrid Gradient method (PDHG) [50, 8, 47, 14, 25] for solving the nonlinear updates arising in the time discretization schemes of RD equations (systems) with satisfying speed and accuracy.

We sketch the proposed method as follows. We briefly illustrate the main idea by considering the following fully implicit, semi-discrete scheme of the RD equation at the tt-th time step:

ut+1utht=ut+1+ut+1.\frac{u^{t+1}-u^{t}}{h_{t}}=\mathcal{L}u^{t+1}+\mathcal{R}u^{t+1}. (3)

In this case, utu^{t} is given, and ht>0h_{t}>0 is a stepsize. We need to solve for ut+1u^{t+1}. Consider the following function \mathcal{F}

(u)=uht(u+u)ut.\mathcal{F}(u)=u-h_{t}(\mathcal{L}u+\mathcal{R}u)-u^{t}. (4)

The goal is to solve (u)=0\mathcal{F}(u)=0. If we consider the indicator function ι\iota defined as

ι(u)={0u=0+u0.\iota(u)=\begin{cases}0\quad u=0\\ +\infty\quad u\neq 0.\end{cases}

Then the nonlinear functional equation (u)=0\mathcal{F}(u)=0 is equivalent to the minimization problem

minuXι((u)),\min_{u\in X}\leavevmode\nobreak\ \iota(\mathcal{F}(u)),

where XX is a certain linear functional space for uu. Now since ι\iota can be treated as the Legendre transform of the constant function 0, i.e., ι(u)=suppX{(p,u)}\iota(u)=\sup_{p\in X^{*}}\leavevmode\nobreak\ \{(p,u)\} (here XX^{*} denotes the dual space of XX), we can recast the above minimization problem as a min-max saddle point problem as follows

minuXmaxpX{(p,(u))}.\min_{u\in X}\max_{p\in X^{*}}\leavevmode\nobreak\ \{(p,\leavevmode\nobreak\ \mathcal{F}(u))\}. (5)

We denote L(u,p)=(p,(u))L(u,p)=(p,\mathcal{F}(u)). To deal with the saddle problem (5), by leveraging the ideas proposed in the PDHG method, we evolve p,up,u via the following proximal algorithms with extrapolation on the dual variable pp.

pn+1=\displaystyle p_{n+1}= argminpX{ppn222τpL(un,p)}=pn+τp(un),\displaystyle\underset{p\in X^{*}}{\textrm{argmin}}\leavevmode\nobreak\ \left\{\frac{\|p-p_{n}\|_{2}^{2}}{2\tau_{p}}-L(u_{n},p)\right\}=p_{n}+\tau_{p}\mathcal{F}(u_{n}), (6)
p~n+1=\displaystyle\widetilde{p}_{n+1}= pn+1+ω(pn+1pn),\displaystyle p_{n+1}+\omega(p_{n+1}-p_{n}), (7)
un+1=\displaystyle u_{n+1}= argminuX{uun222τu+L(u,p~n+1)}=(Id+τu(p~n+1,u))1(un).\displaystyle\underset{u\in X}{\textrm{argmin}}\leavevmode\nobreak\ \left\{\frac{\|u-u_{n}\|_{2}^{2}}{2\tau_{u}}+L(u,\widetilde{p}_{n+1})\right\}=(\textrm{Id}+\tau_{u}(\widetilde{p}_{n+1},\partial_{u}\mathcal{F}))^{-1}(u_{n}). (8)

Here the extrapolation coefficient ω>0\omega>0, τp,τu\tau_{p},\tau_{u} are time steps used to evolve u,pu,p. We should remind the reader to distinguish the PDHG time steps τp,τu\tau_{p},\tau_{u} from the time step hth_{t} of the reaction-diffusion equation. Recall ut+1u^{t+1} as the solution to (u)=0\mathcal{F}(u)=0, if we further assume that u(u)\partial_{u}\mathcal{F}(u), as a linear map from XX to XX^{*}, is injective. Then it is not hard to verify that u=ut+1,p=0u=u^{t+1},p=0 is the equilibrium of the above dynamic (6) - (8). Thus, we may anticipate that, by evolving (6), (7), (8), uk,pku_{k},p_{k} could converge to the desired equilibrium point ut+1,0u^{t+1},0.

Furthermore, since \mathcal{F} is usually nonlinear, the inversion in (8) cannot be directly evaluated. To mitigate this, we replace L(u,p~k+1)L(u,\widetilde{p}_{k+1}) by its linearization L^(u,p~k+1)=L(uk,p~k+1)+(uL(uk,p~k+1),uuk)\widehat{L}(u,\widetilde{p}_{k+1})=L(u_{k},\widetilde{p}_{k+1})+(\partial_{u}L(u_{k},\widetilde{p}_{k+1}),u-u_{k}) at u=uku=u_{k}. Thus the update of uk+1u_{k+1} will have an explicit form

uk+1=ukτu(p~k+1,u(uk)).u_{k+1}=u_{k}-\tau_{u}(\widetilde{p}_{k+1},\partial_{u}\mathcal{F}(u_{k})). (9)

As a result, we can evolve the discrete-time dynamic (6), (7), (9) for approximating the solution ut+1u^{t+1} of the nonlinear equation (u)=0\mathcal{F}(u)=0, and the explicit updating rules will enable us to deal with large-scale computational problems conveniently and efficiently. This work will mainly focus on applying such a PDHG algorithm to solve various types of reaction-diffusion equations (systems) up to satisfying accuracy and efficiency. Based on the discussion and presentation in this paper, our method may serve as a potential alternative to the widely used Newton-type algorithms for time-implicit updates of reaction-diffusion equations for time-implicit schemes.

It is worth mentioning that instead of designing and analyzing new discretization schemes for RD equations, our paper is mainly devoted to a strategy that can efficiently resolve the ready-made scheme. Thus, in our paper, we will omit most of the discussions on the properties of the numerical scheme but focus more on the implementing details and the effectiveness of the proposed PDHG method.

We clarify that the method is inspired by [31], in which the authors design a similar algorithm for solving multiple types of PDEs accompanied by 1-D examples. This paper will be more specific and focus on computing various 2-D RD equations (systems) with different boundary conditions.

It is also worth mentioning that introducing damping terms into wave equations to achieve faster stabilization [18] shares great similarity with the limiting stepsize version of applying the PDHG method to PDE-solving algorithms. On the other hand, PDHG methods are also utilized in [47] to solve nonlinear equations with theoretical convergence guarantee under different circumstances.

Furthermore, people have applied PDHG or first-order methods to compute time-implicit updates of Wasserstein gradient flows [5] and reaction-diffusions [6, 19]. Compared to them, the proposed approach work for general non-gradient flow reaction-diffusion equations. In recent research [10], the authors deal with the nonlinear saddle point problems via the transformed PDHG method, with the follow-up research [9] aiming at solving the nonlinear equations associated with a class of monotone operators. In recent works [48, 3], the authors utilize the weak forms of PDEs and deep learning techniques to compute high-dimensional PDEs. The algorithm in [48] can be formulated as a min-max saddle point problem and is directly solved by alternative stochastic gradient descent and ascent method. Although the proposed method shares similarities with the aforementioned research. It differs from them in the saddle point problem formulation and the computational scheme.

This paper is organized as follows. In section 2, we provide a brief introduction to the Primal-Dual Hybrid Gradients method; then we present the details of how we implement the PDHG method to update the finite difference schemes for RD equations (systems). We then provide some existing theoretical results on the convergence of the PDHG method. We demonstrate our numerical examples in section 3. Our numerical experiments cover well-known Allen-Cahn and Cahn-Hilliard equations; higher-order gradient flow that emerges from functionalized polymer research; RD system known as the Schnakenberg model, which originates from the study of steady chemical patterns; and RD systems involving nonlocal terms depicting the species evolution of wolves and deer. We conclude the work in section 4. Some of the future research directions will also be discussed in section 4.

2 PDHG method for reaction-diffusion equation

In recent years, The Primal-Dual Hybrid Gradient (PDHG) method [50, 49, 8] proves to be an efficient algorithm for solving saddle point problems emerging from imaging. This method is iterative and each of its iterations consists of alternative proximal steps together with a suitable extrapolation. We refer the readers to [8] for further details (both theoretical and experimental) of the method.

2.1 PDHG method for updating implicit finite difference schemes

To clearly convey our proposed idea, let us first consider the following reaction-diffusion equation as an illustrative example on 2D periodic region Ω=𝕋2\Omega=\mathbb{T}^{2}. We assume Ω\Omega is square shaped and denote its side length as LL.

u(x,t)t=λΔu(x,t)+f(u(x,t)),u(x,0)=u0(x).\displaystyle\frac{\partial u(x,t)}{\partial t}=\lambda\Delta u(x,t)+f(u(x,t)),\quad u(x,0)=u_{0}(x). (10)

Here we assume λ\lambda is a positive constant coefficient; f:f:\mathbb{R}\rightarrow\mathbb{R} is the nonlinear function depicting the reaction term. Since we assume Ω\Omega to be the periodic region, we use periodic boundary conditions (BC) for equation (10).

Although there are numerous pieces of research on designing numerical schemes for RD equations, to demonstrate how our method works, let us narrow down and focus on the implicit one-step finite difference (FD) scheme. Once we have demonstrated how to implement the method to this implicit scheme, such a method can be easily extended to general numerical schemes.

We discretize the time interval [0,T][0,T] into NtN_{t} equal subintervals with length ht=T/Nth_{t}=T/N_{t}. Suppose we discretize each side of the region Ω\Omega into NxN_{x} subintervals with space stepsize hx=L/Nxh_{x}=L/N_{x}, we choose the central difference scheme to discretize the Laplace operator Δ\Delta. We denote the discrete Laplace operator with the periodic boundary condition as LaphxP\textrm{Lap}_{h_{x}}^{\textrm{P}} which is an Nx2×Nx2N_{x}^{2}\times N_{x}^{2} block-circulant matrix possessing the following form

LaphxP=1hx2[LIIILIILIIIL]Nx×NxblocksL=[411141141114]Nx×Nx.\textrm{Lap}_{h_{x}}^{\textrm{P}}=\frac{1}{h_{x}^{2}}\left[\begin{array}[]{ccccc}L&I&&&I\\ I&L&I&&\\ &\ddots&\ddots&\ddots&\\ &&I&L&I\\ I&&&I&L\end{array}\right]_{N_{x}\times N_{x}\textrm{blocks}}\quad L=\left[\begin{array}[]{ccccc}-4&1&&&1\\ 1&-4&1&&\\ &\ddots&\ddots&\ddots&\\ &&1&-4&1\\ 1&&&1&-4\end{array}\right]_{N_{x}\times N_{x}}.

Here II is the NxN_{x} by NxN_{x} identity matrix. We denote UkNx2U^{k}\in\mathbb{R}^{N_{x}^{2}} as the numerical solution of (10) at the kkth time step. We vectorize the Nx×NxN_{x}\times N_{x} square array along the column to form the 1D vector UkU^{k}. That is, for l=iNx+jl=i\cdot N_{x}+j with 1iNx1\leq i\leq N_{x} and 1jNx1\leq j\leq N_{x}, UlkU^{k}_{l} is the numerical approximation of u((j1)hx,(i1)hx,kht)u((j-1)h_{x},(i-1)h_{x},kh_{t}).

Now the implicit one-step FD scheme for (10) is cast as

Uk+1Uk=ht(λLaphxPUk+1+f(Uk+1)),U0=U0.U^{k+1}-U^{k}=h_{t}(\lambda\leavevmode\nobreak\ \textrm{Lap}_{h_{x}}^{\textrm{P}}U^{k+1}+f(U^{k+1})),\quad U^{0}=U_{0}. (11)

Here U0U_{0} denotes the initial condition on mesh grid points. When solving for the numerical solution of (10), one has to sequentially solve a series of nonlinear equations as shown in (11). This is the place in which we should apply the PDHG method. Let us denote the function F:Nx2Nx2F:\mathbb{R}^{N_{x}^{2}}\rightarrow\mathbb{R}^{N_{x}^{2}} as

F(U)=UUkht(λLaphxPU+f(U)).F(U)=U-U^{k}-h_{t}(\lambda\textrm{Lap}_{h_{x}}^{\textrm{P}}U+f(U)). (12)

We want to solve F(U)=0F(U)=0. As discussed in the introduction, this is equivalent to minimizing ι(F(U))\iota(F(U)), which can further be cast as the following min-max saddle point problem

minUNx2maxPNx2{L(U,P)},\min_{U\in\mathbb{R}^{N_{x}^{2}}}\max_{P\in\mathbb{R}^{N_{x}^{2}}}\leavevmode\nobreak\ \{L(U,P)\}, (13)

where LL is defined as L(U,P)=PF(U)L(U,P)=P^{\top}F(U). As a result, solving the equation F(U)=0F(U)=0 finally boils down to the min-max problem (13).

Now the PDHG method suggests the following gradient ascent-descent dynamic for solving (13).

Pn+1\displaystyle P_{n+1} =argminPNx2{PPn222τp+L(Un,P)}=Pn+τpF(Un);\displaystyle=\underset{P\in\mathbb{R}^{N_{x}^{2}}}{\textrm{argmin}}\left\{\frac{\|P-P_{n}\|_{2}^{2}}{2\tau_{p}}+L(U_{n},P)\right\}=P_{n}+\tau_{p}F(U_{n}); (14)
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);\displaystyle={P}_{n+1}+\omega(P_{n+1}-P_{n}); (15)
Un+1\displaystyle U_{n+1} =argminUNx2{UUn222τu+L(U,P~n+1)}=(Id+τuUF()P~n+1)1Un.\displaystyle=\underset{U\in\mathbb{R}^{N_{x}^{2}}}{\textrm{argmin}}\left\{\frac{\|U-U_{n}\|_{2}^{2}}{2\tau_{u}}+L(U,\widetilde{P}_{n+1})\right\}=(\textrm{Id}+\tau_{u}\nabla_{U}F(\cdot)^{\top}\widetilde{P}_{n+1})^{-1}U_{n}. (16)

Similar to our discussion in the introduction, the third line above involves a nonlinear equation that cannot be directly solved. We thus can replace the term L(U,P~n+1)L(U,\widetilde{P}_{n+1}) in (16) by the linearization L^(U,P)=L(Un,P)+UL(Un,P)(UUn)\widehat{L}(U,P)=L(U_{n},P)+\nabla_{U}L(U_{n},P)(U-U_{n}), then (16) can be explicitly computed as

Un+1=argminUNx2{UUn222τu+L^(U,P~n+1)}=UnτuUF(Un)P~n+1.U_{n+1}=\underset{U\in\mathbb{R}^{N_{x}^{2}}}{\textrm{argmin}}\left\{\frac{\|U-U_{n}\|_{2}^{2}}{2\tau_{u}}+\widehat{L}(U,\widetilde{P}_{n+1})\right\}=U_{n}-\tau_{u}\nabla_{U}F(U_{n})^{\top}\widetilde{P}_{n+1}. (17)

Let us denote UU_{*} as the solution to F(U)=0F(U)=0. It is not hard to tell that (U,0)(U_{*},0) is a critical point of the functional L(U,P)L(U,P). Furthermore, (U,0)(U_{*},0) is the equilibrium point of the time-discrete dynamic (14), (15), (17).

To analyze the convergence speed to the equilibrium state (U,0)(U_{*},0), we first consider the affine case in which F(U)=AUbF(U)=AU-b with AA as an Nx2×Nx2N_{x}^{2}\times N_{x}^{2} symmetric matrix. We have the following result, similar to the analysis carried out in [31].

Theorem 1 (Convergence speed in Linear, symmetric case).

We fix the extrapolation coefficient ω=2\omega=2. Suppose we obtain the sequence {(Un,Pn)}n0\{(U_{n},P_{n})\}_{n\geq 0} by evolving the PDHG dynamic (14), (15), (17) with initial condition (U0,P0)(U_{0},P_{0}). Suppose F(U)=AUF(U)=AU with AA symmetric and non-singular. Denote λmax\lambda_{\max} as the maximum eigenvalue (in absolute value) of AA, and denote κ\kappa as the condition number of AA. Then {(Un,Pn)}\{(U_{n},P_{n})\} will converge to (U,0)(U_{*},0) linearly if τuτp43λmax2\tau_{u}\tau_{p}\leq\frac{4}{3\lambda^{2}_{\max}}. Then the maximum convergence speed is achieved when τuτp=ηλmax2\tau_{u}\tau_{p}=\frac{\eta_{*}}{\lambda_{\max}^{2}}, with the optimal convergence rate γ=1ηκ2\gamma_{*}=\sqrt{1-\frac{\eta_{*}}{\kappa^{2}}}, i.e., we have for any n1n\geq 1, (Un,Pn)(U,0)2γn(U0,P0)(U,0)2.\|(U_{n},P_{n})-(U_{*},0)\|_{2}\leq\gamma_{*}^{n}\|(U_{0},P_{0})-(U_{*},0)\|_{2}. Here η=η(κ)\eta_{*}=\eta_{*}(\kappa) is a function of κ\kappa. The range of η\eta_{*} belongs to [1,34)[1,\frac{3}{4}).

The proof of the theorem is provided in Appendix A. The explicit form of η(κ)\eta_{*}(\kappa) and γ\gamma_{*} are given in remark 2 of Appendix A.

The optimal convergence rate γ\gamma_{*} will be very close to 11 if the condition number κ\kappa is large. Furthermore, one will require O(κ2)O(\kappa^{2}) iterations for UnU_{n} to converge. This can be very expensive when AA is a large-scale matrix with a large condition number. For example, we consider the heat equation

tu(x,t)=Δu(x,t)\partial_{t}u(x,t)=\Delta u(x,t)

with periodic boundary conditions. We apply the one-step implicit scheme to this equation, i.e., we consider solving (IλhtLaphxP)Un+1=Un(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}})U^{n+1}=U^{n} at each time step nn. Thus A=IhtλLaphxPA=I-h_{t}\lambda\textrm{Lap}_{h_{x}}^{\textrm{P}}. One can tell that the eigenvalues of AA equal 1+4htλN2sin2(πkN)1+4h_{t}\lambda N^{2}\sin^{2}\left(\frac{\pi k}{N}\right) for 1kN.1\leq k\leq N. When NN is even, the condition number κ\kappa of AA equals 1+4λN2ht1+4\lambda N^{2}h_{t}. Since we can get rid of the CFL condition by using the implicit scheme, we can pick ht1N2h_{t}\gg\frac{1}{N^{2}}, which leads to κ(A)1\kappa(A)\gg 1. The convergence of the primitive PDHG method could be very slow, even for the heat equation.

As discussed in remark 2, γ\gamma_{*} approaches 0 if the condition number κ\kappa drops to 11. Hence, we need to control the condition number of the matrix AA to achieve faster convergence speed. This motivates us to introduce the preconditioning technique to the PDHG method. As suggested in both [25] and [31], we replace the l2l^{2} norm used in either UUn2\|U-U_{n}\|_{2} or PPn2\|P-P_{n}\|_{2} by the GG-norm G\|\cdot\|_{G} which is defined as

vG=vGv,\|v\|_{G}=\sqrt{v^{\top}Gv},

with GG as a symmetric, positive definite matrix. In this work, we mainly focus on substituting the norm PPn2\|P-P_{n}\|_{2} with PPnG\|P-P_{n}\|_{G}. The PDHG method involving GG-norm in its proximal step is sometimes named GG-prox PDHG [25]. The dynamic obtained via such GG-prox PDHG is shown below.

Pn+1\displaystyle P_{n+1} =Pn+τpG1F(Un);\displaystyle=P_{n}+\tau_{p}G^{-1}F(U_{n}); (18)
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);\displaystyle=P_{n+1}+\omega(P_{n+1}-P_{n}); (19)
Un+1\displaystyle U_{n+1} =UnτuUF(Un)P~n+1.\displaystyle=U_{n}-\tau_{u}\nabla_{U}F(U_{n})^{\top}\widetilde{P}_{n+1}. (20)

We should pause here to emphasize to the reader that the above three-line dynamic (18), (19), (20) will be the core gadget for our RD equation solver throughout the remaining part of the paper. Before we move on to further details on solving the RD equation (10) via GG-prox PDHG dynamic, let us provide a little more explanation on how (18) - (20) improve the convergence speed γ\gamma_{*}. Analogous to Theorem 1, we have the following corollary for affine function FF.

Corollary 1.1 (Convergence for GG-prox dynamic).

Suppose we keep all the assumptions in Theorem 1, if we further assume that GG commutes with AA, i.e., GA=AGGA=AG, then all the conclusions in Theorem 1 still hold except λmax\lambda_{\max} now denotes the largest (in absolute value) eigenvalue of AG1AA^{\top}G^{-1}A, and κ2\kappa^{2} now is the condition number of AG1AA^{\top}G^{-1}A.

It is now clear that if we can find a matrix GG that approximates AAAA^{\top} well, then AG1AA^{\top}G^{-1}A will be reasonably close to the identity matrix II. Thus the condition number of AG1AA^{\top}G^{-1}A will hopefully remain close to 11. In such cases, by properly choosing the step size τu,τp\tau_{u},\tau_{p} such that τuτp\tau_{u}\tau_{p} is close to 11, we can obtain a rather fast convergence rate γ\gamma_{*}.

Up to this stage, although most of our intuition and analysis on GG-prox PDHG dynamic comes from the case when FF is affine, it is natural to extend our treatment to the nonlinear F(U)F(U) defined in (12). We may still anticipate the effectiveness of our method since (12) can be recast as

F(U)=(IλhtLaphxP)UUkhtf(U),F(U)=(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}})U-U^{k}-h_{t}f(U),

which can be treated as an affine function with a nonlinear perturbation htf(U)h_{t}f(U) carrying the small hth_{t} coefficient. We now discuss several details in applying the GG-prox PDHG dynamic (18)-(20) to the above F(U)F(U). We aim at evolving the following dynamic in order to update the implicit one-step scheme (11).

Pn+1\displaystyle P_{n+1} =Pn+τpG1(UnλhtLaphxPUnhtf(Un)Uk);\displaystyle=P_{n}+\tau_{p}G^{-1}(U_{n}-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n}-h_{t}f(U_{n})-U^{k}); (21)
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);\displaystyle=P_{n+1}+\omega(P_{n+1}-P_{n}); (22)
Un+1\displaystyle U_{n+1} =Unτu(P~n+1λhtLaphxPP~n+1htf(Un)P~n+1).\displaystyle=U_{n}-\tau_{u}(\widetilde{P}_{n+1}-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\widetilde{P}_{n+1}-h_{t}f^{\prime}(U_{n})\odot\widetilde{P}_{n+1}). (23)

Initial guess  It is natural to choose the initial value U0U_{0} of the dynamic (21) - (23) as the computed result from the last time step kk, i.e., we set U0=UkU_{0}=U^{k}; And we will simply set P0=0P_{0}=0. A more sophisticated choice for U0U_{0} could be the numerical solution at time k+1k+1 obtained by a forward Euler scheme or an IMEX scheme [36, 24].

Choosing the matrix GG  The function F(U)F(U) defined in (12) is dominated by the affine term (IλhtLaphxP)UUk(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}})U-U^{k}. It is then natural to choose G=(IλhtLaphxP)2G=(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}})^{2} as the preconditioner matrix. If the nonlinear term f(U)f(U) is a highly stiff term, we may also consider absorbing its Jacobian Uf(U)=diag(f(U))\nabla_{U}f(U)=\textrm{diag}(f(U)) into GG. So, GG can also be chosen as G=(IλhtLaphxPdiag(f(U)))2G=(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}-\textrm{diag}(f(U)))^{2} in such case. However, there might be a trade-off in doing so: if diag(f(U))\textrm{diag}(f(U)) does not have equal diagonal entries, IλhtLaphxPdiag(f(U))I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}-\textrm{diag}(f(U)) cannot be efficiently inverted by Fast Fourier Transform (FFT) or Discrete Cosine Transform (DCT) method. Nevertheless, in most of our experiments, we discover that choosing G=(IλhtLaphxP)2G=(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}})^{2} is adequate for achieving satisfying convergence speed. For more general reaction-diffusion equations, we discover that the nonlinear function F(U)F(U) is usually decomposed as the sum of the linear term AUAU and the nonlinear term htf(U)h_{t}f(U). The linear term AUAU can be treated as the dominating term of F(U)F(U). It is then reasonable to choose G=AAG=AA^{\top} or at least close to AAAA^{\top} as a decent preconditioner of our method. This strategy works properly on general RD equations such as the Cahn-Hilliard equation or higher-order equations arising in polymer science. We refer the reader to examples in section 3 for details.

Application of FFT for fast computation  Making use of the Fast Fourier Transform (FFT) method, or more precisely, 2-dimensional FFT [22] to accelerate our computation is crucial in our method. There are two places where we should apply FFT. The first is where we compute G1uG^{-1}u; the second is where we compute LaphxPu\textrm{Lap}_{h_{x}}^{\textrm{P}}u. We refer the readers to chapter 4.8 of [22] and the references therein for details on implementing FFT. We also refer the reader to the examples in section 3 for applying FFT to general RD equations.

Choose suitable stepsize  For the affine case discussed in Corollary 1.1, if GG is close to AAAA^{\top}, then λmax(AG1A)\lambda_{\max}(A^{\top}G^{-1}A) should be a close to 11, then τuτp43λmax2\tau_{u}\tau_{p}\leq\frac{4}{3\lambda^{2}_{\max}} indicates that we could choose stepsizes τu,τp\tau_{u},\tau_{p} rather large. In our practice, starting at τu=τp=0.8\tau_{u}=\tau_{p}=0.8 should be a reasonable choice. One can increase or decrease the stepsize based on the actual performance of the method.

Stopping criterion  During our computation, we will set up a threshold δ\delta for our method. After each iteration of the PDHG dynamic, we evaluate the l2l^{2} norm of the residual Res(Un)=UnUkht(λLaphxPUn+f(Un))\textrm{Res}(U_{n})=\frac{U_{n}-U^{k}}{h_{t}}-(\lambda\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n}+f(U_{n})), we terminate the PDHG iteration iff Res(Un)2δ\|\textrm{Res}(U_{n})\|_{2}\leq\delta.

Remark 1 (Neumann boundary condition and DCT).

It is worth providing some further discussions on our treatment of the Neumann boundary condition (BC), i.e., for a particular rectangular region Ω2\Omega\subset\mathbb{R}^{2}, un=0\frac{\partial u}{\partial\vec{n}}=0 on Ω\partial\Omega. We discretize both sides of Ω\Omega into Nx1N_{x}-1 subintervals. Thus the space stepsize hx=LNx1h_{x}=\frac{L}{N_{x}-1}. Such discretization will lead to Nx2N_{x}^{2} mesh grid points. For point (ihx,0)(ih_{x},0) on the vertical boundary of Ω\Omega, we apply the central difference scheme to the Neumann boundary condition at the midpoint (ihx,12hx)(ih_{x},-\frac{1}{2}h_{x}), which leads to Ui,1Ui,0hx=0\frac{U_{i,-1}-U_{i,0}}{h_{x}}=0, thus Ui,1=Ui,0U_{i,-1}=U_{i,0}. Similar treatments are applied to the other boundaries of Ω\Omega. Suppose we consider using the central difference scheme to discretize the Laplacian Δ\Delta, let us denote the discretized Laplacian w.r.t. Neumann boundary condition as LaphxN\textrm{Lap}_{h_{x}}^{\textrm{N}}, then LaphxN\textrm{Lap}_{h_{x}}^{\textrm{N}} takes the following form.

LaphxN=1hx2[L1IIL2IIL2IIL1]Nx×Nxblocks.\textrm{Lap}_{h_{x}}^{\textrm{N}}=\frac{1}{h_{x}^{2}}\left[\begin{array}[]{ccccc}L_{1}&I&&&\\ I&L_{2}&I&&\\ &\ddots&\ddots&\ddots&\\ &&I&L_{2}&I\\ &&&I&L_{1}\end{array}\right]_{N_{x}\times N_{x}\textrm{blocks}}. (24)

Here the block matrices L1,L2L_{1},L_{2} are

L1=[2113113112]Nx×Nx,L2=[3114114113]Nx×NxL_{1}=\left[\begin{array}[]{ccccc}-2&1&&&\\ 1&-3&1&&\\ &\ddots&\ddots&\ddots&\\ &&1&-3&1\\ &&&1&-2\end{array}\right]_{N_{x}\times N_{x}},\quad L_{2}=\left[\begin{array}[]{ccccc}-3&1&&&\\ 1&-4&1&&\\ &\ddots&\ddots&\ddots&\\ &&1&-4&1\\ &&&1&-3\end{array}\right]_{N_{x}\times N_{x}}

Similar to using FFT for the computation involving LaphxP\textrm{Lap}_{h_{x}}^{\textrm{P}}, we can use the Discrete Cosine Transform (DCT) [46] [22] to efficiently evaluate matrix-vector multiplication or solve linear equations involving the matrix LaphxN\textrm{Lap}_{h_{x}}^{\textrm{N}}. To be more specific, we use the DCT-2 transform introduced in [46] in the 2-dimensional scenario which enjoys the O(Nx2logNx)O(N_{x}^{2}\log N_{x}) computational complexity.

We summarize our method in the following algorithm. It is not hard to tell that the total complexity of each inner PDHG method is O({PDHG iter}Nx2logNx})O(\sharp\{\textrm{PDHG iter}\}\cdot N_{x}^{2}\log N_{x}\}).

Algorithm 1 PDHG method for updating implicit one-step FD scheme of RD equation
1:Input: Initial condition u0u_{0}, terminal time TT, number of time subintervals NtN_{t}; region size LL, number of space subintervals NxN_{x};
2:Initialize ht=T/Nth_{t}=T/N_{t}, hx=L/Nxh_{x}=L/N_{x}, {Uij0}={u0(ihx,jhx)}\{U^{0}_{ij}\}=\{u_{0}(ih_{x},jh_{x})\}.
3:for 0kNt10\leq k\leq N_{t}-1 do
4:    Set initial condition: U0=UkU_{0}=U^{k} (or U^k+1\widehat{U}^{k+1} obtained via explicit Euler or IMEX scheme).
5:    n=0n=0.
6:    while Res(Un)2δ\|\textrm{Res}(U_{n})\|_{2}\geq\delta do
7:         Evolve the G-prox PDHG dynamic (21) - (23) with help of 2D FFT(DCT):
8:         We use FFT for periodic BC and DCT for Neumann BC.
9:         Compute Vn=LaphxPUnV_{n}=\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n} via 2D FFT(DCT);
10:         Compute Wn=UnλhtVnhtf(Un)UkW_{n}=U_{n}-\lambda h_{t}V_{n}-h_{t}f(U_{n})-U^{k};
11:         Solve GYn=WnGY_{n}=W_{n} via 2D FFT(DCT);
12:         Update Pn+1=Pn+τpYnP_{n+1}=P_{n}+\tau_{p}Y_{n}; P~n+1=Pn+1+ω(Pn+1Pn)\widetilde{P}_{n+1}=P_{n+1}+\omega(P_{n+1}-P_{n});
13:         Compute Qn+1=LaphxPP~n+1Q_{n+1}=\textrm{Lap}_{h_{x}}^{\textrm{P}}\widetilde{P}_{n+1} via 2D FFT(DCT);
14:         Update Un+1=Unτu(P~n+1λhtQn+1htf(Un)P~n+1)U_{n+1}=U_{n}-\tau_{u}(\widetilde{P}_{n+1}-\lambda h_{t}{Q}_{n+1}-h_{t}f^{\prime}(U_{n})\odot\widetilde{P}_{n+1});
15:         n=n+1n=n+1;
16:    end while
17:    Set Uk+1=UnU^{k+1}=U_{n};
18:end for
19:Output: The numerical solution U0,U1,,UNtU^{0},U^{1},...,U^{N_{t}}.

In this section, we mainly focus on the one-step implicit finite difference (FD) scheme to illustrate how we apply the PDHG iterations to update the given FD scheme. But we should emphasize that our method is not restricted to such a scheme. One can extend the PDHG method to various types of numerical schemes by formulating the scheme at a certain time step kk as a nonlinear equation Fk(U)=0F^{k}(U)=0, and construct the functional Lk(U,P)=PFk(U)L^{k}(U,P)=P^{\top}F^{k}(U). Then one can apply the dynamic (18) - (20) to update the numerical solution from UkU^{k} to Uk+1U^{k+1}. In addition, our method is applicable to more general reaction-diffusion equations (systems). Further discussions and details are supplied in section 3.

2.2 Discussion on convergence criteria and adaptive hth_{t} method

Theorem 1 suggests that under the linear case, the convergence of PDHG method relies on condition number κ\kappa, which is directly related to hx,hth_{x},h_{t} of our discrete scheme. In practice, we fix hxh_{x} and τu,τp\tau_{u},\tau_{p} in the algorithm. At every time step nn we discover that when time stepsize hth_{t} gets larger than a certain threshold value hth_{t}^{*} which depends on hx,τu,τph_{x},\tau_{u},\tau_{p} and nn, PDHG method will hardly converge. The method works well when hth_{t} is slightly smaller than the threshold. The theoretical study on how hth_{t}^{*} guarantees the convergence of our method will be an important future research direction.

Adaptive time stepsize As discussed above, we cannot guarantee the convergence of the PDHG iteration (21) - (23) for any time stepsize hth_{t}. Since the aforementioned threshold hth_{t}^{*} may vary at different time stages, and how hth_{t}^{*} varies depends on the nature of the equation as well as the discretization scheme. Given the potential difficulty of choosing the suitable hth_{t} that guarantees both the numerical accuracy as well as the convergence of the PDHG iterations, we come up with the strategy of using adaptive stepsize hth_{t} throughout the computation. We choose a time stepsize ht0h_{t}^{0} that guarantees the numerical accuracy and will serve as the upper bound of all hth_{t} throughout our method, we also set up two integers N>N>0N^{*}>N_{*}>0 as the thresholding integers for enlarging or shrinking the time stepsize hth_{t}. We also pick a rescaling coefficient η(0,1)\eta\in(0,1). During each time step nn of the algorithm, we record the total number of PDHG iterations MPDHGM_{\mathrm{PDHG}}, and reset the stepsize hth_{t} for the next time step based on the following rules:

  • If MPDHG>NM_{\mathrm{PDHG}}>N^{*}, we shrink hth_{t} by rate η\eta, ht=ηhth_{t}=\eta h_{t};

  • If NMPDHGNN^{*}\geq M_{\mathrm{PDHG}}\geq N_{*}, we remain hth_{t} unchanged;

  • If MPDHG<NM_{\mathrm{PDHG}}<N_{*}, we enlarge hth_{t} by rate 1η\frac{1}{\eta}, ht=htηh_{t}=\frac{h_{t}}{\eta}, if htηht0\frac{h_{t}}{\eta}\leq h_{t}^{0}; we remain hth_{t} unchanged if htη>ht0\frac{h_{t}}{\eta}>h_{t}^{0}.

It is also reasonable to fix hx,hth_{x},h_{t} but to only shrink the PDHG stepsizes τu,τp\tau_{u},\tau_{p} when we encounter difficulties in converging. However, according to our experience, shrinking τu,τp\tau_{u},\tau_{p} usually requires much more PDHG iterations for convergence, which may cause the algorithm less efficient compared with the aforementioned adaptive hth_{t} strategy.

3 Numerical examples

In this section, we demonstrate some numerical results computed by the proposed method. Throughout our experiments, we always use the extrapolation coefficient ω=1\omega=1, and set the initial condition U0U_{0} as the numerical solution UkU^{k} computed from the last time step tkt_{k}. One can also try other values of ω\omega or a more sophisticated initial guess of U0U_{0}. Our experiences show that confining ω\omega around 11 will probably provide the best performance of the PDHG method. Choosing U0U_{0} as U^k+1\widehat{U}^{k+1} obtained by a specific explicit or IMEX scheme may slightly shorten the convergence time of the PDHG iteration. However, it is worth mentioning that when we are dealing with stiff equations, such treatment may introduce instability to the PDHG dynamic which may lead to the blow-up of the method.

Furthermore, as we have emphasized before, the mission of this paper is to verify the correctness and effectiveness of the proposed PDHG method in resolving the equation F(U)=0F(U)=0 at each time step. Thus, in this work, we will mainly focus on the straightforward one-step implicit scheme (11) in all numerical examples by omitting further discussions and experiments on more sophisticated numerical schemes.

We use fixed time stepsize hth_{t} in our numerical examples unless we emphasize that the adaptive hth_{t} method is applied in the experiments.

Our numerical examples are computed in MATLAB on a laptop with 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz CPU.

3.1 Allen-Cahn equations

The Allen-Cahn equation [1] is a typical reaction-diffusion equation taking the following form

u(x,t)t=aΔu(x,t)bW(u(x,t)),on Ω2,u(,0)=u0.\frac{\partial u(x,t)}{\partial t}=a\Delta u(x,t)-bW^{\prime}(u(x,t)),\leavevmode\nobreak\ \textrm{on }\Omega\subset\mathbb{R}^{2},\quad u(\cdot,0)=u_{0}. (25)

Here a,b>0a,b>0 are positive coefficients,

W(u)=(u21)24W(u)=\frac{(u^{2}-1)^{2}}{4} (26)

is a double-well potential function with its derivative W(u)=u3uW^{\prime}(u)=u^{3}-u. We will always assume periodic boundary conditions in our discussion.

The Allen-Cahn equation can be treated as the L2L^{2}-gradient flow of the following functional (u)\mathcal{E}(u).

(u)=Ω12a|u|2+bW(u)dx.\mathcal{E}(u)=\int_{\Omega}\frac{1}{2}a|\nabla u|^{2}+bW(u)\leavevmode\nobreak\ dx. (27)

3.1.1 Examples with shrinking level set curve

In the first example, we consider Ω=[L,L]2\Omega=[-L,L]^{2} with L=0.25L=0.25. We consider taking a=ϵa=\epsilon, b=1ϵb=\frac{1}{\epsilon} with ϵ=0.01\epsilon=0.01. Let use consider u0=2χB1u_{0}=2\chi_{B}-1. Here χE\chi_{E} denotes the indicator function of measurable set EE, i.e., χE(x)=1\chi_{E}(x)=1 if xEx\in E, and χE(x)=0\chi_{E}(x)=0 otherwise. We denote BB as the disk centered at OO with a radius equal to 0.20.2. Suppose we use periodic boundary conditions for (25). It is well-known that the zero-level-set curve of the solution u(x,t)u(x,t) to Allen-Cahn equation behaves similarly to the mean curvature flow as time tt increases [38, 33, 32]. In this case, we can treat the initial level set curve as the circle centered at the origin with radius r(0)=0.2r(0)=0.2. As tt increases, the circle radius will shrink at the rate of ϵ\epsilon times circle curvature, i.e., r˙(t)=ϵκ(t)=ϵr(t)\dot{r}(t)=-\epsilon\kappa(t)=-\frac{\epsilon}{r(t)}. Solving this equation leads to r(t)=r(0)22ϵtr(t)=\sqrt{r(0)^{2}-2\epsilon t}. Thus the level set circle will vanish at finite time t=r(0)22ϵ=2t=\frac{r(0)^{2}}{2\epsilon}=2.

As suggested in section 4.4 of [33], it is important to choose the spatial stepsize hxh_{x} small enough so that hxh_{x} no larger than O(ϵ)O(\epsilon) to capture the shrinkage of level set curve, otherwise, the numerical solution may get stuck at some intermediate stage. In this example, we solve the equation on time interval [0,3][0,3]. We choose Nt=3000N_{t}=3000, thus ht=1/1000h_{t}=1/1000; Nx=100N_{x}=100 with hx=L/Nx=1/200h_{x}=L/N_{x}=1/200. Recall hx<ϵh_{x}<\epsilon. We choose τu=τp=0.5\tau_{u}=\tau_{p}=0.5 as the stepsize for the PDHG iteration. Some computed results are shown in Figure 1. Plots of the radial position as well as the moving speed of the front (zero level set circle) of the numerical solution are presented in Figure 2.

We apply the PDHG method described in Algorithm 1 to this problem. Although equation (1) contains a nonlinear term with a significant coefficient 1ϵ\frac{1}{\epsilon}, our proposed PDHG method still solves the nonlinear F(U)=0F(U)=0 efficiently. To be more specific, we set the PDHG-threshold δ=107\delta=10^{-7}. Most PDHG iterations will terminate in less than 200200 steps for each discrete time step. The right plot of Figure 2 indicates the linear convergence of the proposed method.

Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.5t=0.5
Refer to caption
(c) t=1.0t=1.0
Refer to caption
(d) t=1.5t=1.5
Refer to caption
(e) t=2.0t=2.0
Refer to caption
(f) t=2.5t=2.5
Figure 1: Numerical solution of (1) at different times with initial condition u0=2χB1.u_{0}=2\chi_{B}-1.
Refer to caption
(a) Plot of the front position (calculated from linear interpolation of the numerical solution) in radial direction versus time
Refer to caption
(b) Plot of the front speed (calculated from finite difference) versus time
Refer to caption
(c) Plot of the front speed (calculated from finite difference) versus time
Figure 2: Plots of front position and speed (Left & Middle); Plots of log10Res(Un)\log_{10}\mathrm{Res}(U_{n}) versus PDHG iterations at time stage t=1.0t=1.0 (Right).

We also solve equation (1) on Ω=[0,0.5]2\Omega=[0,0.5]^{2} within the time interval [0,0.5][0,0.5]. We still set a=ϵ,b=1ϵa=\epsilon,b=\frac{1}{\epsilon} with ϵ=0.01\epsilon=0.01. We pick Nx=100N_{x}=100, Nt=500N_{t}=500, thus hx=1/200h_{x}=1/200, ht=1/1000h_{t}=1/1000. We consider the initial condition u0=2χE1u_{0}=2\chi_{E}-1 with the region E=(B1B2)(B2B1)E=(B_{1}\setminus B_{2})\cup(B_{2}\setminus B_{1}), where B1,B2B_{1},B_{2} are disks centered at (0.2,0.25)(0.2,0.25), (0.3,0.25)(0.3,0.25) with radius both equal to 0.10.1. We apply the PDHG method with τu=τp=0.5\tau_{u}=\tau_{p}=0.5 and obtain the numerical results in Figure 3. In this example, the PDHG method takes no more than 200200 iterations for each time step update.

Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.05t=0.05
Refer to caption
(c) t=0.1t=0.1
Refer to caption
(d) t=0.2t=0.2
Refer to caption
(e) t=0.3t=0.3
Refer to caption
(f) t=0.4t=0.4
Figure 3: Numerical solution at different times with initial condition u0=2χE1u_{0}=2\chi_{E}-1. Notice that in the last plot, we have almost converged to the equilibrium solution u=1u=-1.

3.2 Cahn-Hilliard equations

We now switch to another well-known reaction-diffusion equation known as the Cahn-Hilliard equation [4], which takes the following form.

u(x,t)t=aΔΔu(x,t)+bΔW(u(x,t)),on Ω2,u(,0)=u0.\frac{\partial u(x,t)}{\partial t}=-a\Delta\Delta u(x,t)+b\Delta W^{\prime}(u(x,t)),\leavevmode\nobreak\ \textrm{on }\Omega\subset\mathbb{R}^{2},\quad u(\cdot,0)=u_{0}. (28)

Here we assume a,b>0a,b>0, and W(u)W(u) defined the same as in the Allen-Cahn equation. In this section, we will restrict our discussion to periodic boundary conditions. Similar to the Allen-Cahn equation, the Cahn-Hilliard equation can be treated as the H1H^{-1}-gradient flow of the functional (u)\mathcal{E}(u) defined in (27). Due to this reason, compared with the Allen-Cahn equation, the Cahn-Hilliard equation involves one extra operator Δ-\Delta on the right-hand side of the equation. This difference leads to several slight modifications to our original algorithm.

The functional F(U)F(U) introduced in (12) is now

F(U)=(IλhtLaphxPLaphxP)UUkhtLaphxPf(U).F(U)=(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\textrm{Lap}_{h_{x}}^{\textrm{P}})U-U^{k}-h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}f(U). (29)

Thus L(U,P)=P((IλhtLaphxPLaphxP)UUk)htPLaphxPf(U).L(U,P)=P^{\top}((I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\textrm{Lap}_{h_{x}}^{\textrm{P}})U-U^{k})-h_{t}P^{\top}\textrm{Lap}_{h_{x}}^{\textrm{P}}f(U). It is then natural to choose precondition matrix GG as (IλhtLaphxPLaphxP)2(I-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\textrm{Lap}_{h_{x}}^{\textrm{P}})^{2}. The three-step PDHG update for Cahn-Hilliard equation can thus be formulated as

Pn+1\displaystyle P_{n+1} =Pn+τpG1(UnλhtLaphxPLaphxPUnhtLaphxPf(Un)Uk);\displaystyle=P_{n}+\tau_{p}G^{-1}(U_{n}-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n}-h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}f(U_{n})-U^{k}); (30)
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);\displaystyle=P_{n+1}+\omega(P_{n+1}-P_{n}); (31)
Un+1\displaystyle U_{n+1} =Unτu(P~n+1λhtLaphxPLaphxPP~n+1htf(Un)LaphxPP~n+1).\displaystyle=U_{n}-\tau_{u}(\widetilde{P}_{n+1}-\lambda h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\textrm{Lap}_{h_{x}}^{\textrm{P}}\widetilde{P}_{n+1}-h_{t}f^{\prime}(U_{n})\odot\textrm{Lap}_{h_{x}}^{\textrm{P}}\widetilde{P}_{n+1}). (32)

By carefully investigating the steps among (30) - (32), one can tell that both the linear equation involving GG and the matrix-vector multiplication involving LaphxP\textrm{Lap}_{h_{x}}^{\textrm{P}} can be computed via FFT, which indicates the effectiveness of the computational scheme when applied to Cahn-Hilliard equations.

We demonstrate several numerical examples below.

3.2.1 Example with seven circles

Inspired by the second example introduced in [13], we consider Cahn-Hilliard equation (28) on periodic domain Ω=[0,2π]2\Omega=[0,2\pi]^{2} with a=0.12a=0.1^{2} and b=1b=1. We set the initial condition u0u_{0} as

u0(x,y)=1+i=17φ((xxi)2+(yyi)2ri),u_{0}(x,y)=-1+\sum_{i=1}^{7}\varphi(\sqrt{(x-x_{i})^{2}+(y-y_{i})^{2}}-r_{i}),

where the mollifier function φ\varphi is defined as

φ(s)={2eϵ2s2s<0;0s0,with ϵ=0.1.\varphi(s)=\begin{cases}2e^{-\frac{\epsilon^{2}}{s^{2}}}\quad s<0;\\ 0\quad s\geq 0\end{cases},\quad\textrm{with }\epsilon=0.1.

One can think of u0(x,y)u_{0}(x,y) as an indicator function whose value equals +1+1 if (x,y)(x,y) falls into any of the seven circles; and equals 1-1 otherwise. Furthermore, we set the centers and radii of the seven circles as in Table 1.

ii 11 22 33 44 55 66 77
xix_{i} π/2\pi/2 π/4\pi/4 π/2\pi/2 π\pi 3π/23\pi/2 π\pi 3π/23\pi/2
yiy_{i} π/2\pi/2 3π/43\pi/4 5π/45\pi/4 π/4\pi/4 π/4\pi/4 π\pi 3π/23\pi/2
rir_{i} π/5\pi/5 2π/152\pi/15 π/15\pi/15 π/10\pi/10 π/10\pi/10 π/4\pi/4 π/4\pi/4
Table 1: data 7 circles

We will solve equation (28) on the time interval [0,30][0,30]. In our numerical implementation, we set Nx=128N_{x}=128, hx=π/64h_{x}=\pi/64; Nt=6000N_{t}=6000, ht=1/200h_{t}=1/200. For the PDHG iteration, we set τu=τp=0.5\tau_{u}=\tau_{p}=0.5. The numerical solution to this equation is demonstrated in Figure 4. The plots of log\log residuals at different time stages are also presented in Figure 4, which exhibit the linear convergence of the PDHG algorithm. The small circles will gradually fade out, leaving the largest circle in the center of the domain till the end. By analyzing our numerical solution, the time T1T_{1} at which the value of our numerical solution is evaluated at (π/2,π/2)(\pi/2,\pi/2) passes 0 is located in the interval [6.340,6.345][6.340,6.345]; while the time T2T_{2} at which our numerical value evaluated at (3π/2,3π/2)(3\pi/2,3\pi/2) passes 0 is located in the interval [26.015,26.020][26.015,26.020]. Both times meet the accuracy proposed in [13].

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=1.0t=1.0
Refer to caption
(c) t=5.0t=5.0
Refer to caption
(d) t=15.0t=15.0
Refer to caption
(e) t=25.0t=25.0
Refer to caption
(f) t=30.0t=30.0
Figure 4: Numerical solution and log10Res(Un)\log_{10}\mathrm{Res}(U_{n}) plot at different time stages for the seven circle example. The residual plots indicate the linear convergence of PDHG method for the nonlinear objective functions used in this example.

3.2.2 Example with sinusoidal initial condition

In this section, we follow example 4 proposed in [13] to compute (28) on Ω=[0,2π]2\Omega=[0,2\pi]^{2}. We set a=π225000a=\frac{\pi^{2}}{25000}, b=1b=1. The initial condition is set as

u0(x,y)=0.05(cos(3x)cos(4y)+(cos(4x)cos(3y))2+cos(x5y)cos(2xy)).u_{0}(x,y)=0.05(\cos(3x)\cos(4y)+(\cos(4x)\cos(3y))^{2}+\cos(x-5y)\cos(2x-y)).

We solve the equation on the time interval [0,8][0,8]. We set Nx=256N_{x}=256, hx=π/128h_{x}=\pi/128; Nt=24000N_{t}=24000, ht=1/3000h_{t}=1/3000. For the PDHG part, we choose τu=τp=0.5\tau_{u}=\tau_{p}=0.5. The PDHG iteration is working efficiently at every time stepsize. Some numerical plots are shown in Figure 5.

Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.05t=0.05
Refer to caption
(c) t=0.30t=0.30
Refer to caption
(d) t=8.0t=8.0
Figure 5: Numerical solution at different time stages with sinusoidal initial condition.

3.2.3 Example with random initial condition

One can also consider the Cahn-Hilliard equation (28) with random initial condition. This may impose more challenges to our computation since the randomness will remove the regularity of u0u_{0} and make the numerical computation unstable. We will solve the equation (28) on [0,1][0,1] in this example. We let the periodic domain Ω=[0,1]2\Omega=[0,1]^{2}. Then we choose Nx=128N_{x}=128, hx=1/128h_{x}=1/128; Nt=100000N_{t}=100000 with ht=1/100000h_{t}=1/100000. We choose a rather small time step size in this example in order to guarantee the accuracy of our numerical solution. For the initial condition, we choose u0u_{0} as a random scalar field that takes i.i.d. values uniformly distributed on [0.05,0.05].[-0.05,0.05]. We evolve the PDHG dynamic with stepsize τu=τp=0.75\tau_{u}=\tau_{p}=0.75. We plot the numerical solutions at certain time stages in Figure 6. The reaction-diffusion system reaches the equilibrium state at t=1t=1. The residual plots of Res(U)\mathrm{Res}(U) at time t=0.01t=0.01 and t=1t=1 are provided in Figure 7.

Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.001t=0.001
Refer to caption
(c) t=0.003t=0.003
Refer to caption
(d) t=0.01t=0.01
Refer to caption
(e) t=1.0t=1.0
Figure 6: Numerical solution at different time stages with random initial condition.
Refer to caption
(a) Plot of the residual Res(U)\mathrm{Res}(U) at t=0.01t=0.01
Refer to caption
(b) Plot of the residual Res(U)\mathrm{Res}(U) at t=1.0t=1.0
Figure 7: Plots of residual at t=0.01t=0.01 and t=1.0t=1.0.

3.3 Higher-order Reaction-Diffusion Equations

In addition to the Allen-Cahn and Cahn-Hilliard equations, we test the method on the following 6th-order Cahn-Hilliard-type equation.

u(x,t)t=Δ(ϵ2ΔW′′(u)+ϵ2)(ϵ2ΔuW(u)) On Ω,u(,0)=u0.\frac{\partial u(x,t)}{\partial t}=\Delta(\epsilon^{2}\Delta-W^{\prime\prime}(u)+\epsilon^{2})(\epsilon^{2}\Delta u-W^{\prime}(u))\textrm{ On }\Omega,\quad u(\cdot,0)=u_{0}. (33)

The above equation was first proposed in [21] which depicts the pore formation in functionalized polymers. This equation was later studied in the numerical examples of [12]. In this example, we set Ω=[0,2π]2\Omega=[0,2\pi]^{2}. We choose parameter ϵ=0.18\epsilon=0.18. The potential function W(u)W(u) is the same as defined in (26). Thus W(u)=u3u,W′′(u)=3u2W^{\prime}(u)=u^{3}-u,W^{\prime\prime}(u)=3u^{2}. Similar to Allen-Cahn or Cahn-Hilliard equations, equation (33) can also be treated as a flow that dissipates the energy (u)\mathcal{E}(u) with a=ϵ2,b=1a=\epsilon^{2},b=1.

In our numerical implementation of the PDHG method, the functional F(U)F(U) is now

F(U)=UhtLaphxP(ϵ2LaphxPdiag(W′′(U))+ϵ2I)(ϵ2LaphxPUW(U))Uk.F(U)=U-h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}-\mathrm{diag}(W^{\prime\prime}(U))+\epsilon^{2}I)(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}U-W^{\prime}(U))-U^{k}.

Similar to Allen-Cahn and Cahn-Hilliard equations, we pick the preconditioner GG as the square of the matrix in the dominating linear part of F(U)F(U). However, if we directly keep the diagonal matrix diag(W′′(U))\mathrm{diag}(W^{\prime\prime}(U)), we will not be able to invert GG efficiently by using FFT. Since the value of W′′(u)W^{\prime\prime}(u) close to the equilibrium states ±1\pm 1 is approximately 22, we follow a similar idea in [12] to replace such matrix with 2I2I. Thus, in this problem, we set G=(Ihtϵ2LaphxP(ϵ2LaphxP(2ϵ2)I)LaphxP)2G=(I-h_{t}\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}-(2-\epsilon^{2})I)\textrm{Lap}_{h_{x}}^{\textrm{P}})^{2} which can be inverted via FFT algorithm. Now the 3-line PDHG update is formulated as

Pn+1\displaystyle P_{n+1} =Pn+τpG1(UnhtLaphxPLap~hx(ϵ,Un))(ϵ2LaphxPUnW(Un))Uk);\displaystyle=P_{n}+\tau_{p}G^{-1}(U_{n}-h_{t}\textrm{Lap}_{h_{x}}^{\textrm{P}}\widetilde{\mathrm{Lap}}_{h_{x}}(\epsilon,U_{n}))(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n}-W^{\prime}(U_{n}))-U^{k});
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);\displaystyle=P_{n+1}+\omega(P_{n+1}-P_{n});
Un+1\displaystyle U_{n+1} =Unτu(P~n+1ht(ϵ2LaphxPdiag(W′′(U)))Lap~hx(ϵ,Un)LaphxPP~n+1\displaystyle=U_{n}-\tau_{u}(\widetilde{P}_{n+1}-h_{t}(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}-\mathrm{diag}(W^{\prime\prime}(U)))\widetilde{\mathrm{Lap}}_{h_{x}}(\epsilon,U_{n})\textrm{Lap}_{h_{x}}^{\textrm{P}}\tilde{P}_{n+1}
+ht(ϵ2LaphxPUnW(Un))W′′′(Un)LaphxPP~n+1)).\displaystyle\qquad\qquad\qquad\quad+h_{t}(\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}U_{n}-W^{\prime}(U_{n}))\odot W^{\prime\prime\prime}(U_{n})\odot\textrm{Lap}_{h_{x}}^{\textrm{P}}\tilde{P}_{n+1})).

Here we denote Lap~hx(ϵ,U)=ϵ2LaphxPdiag(W′′(U))+ϵ2I\widetilde{\mathrm{Lap}}_{h_{x}}(\epsilon,U)=\epsilon^{2}\textrm{Lap}_{h_{x}}^{\textrm{P}}-\mathrm{diag}(W^{\prime\prime}(U))+\epsilon^{2}I. If the size of UU is Nx2N_{x}^{2}, one can verify that all calculations among the PDHG iteration can be computed with complexity O(Nx2log(Nx))O(N_{x}^{2}\log(N_{x})) via the FFT method.

Similar to [12], we choose initial condition

u0(x,y)=2esinx+siny2+2.2esinxsiny21.u_{0}(x,y)=2e^{\sin x+\sin y-2}+2.2e^{-\sin x-\sin y-2}-1. (34)

In the numerical implementation, we solve the equation (33) from t=0t=0 to t=20t=20. We choose Nx=128N_{x}=128, hx=π/64h_{x}=\pi/64; Nt=20000N_{t}=20000, ht=1/1000h_{t}=1/1000. We choose the PDHG stepsizes τu=τp=0.58\tau_{u}=\tau_{p}=0.58. We choose the threshold for terminating the iteration as δ=0.5×105\delta=0.5\times 10^{-5}. We present some of the results in Figure 8 and Figure 9.

Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.1t=0.1
Refer to caption
(c) t=2.0t=2.0
Refer to caption
(d) t=20.0t=20.0
Figure 8: Numerical solution at different time stages with initial condition (34).
Refer to caption
(a) Residual decay at t=0.1t=0.1
Refer to caption
(b) Residual decay at t=2.0t=2.0
Refer to caption
(c) Residual decay at t=20.0t=20.0
Refer to caption
(d) Residual plot at t=0.1t=0.1
Refer to caption
(e) Residual plot at t=2.0t=2.0
Refer to caption
(f) Residual plot at t=20.0t=20.0
Figure 9: log\log-residual decay & plots of residual functional Res(Un)\mathrm{Res}(U^{n}) at different time stages t=0.1,2.0,20.0t=0.1,2.0,20.0.

3.4 Reaction-diffusion systems

We have already shown some reaction-diffusion equation examples in the previous sections. We now apply the method to compute reaction-diffusion systems.

3.4.1 Schnakenberg Model

The Schnakenberg model is first considered in [39] to model the limit-cycle behavior in a two-component chemical reaction system. In the discussion, we consider the following reaction-diffusion PDE system defined on unit square Ω=[0,1]2\Omega=[0,1]^{2} where uu, vv represent the density concentration of two chemicals. Such a PDE system is also investigated in references [24, 49].

u(x,y,t)t\displaystyle\frac{\partial u(x,y,t)}{\partial t} =D1Δu(x,y,t)+κ(au+u2v),\displaystyle=D_{1}\Delta u(x,y,t)+\kappa(a-u+u^{2}v), (35)
v(x,y,t)t\displaystyle\frac{\partial v(x,y,t)}{\partial t} =D2Δv(x,y,t)+κ(bu2v).\displaystyle=D_{2}\Delta v(x,y,t)+\kappa(b-u^{2}v). (36)

The initial condition of the system is

u(x,y,0)=a+b+103e100((x13)2+(y12)2),v(x,y,0)=b(a+b)2.u(x,y,0)=a+b+10^{-3}*e^{-100((x-\frac{1}{3})^{2}+(y-\frac{1}{2})^{2})},\quad v(x,y,0)=\frac{b}{(a+b)^{2}}. (37)

Here we set κ=100,a=0.1305,b=0.7695,D1=0.05,D2=1\kappa=100,a=0.1305,b=0.7695,D_{1}=0.05,D_{2}=1. One can understand the initial data as exerting a tiny perturbation to the equilibrium solution (a+b,b(a+b)2)(a+b,\frac{b}{(a+b)^{2}}) of the Schnakenberg system (35), (36). Such equilibrium state is unstable, the small perturbation will lead to the formation of certain dotted patterns in both components uu and vv.

We assume the Neumann boundary condition u𝒏=0\frac{\partial u}{\partial\boldsymbol{n}}=0 on Ω\partial\Omega where 𝒏\frac{\partial}{\partial\boldsymbol{n}} denotes the directional derivative w.r.t. the outer pointing normal direction 𝒏\boldsymbol{n}.

Suppose we apply the one-step implicit scheme to solve this problem, recall the discrete Laplacian with Neumann BC introduced in (24), at the kk-th time step, we consider

Fu(U,V)=UUkht(D1LaphxNU+κ(a𝟏U+U2V));\displaystyle F_{u}(U,V)=U-U^{k}-h_{t}(D_{1}\textrm{Lap}_{h_{x}}^{\textrm{N}}U+\kappa(a\boldsymbol{1}-U+U^{2}\odot V));
Fv(U,V)=VVkht(D2LaphxNV+κ(b𝟏U2V)).\displaystyle F_{v}(U,V)=V-V^{k}-h_{t}(D_{2}\textrm{Lap}_{h_{x}}^{\textrm{N}}V+\kappa(b\boldsymbol{1}-U^{2}\odot V)).

At each time step, our purpose is to solve Fu(U,V)=0,Fv(U,V)=0F_{u}(U,V)=0,F_{v}(U,V)=0 for updating Uk,VkU^{k},V^{k}. By treating U~=(U,V)2Nx2\widetilde{U}=(U,V)\in\mathbb{R}^{2N_{x}^{2}} as an entity; and by denoting F~:2Nx22Nx2,U~(Fu(U,V),Fv(U,V))\widetilde{F}:\mathbb{R}^{2N_{x}^{2}}\rightarrow\mathbb{R}^{2N_{x}^{2}},\widetilde{U}\mapsto(F_{u}(U,V)^{\top},F_{v}(U,V)^{\top})^{\top}, the problem of solving F~(U~)=0\widetilde{F}(\widetilde{U})=0 reduces to the scenario of solving single F(U)=0F(U)=0 discussed before. Hence, it is natural to introduce the dual variable P~=(P,Q)2Nx2\widetilde{P}=(P,Q)\in\mathbb{R}^{2N_{x}^{2}}; The stiff Laplacian terms can be treated as dominating linear terms of both functions F,G{F},{G}, thus we set our preconditioner matrix G~=(GuGv)\widetilde{G}=\left(\begin{array}[]{cc}G_{u}&\\ &G_{v}\end{array}\right) with Gu=(IhtD1LaphxN)2G_{u}=(I-h_{t}D_{1}\textrm{Lap}_{h_{x}}^{\textrm{N}})^{2} and Gv=(IhtD2LaphxN)2G_{v}=(I-h_{t}D_{2}\textrm{Lap}_{h_{x}}^{\textrm{N}})^{2}. The corresponding PDHG iteration for solving F~(U~)=0\widetilde{F}(\widetilde{U})=0 is formulated as follows.

Pn+1\displaystyle P_{n+1} =Pn+τpGu1(UnUkht(D1LaphxNUn+κ(a𝟏Un+Un2Vn)));\displaystyle=P_{n}+\tau_{p}G_{u}^{-1}(U_{n}-U^{k}-h_{t}(D_{1}\textrm{Lap}_{h_{x}}^{\textrm{N}}U_{n}+\kappa(a\boldsymbol{1}-U_{n}+U_{n}^{2}\odot V_{n})));
Qn+1\displaystyle Q_{n+1} =Qn+τpGv1(VnVkht(D2LaphxNVn+κ(b𝟏Un2Vn)));\displaystyle=Q_{n}+\tau_{p}G_{v}^{-1}(V_{n}-V^{k}-h_{t}(D_{2}\textrm{Lap}_{h_{x}}^{\textrm{N}}V_{n}+\kappa(b\boldsymbol{1}-U_{n}^{2}\odot V_{n})));
P~n+1\displaystyle\widetilde{P}_{n+1} =Pn+1+ω(Pn+1Pn);Q~n+1=Qn+1+ω(Qn+1Qn);\displaystyle=P_{n+1}+\omega(P_{n+1}-P_{n});\quad\widetilde{Q}_{n+1}=Q_{n+1}+\omega(Q_{n+1}-Q_{n});
Un+1\displaystyle U_{n+1} =Unτu(P~n+1ht(D1LaphxNP~n+1+κ(P~n+1+2UnVn(P~n+1Q~n+1))).\displaystyle=U_{n}-\tau_{u}(\widetilde{P}_{n+1}-h_{t}(D_{1}\textrm{Lap}_{h_{x}}^{\textrm{N}}\widetilde{P}_{n+1}+\kappa(-\widetilde{P}_{n+1}+2U_{n}\odot V_{n}\odot(\widetilde{P}_{n+1}-\widetilde{Q}_{n+1}))).
Vn+1\displaystyle V_{n+1} =Vnτu(Q~n+1ht(D2LaphxNQ~n+1+κ(Un2(P~n+1Q~n+1))).\displaystyle=V_{n}-\tau_{u}(\widetilde{Q}_{n+1}-h_{t}(D_{2}\textrm{Lap}_{h_{x}}^{\textrm{N}}\widetilde{Q}_{n+1}+\kappa(U_{n}^{2}\odot(\widetilde{P}_{n+1}-\widetilde{Q}_{n+1}))).

We recall that the Discrete Cosine Transform mentioned in Remark 1 can be used to compute matrix-vector multiplication involving LaphxN\textrm{Lap}_{h_{x}}^{\textrm{N}} as well as inverting the preconditioners Gu,GvG_{u},G_{v} within O(Nx2logNx)O(N_{x}^{2}\log N_{x}) complexity. Thus every step of the above PDHG iterations can be computed efficiently.

In our numerical implementation, we solve this PDE system, on time interval [0,2][0,2]. We choose Nx=128N_{x}=128, hx=1/128h_{x}=1/128; and Nt=10000N_{t}=10000, ht=1/5000h_{t}=1/5000. We then choose τu=τp=0.9\tau_{u}=\tau_{p}=0.9. We terminate the PDHG iteration when Res(Un)2+Res(Vn)2<δ\|\mathrm{Res}(U_{n})\|_{2}+\|\mathrm{Res}(V_{n})\|_{2}<\delta, where we pick threshold δ=107\delta=10^{-7}. Our numerical solutions are presented in the following Figure 10.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.2t=0.2
Refer to caption
(c) t=0.4t=0.4
Refer to caption
(d) t=0.5t=0.5
Refer to caption
(e) t=1.0t=1.0
Refer to caption
(f) t=2.0t=2.0
Figure 10: Numerical solution of uu (upper row), and vv (lower row) at different time stages with initial condition (37).

In this example, the performance of the PDHG method is stable and the method terminates in around 3030 iterations for all 1000010000 time steps. We plot the loss as well as the residual term Res(U)\mathrm{Res}(U) at different time stages in Figure 11.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) t=0.2t=0.2
Refer to caption
(b) t=0.5t=0.5
Refer to caption
(c) t=1.0t=1.0
Refer to caption
(d) t=2.0t=2.0
Figure 11: log\log-residual decay of UU & plots of residual Res(U)\mathrm{Res}(U) at different time stages t=0.2,0.5,1.0,2.0t=0.2,0.5,1.0,2.0.

We compare the computational speed of our PHDG method with the commonly used Newton-SOR method [43, 32]. We fix all the parameters the same for both methods, typically, we set the termination threshold for both methods to be δ=107\delta=10^{-7}. We solve the PDE system on [0,1][0,1] with Nt=5000N_{t}=5000 and Nx=128N_{x}=128. The time cost for the Newton-SOR method is 8122.81s, while the time cost for the PDHG method is 1121.81s.

3.4.2 Wolf-deer model

At last, let us consider an equation system describing the evolution of predator (wolves) and prey (deer) distributions in an ecology system [34, 20]. The PDE system is defined on the region Ω=[L,L]2\Omega=[-L,L]^{2} and takes the following form,

ρ1t\displaystyle\frac{\partial\rho_{1}}{\partial t} =DΔρ1+(ρ1𝒱1(ρ1,ρ2))+Aρ1(1ρ1)Bρ1ρ21+ρ1;\displaystyle=D\Delta\rho_{1}+\nabla\cdot(\rho_{1}\nabla\mathcal{V}_{1}(\rho_{1},\rho_{2}))+A\rho_{1}(1-\rho_{1})-B\frac{\rho_{1}\rho_{2}}{1+\rho_{1}}; (38)
ρ2t\displaystyle\frac{\partial\rho_{2}}{\partial t} =DΔρ2+(ρ2𝒱2(ρ1,ρ2))+Bρ1ρ21+ρ1Cρ2.\displaystyle=D\Delta\rho_{2}+\nabla\cdot(\rho_{2}\nabla\mathcal{V}_{2}(\rho_{1},\rho_{2}))+B\frac{\rho_{1}\rho_{2}}{1+\rho_{1}}-C\rho_{2}. (39)

Here we set D=12D=\frac{1}{2}, A=5A=5, B=35B=35, C=52C=\frac{5}{2}. We also define the interacting potentials 𝒱1,𝒱2\mathcal{V}_{1},\mathcal{V}_{2} as

𝒱1(ρa,ρb)()=Vρ1Vρ2;𝒱2(ρa,ρb)()=Vρ1+Vρ2.\mathcal{V}_{1}(\rho_{a},\rho_{b})(\cdot)=V*\rho_{1}-V*\rho_{2};\quad\mathcal{V}_{2}(\rho_{a},\rho_{b})(\cdot)=V*\rho_{1}+V*\rho_{2}.

Here the convolution is defined as Vρ(x,y)=Ω×ΩV((x,y)(x,y))ρ(x,y)𝑑x𝑑yV*\rho(x,y)=\iint_{\Omega\times\Omega}V((x,y)-(x^{\prime},y^{\prime}))\rho(x^{\prime},y^{\prime})\leavevmode\nobreak\ dx^{\prime}dy^{\prime} with potential V(x,y)=x2+y22.V(x,y)=\frac{x^{2}+y^{2}}{2}.

We choose Neumann boundary condition for both ρ1\rho_{1} and ρ2\rho_{2}, and set the initial condition

ρi(x,0)=1π(π2+arctan(R2|Xμi|2ϵ)),i=1,2,\rho_{i}(x,0)=\frac{1}{\pi}\left(\frac{\pi}{2}+\mathrm{arctan}\left(\frac{R^{2}-|X-\vec{\mu}_{i}|^{2}}{\epsilon}\right)\right),\leavevmode\nobreak\ i=1,2, (40)

where μ1=(32,32),μ2=(32,32),\vec{\mu}_{1}=(\frac{3}{2},\frac{3}{2}),\leavevmode\nobreak\ \vec{\mu}_{2}=(-\frac{3}{2},-\frac{3}{2}), R=1R=1 and ϵ=0.1\epsilon=0.1.

In system (38), (39), ρ1\rho_{1} represents the distribution of deer, and ρ2\rho_{2} stands for the distribution of wolf. In addition to the diffusion and reaction terms affecting ρa,ρ2\rho_{a},\rho_{2}, the PDE system (38), (39) contain non-local drift terms 𝒱1(ρa,ρ2),𝒱2(ρ1,ρ2)\nabla\mathcal{V}_{1}(\rho_{a},\rho_{2}),\nabla\mathcal{V}_{2}(\rho_{1},\rho_{2}) that depict the interactions among the individuals of wolves and deer: The deer are attracting each other to dodge wolves’ predation, while the wolves are gathering together to chase the flock of deer.

Suppose we discretize each side of Ω\Omega into Nx1N_{x}-1 equal subintervals, we denote the numerical solutions at the nn-th time step as ρ1n,ρ2nNx2\rho_{1}^{n},\rho_{2}^{n}\in\mathbb{R}^{N_{x}^{2}}. We consider the following implicit, central-difference scheme,

ρ1n+1ρ1nhtDLaphxNρ1n+1\displaystyle\frac{\rho_{1}^{n+1}-\rho_{1}^{n}}{h_{t}}-D\textrm{Lap}_{h_{x}}^{\textrm{N}}\rho_{1}^{n+1} Dx(ρ1n+1¯xDx(Kρ1n+1Kρ2n+1))\displaystyle-D_{x}^{\top}(\overline{\rho_{1}^{n+1}}^{x}\odot D_{x}(K\rho_{1}^{n+1}-K\rho_{2}^{n+1}))
Dy(ρ1n+1¯yDy(Kρ1n+1Kρ2n+1))+R1(ρ1n+1,ρ2n+1)=0;\displaystyle-D_{y}^{\top}(\overline{\rho_{1}^{n+1}}^{y}\odot D_{y}(K\rho_{1}^{n+1}-K\rho_{2}^{n+1}))+R_{1}(\rho_{1}^{n+1},\rho_{2}^{n+1})=0;
ρ2n+1ρ2nhtDLaphxNρ2n+1\displaystyle\frac{\rho_{2}^{n+1}-\rho_{2}^{n}}{h_{t}}-D\textrm{Lap}_{h_{x}}^{\textrm{N}}\rho_{2}^{n+1} Dx(ρ2n+1¯xDx(Kρ1n+1+Kρ2n+1))\displaystyle-D_{x}^{\top}(\overline{\rho_{2}^{n+1}}^{x}\odot D_{x}(K\rho_{1}^{n+1}+K\rho_{2}^{n+1}))
Dy(ρ2n+1¯yDy(Kρ1n+1+Kρ2n+1))+R2(ρ1n+1,ρ2n+1)=0.\displaystyle-D_{y}^{\top}(\overline{\rho_{2}^{n+1}}^{y}\odot D_{y}(K\rho_{1}^{n+1}+K\rho_{2}^{n+1}))+R_{2}(\rho_{1}^{n+1},\rho_{2}^{n+1})=0.

Here DxD_{x} is an (Nx+1)Nx×Nx2(N_{x}+1)N_{x}\times N_{x}^{2} matrix which can be treated as the discrete gradient with respect to xx, i.e., for any uNx2u\in\mathbb{R}^{N_{x}^{2}}, (Dxu)(i,j+12)(D_{x}u)_{(i,j+\frac{1}{2})} equals ui,j+1ui,jhx\frac{u_{i,j+1}-u_{i,j}}{h_{x}} for 1iNx1\leq i\leq N_{x}, 1jNx11\leq j\leq N_{x}-1; for j=0,Nx,j=0,N_{x}, we define (Dxu)(i,12)=ui,2ui,1hx(D_{x}u)_{(i,\frac{1}{2})}=\frac{u_{i,2}-u_{i,1}}{h_{x}} and (Dxu)(i,Nx+12)=ui,Nxui,Nx1hx.(D_{x}u)_{(i,N_{x}+\frac{1}{2})}=\frac{u_{i,N_{x}}-u_{i,N_{x}-1}}{h_{x}}. DyD_{y} can also be defined in a similar way.

The notation ρ1n+1¯x(Nx+1)Nx\overline{\rho_{1}^{n+1}}^{x}\in\mathbb{R}^{(N_{x}+1)N_{x}} denotes the average value of ρ1n+1\rho^{n+1}_{1} at midpoints, i.e., (ρ1n+1¯x)(i,j+12)=ρ1,(i,j)n+1+ρ1,(i,j+1)n+12(\overline{\rho_{1}^{n+1}}^{x})_{(i,j+\frac{1}{2})}=\frac{\rho_{1,(i,j)}^{n+1}+\rho_{1,(i,j+1)}^{n+1}}{2} for 1iNx, 1jNx11\leq i\leq N_{x},\leavevmode\nobreak\ 1\leq j\leq N_{x}-1; for j=0,Nxj=0,N_{x}, we define ρ1n+1¯(i,12)x=ρ1,i,1n+1\overline{\rho_{1}^{n+1}}^{x}_{(i,\frac{1}{2})}=\rho^{n+1}_{1,i,1} and ρ1n+1¯(i,Nx+12)x=ρi,Nxn+1.\overline{\rho_{1}^{n+1}}^{x}_{(i,N_{x}+\frac{1}{2})}=\rho^{n+1}_{i,N_{x}}. ρ1n+1¯y,ρ2n+1¯x,ρ2n+1¯y\overline{\rho_{1}^{n+1}}^{y},\overline{\rho_{2}^{n+1}}^{x},\overline{\rho_{2}^{n+1}}^{y} can be defined in the similar way.

KK is an Nx2×Nx2N_{x}^{2}\times N_{x}^{2} matrix used for approximating the convolution Vρ1,Vρ2V*\rho_{1},V*\rho_{2}, to precisely, for any uNx2u\in\mathbb{R}^{N_{x}^{2}} defined on the mesh grid of Ω\Omega, KuKu is defined as

(Ku)(i,j)=1k,lNxhx2V(vi,jvk,l)uk,l=1k,lNxhx42((ik)2+(jl)2)uk,l.(Ku)_{(i,j)}=\sum_{1\leq k,l\leq N_{x}}h_{x}^{2}V(v_{i,j}-v_{k,l})u_{k,l}=\sum_{1\leq k,l\leq N_{x}}\frac{h_{x}^{4}}{2}((i-k)^{2}+(j-l)^{2})u_{k,l}.

The above discrete convolution can be reduced to Toeplitz matrix-vector multiplication computation, which can be efficiently computed by FFT algorithm [45].

Furthermore, for ρ1,ρ2Nx2\rho_{1},\rho_{2}\in\mathbb{R}^{N_{x}^{2}} the reaction terms are defined as R1(ρ1,ρ2)=Aρ1(1ρ1)Bρ11+ρ1ρ2R_{1}(\rho_{1},\rho_{2})=A\rho_{1}\odot(1-\rho_{1})-B\frac{\rho_{1}}{1+\rho_{1}}\odot\rho_{2}; R2(ρ1,ρ2)=Bρ11+ρ1ρ2Cρ2R_{2}(\rho_{1},\rho_{2})=B\frac{\rho_{1}}{1+\rho_{1}}\odot\rho_{2}-C\rho_{2}.

Given the above discrete scheme of the PDE system, similar to the discussion made in the Schnakenberg model, our purpose is to solve two nonlinear equations Fρ1(ρ1,ρ2)=0,Fρ2(ρ1,ρ2)=0F_{\rho_{1}}(\rho_{1},\rho_{2})=0,\leavevmode\nobreak\ F_{\rho_{2}}(\rho_{1},\rho_{2})=0 at each time step nn. We apply two dual variables P,QP,Q, and compose the corresponding PDHG dynamic for solving the two equations. According to the previous discussion, one can verify that each PDHG step can be computed within O(Nx2logNx)O(N_{x}^{2}\log N_{x}) complexity. This guarantees the efficiency of the computation. To keep the discussion concise, we omit the exact formulas for the PDHG dynamic here.

In our implementation, we set L=3L=3. We solve the equation system (38), (39) on time interval [0,1][0,1]. We set Nx=128N_{x}=128, hx=3/64h_{x}=3/64. We practice the method of adaptive time stepsize hth_{t} in this example. We set both our initial time stepsize hth_{t} and maximum stepsize ht0h_{t}^{0} equal to 1/5001/500 with shrinkage/enlarge coefficient η\eta as 0.750.75. The thresholding iteration numbers of shrinking and enlarging hth_{t} are set to be N=100N^{*}=100, and N=20N_{*}=20. For the PDHG iteration, we set stepsize τu=τp=0.95\tau_{u}=\tau_{p}=0.95, and pick the threshold δ=5×106\delta=5\times 10^{-6}. We present the numerical results in Figure 12.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
(a) t=0.0t=0.0
Refer to caption
(b) t=0.2t=0.2
Refer to caption
(c) t=0.4t=0.4
Refer to caption
(d) t=0.585t=0.585
Refer to caption
(e) t=0.759t=0.759
Refer to caption
(f) t=0.866t=0.866
Figure 12: Numerical solution of ρ1\rho_{1} (upper row), and ρ2\rho_{2} (lower row) at different time stages with initial condition (40).

The linear convergence of the residual term Res(U)2\|\mathrm{Res}(U)\|_{2} is reflected from the residual decay plots in Figure 13.

Refer to caption
(a) t=0.2t=0.2
Refer to caption
(b) t=0.4t=0.4
Refer to caption
(c) t=0.585t=0.585
Refer to caption
(d) t=0.759t=0.759
Refer to caption
(e) t=0.997t=0.997
Figure 13: log10Res(Un)\log_{10}\mathrm{Res}(U_{n}) vs PDHG iteration number nn at different time stages.

The changes in PDHG iterations at each time stepsize as well as the changes in time step size hth_{t} are demonstrated via Figure 14. As reflected from the plots, in this example, we are gradually shrinking the time stepsize hth_{t} as the accumulated time increases to guarantee the computational efficiency of the PDHG method. Our method takes a total of 11061106 time to complete the computation. the algorithm experiences 77 stepsize shrinkage among our computation. The initial hth_{t} is set as 0.0020.002 while when we finish the computation, ht=0.00027.h_{t}=0.00027.

Refer to caption
(a) Number of PDHG iterations at each time step.
Refer to caption
(b) Time stepsize hth_{t} used at each time step, initial ht=0.002h_{t}=0.002, terminal ht0.00027h_{t}\approx 0.00027.
Figure 14: Changes in number of PDHG iterations & time stepsize hth_{t}.

4 Conclusion and Future Study

This research proposes an iterative method as a convenient but efficient gadget for solving the implicit (or semi-implicit) numerical schemes arising in time-evolution PDEs, especially the reaction-diffusion type equations. Our method recasts the nonlinear equation from the discrete numerical scheme at each time step as a min-max saddle point problem and applies the Primal-Dual Hybrid Gradient method. The algorithm can flexibly fit into various numerical schemes, such as semi-implicit and fully implicit schemes, etc. Furthermore, the method is easy to implement since it gets rid of the computation of large-scale linear systems involving Jacobian matrices, which are usually required by Newton’s methods. The performance of our method on accuracy and efficiency is satisfying and is comparable to the commonly used Newton-type methods. This has been verified by the numerical examples presented in this paper.

There are three main future research directions of our work. We summarize them below:

  • Conduct theoretical analysis on the convergence of the PDHG method for nonlinear RD equations. We are interested in the necessary condition on ht,hx,τu,τph_{t},h_{x},\tau_{u},\tau_{p} that can guarantee the convergence of our method for certain types of RD equations.

  • Generalize the method to nonlinear time-evolution equations, especially the advection-reaction-diffusion dynamics from GENERIC (General Equation for Non-Equilibrium Reversible-Irreversible Coupling) [16, 23, 35].

  • Apply the method to high-dimensional time-evolution PDEs by leveraging deep learning techniques and PDHG algorithms.

Acknowledgement: S. Liu and S. Osher’s work was partly supported by AFOSR MURI FP 9550-18-1-502 and ONR grants: N00014-20-1-2093 and N00014-20-1-2787. W. Li’s work was supported by AFOSR MURI FP 9550-18-1-502, AFOSR YIP award No. FA9550-23-1-0087, and NSF RTG: 2038080.

Appendix A Proof of Theorem 1

Proof.

It is not hard to verify that the dynamic (14), (15) and (17) can be formulated as

[Un+1Pn+1]=[I2τuτpAAτuAτpAI][UnPn]+[2τuτpAbτpb],n0\left[\begin{array}[]{c}U_{n+1}\\ P_{n+1}\end{array}\right]=\left[\begin{array}[]{cc}I-2\tau_{u}\tau_{p}A^{\top}A&-\tau_{u}A^{\top}\\ \tau_{p}A&I\end{array}\right]\left[\begin{array}[]{c}U_{n}\\ P_{n}\end{array}\right]+\left[\begin{array}[]{c}2\tau_{u}\tau_{p}A^{\top}b\\ -\tau_{p}b\end{array}\right],\quad n\geq 0 (41)

This equation admits a unique fixed point X=(U,P)=(A1b,0)X_{*}=(U_{*},P_{*})=(A^{-1}b,0). We denote Xn=[Un,Pn]X_{n}=[U_{n}^{\top},P_{n}^{\top}]^{\top} and the above recurrence equation as Xn+1=MXn+yX_{n+1}=MX_{n}+y (or equivalently, Xn+1X=M(XnX)X_{n+1}-X_{*}=M(X_{n}-X_{*})) for shorthand. Suppose AA has spectral decomposition A=QΛQA=Q\Lambda Q^{\top}, then MM is decomposed as

M=[QQ][I2τuτpΛ2τuΛτpΛI][QQ]M=\left[\begin{array}[]{cc}Q&\\ &Q\end{array}\right]\left[\begin{array}[]{cc}I-2\tau_{u}\tau_{p}\Lambda^{2}&-\tau_{u}\Lambda\\ \tau_{p}\Lambda&I\end{array}\right]\left[\begin{array}[]{cc}Q&\\ &Q\end{array}\right]^{\top}

We denote NAN_{A} as the size of AA. The middle matrix is composed of four NA×NAN_{A}\times N_{A} diagonal matrices, by rearranging the rows and columns of it, one can show that it is orthogonally equivalent to the block diagonal matrix Σ=diag(D1,D2,,DNA)\Sigma=\mathrm{diag}(D_{1},D_{2},...,D_{N_{A}}) where each Dk=[12τuτpλk2τuλkτpλk1].D_{k}=\left[\begin{array}[]{cc}1-2\tau_{u}\tau_{p}\lambda_{k}^{2}&-\tau_{u}\lambda_{k}\\ \tau_{p}\lambda_{k}&1\end{array}\right]. We now analyze the spectral radius ρ(M)\rho(M) of MM, which equals ρ(Σ)=max1kNA{ρ(Dk)}\rho(\Sigma)=\underset{1\leq k\leq N_{A}}{\max}\{\rho(D_{k})\}. We can calculate

ρ(Dk)=max{|τuτpλk21±(τuτp)2λk4τuτpλk2|}.\rho(D_{k})=\max\{|\tau_{u}\tau_{p}\lambda_{k}^{2}-1\pm\sqrt{(\tau_{u}\tau_{p})^{2}\lambda_{k}^{4}-\tau_{u}\tau_{p}\lambda_{k}^{2}}|\}.

We denote f(t)=max{|t1+t2t|,|t1t2t|},f(t)=\max\{|t-1+\sqrt{t^{2}-t}|,|t-1-\sqrt{t^{2}-t}|\}, with t>0t>0. One can directly compute f(t)={1t0<t1t1+t2tt>1.f(t)=\begin{cases}\sqrt{1-t}\quad 0<t\leq 1\\ t-1+\sqrt{t^{2}-t}\quad t>1\end{cases}. Thus we have ρ(M)=max1kNA{f(τuτpλk2)}.\rho(M)=\underset{1\leq k\leq N_{A}}{\max}\{f(\tau_{u}\tau_{p}\lambda_{k}^{2})\}. Then ff is decreasing on [0,1][0,1] and increasing on [1,)[1,\infty) with f(0)=f(43)=1f(0)=f(\frac{4}{3})=1. We know that the convergence of (41) is guaranteed if and only if ρ(M)<1\rho(M)<1. This is equivalent to τuτpλmax243\tau_{u}\tau_{p}\lambda_{\max}^{2}\leq\frac{4}{3}, which yields τuτp43λmax2\tau_{u}\tau_{p}\leq\frac{4}{3\lambda_{\max}^{2}}.

Furthermore, ρ(M)\rho(M) is the convergence rate of the dynamic, i.e.,

XnX2ρ(M)nX0X2\|X_{n}-X_{*}\|_{2}\leq\rho(M)^{n}\|X_{0}-X_{*}\|_{2}

To evaluate the optimal convergence rate, we compute the minimum value of ρ(M)\rho(M) w.r.t. stepsizes τu,τp\tau_{u},\tau_{p}. Suppose we require τuτp43λmax\tau_{u}\tau_{p}\leq\frac{4}{3\lambda_{\max}} to guarantee convergence, if we denote η=τuτpλmax2\eta=\tau_{u}\tau_{p}\lambda^{2}_{\max}, then ρ(M)=max1kNA{f(λk2λmax2η)}\rho(M)=\underset{1\leq k\leq N_{A}}{\max}\left\{f(\frac{\lambda_{k}^{2}}{\lambda_{\max}^{2}}\eta)\right\} for η(0,43).\eta\in(0,\frac{4}{3}). The minimum value of ρ(M)\rho(M) will be attained at a unique η=η[1,43)\eta=\eta_{*}\in[1,\frac{4}{3}) such that f(ηκ2)=f(η)f(\frac{\eta}{\kappa^{2}})=f(\eta). I.e., η\eta^{*} is the solution of

1ηκ2=η1+η2η,on [1,43).\sqrt{1-\frac{\eta}{\kappa^{2}}}=\eta-1+\sqrt{\eta^{2}-\eta},\quad\textrm{on }[1,\frac{4}{3}). (42)

Thus, the optimal convergence rate γ=1ηκ2\gamma_{*}=\sqrt{1-\frac{\eta_{*}}{\kappa^{2}}} and it is achieved when τu,τp\tau_{u},\tau_{p} satisfy τuτp=ηλmax2\tau_{u}\tau_{p}=\frac{\eta^{*}}{\lambda_{\mathrm{max}}^{2}}.

Remark 2.

The equation (42) can be reduced to a quadratic equation. And it admits a unique solution η\eta_{*} on [1,43)[1,\frac{4}{3}), η\eta_{*} takes the following form

η=2κ2(34κ2+3214κ2)+κ12κ(κ1)(3κ+1)34κ2+32+2κ14κ2.\eta_{*}=\frac{2\kappa^{2}}{\left(\frac{3}{4}\kappa^{2}+\frac{3}{2}-\frac{1}{4\kappa^{2}}\right)+\frac{\kappa-1}{2\kappa}\sqrt{(\kappa-1)(3\kappa+1)}\sqrt{\frac{3}{4}\kappa^{2}+\frac{3}{2}+2\kappa-\frac{1}{4\kappa^{2}}}}.

The optimal convergence rate γ=1ηκ2\gamma_{*}=\sqrt{1-\frac{\eta_{*}}{\kappa^{2}}} takes the explicit form

γ=(12(34κ2+3214κ2)+κ12κ(κ1)(3κ+1)34κ2+32+2κ14κ2)12.\gamma_{*}=\left(1-\frac{2}{\left(\frac{3}{4}\kappa^{2}+\frac{3}{2}-\frac{1}{4\kappa^{2}}\right)+\frac{\kappa-1}{2\kappa}\sqrt{(\kappa-1)(3\kappa+1)}\sqrt{\frac{3}{4}\kappa^{2}+\frac{3}{2}+2\kappa-\frac{1}{4\kappa^{2}}}}\right)^{\frac{1}{2}}.

Notice that γ(143κ2)12\gamma_{*}\approx(1-\frac{4}{3\kappa^{2}})^{\frac{1}{2}} when the conditional number κ\kappa is very large; and γ\gamma_{*} will approach 0 as condition number κ\kappa approaches 11. This motivates the preconditioning technique of our method.

References

  • [1] Samuel M Allen and John W Cahn. A microscopic theory for antiphase boundary motion and its application to antiphase domain coarsening. Acta metallurgica, 27(6):1085–1095, 1979.
  • [2] Kendall Atkinson. An introduction to numerical analysis. John wiley & sons, 1991.
  • [3] Gang Bao, Xiaojing Ye, Yaohua Zang, and Haomin Zhou. Numerical solution of inverse problems by weak adversarial networks. Inverse Problems, 36(11):115003, 2020.
  • [4] John W Cahn. On spinodal decomposition. Acta metallurgica, 9(9):795–801, 1961.
  • [5] José A. Carrillo, Katy Craig, Li Wang, and Chaozhen Wei. Primal Dual Methods for Wasserstein Gradient Flows. Foundations of Computational Mathematics, 22(2):389–443, 2022.
  • [6] Jose A. Carrillo, Li Wang, and Chaozhen Wei. Structure preserving primal dual methods for gradient flows with nonlinear mobility transport distances, 2023.
  • [7] Hector D Ceniceros and Carlos J García-Cervera. A new approach for the numerical solution of diffusion equations with variable and degenerate mobility. Journal of Computational Physics, 246:1–10, 2013.
  • [8] Antonin Chambolle and Thomas Pock. A first-order primal-dual algorithm for convex problems with applications to imaging. Journal of mathematical imaging and vision, 40:120–145, 2011.
  • [9] Long Chen and Jingrong Wei. Accelerated gradient and skew-symmetric splitting methods for a class of monotone operator equations. arXiv preprint arXiv:2303.09009, 2023.
  • [10] Long Chen and Jingrong Wei. Transformed primal-dual methods for nonlinear saddle point systems. Journal of Numerical Mathematics, 2023.
  • [11] Ching-Shan Chou, Yong-Tao Zhang, Rui Zhao, and Qing Nie. Numerical methods for stiff reaction-diffusion systems. Discrete and continuous dynamical systems, series B, 7(3):515, 2007.
  • [12] Andrew Christlieb, Jaylan Jones, Keith Promislow, Brian Wetton, and Mark Willoughby. High accuracy solutions to energy gradient flows from material science models. Journal of computational physics, 257:193–215, 2014.
  • [13] Jon M Church, Zhenlin Guo, Peter K Jimack, Anotida Madzvamuse, Keith Promislow, Brian Wetton, Steven M Wise, and Fengwei Yang. High accuracy benchmark problems for Allen-Cahn and Cahn-Hilliard dynamics. Communications in computational physics, 26(4), 2019.
  • [14] Christian Clason and Tuomo Valkonen. Primal-dual extragradient methods for nonlinear nonsmooth PDE-constrained optimization. SIAM Journal on Optimization, 27(3):1314–1339, 2017.
  • [15] Richard Courant, Kurt Friedrichs, and Hans Lewy. Über die partiellen differenzengleichungen der mathematischen physik. Mathematische annalen, 100(1):32–74, 1928.
  • [16] Manh Hong Duong and Michela Ottobre. Non-reversible processes: GENERIC, hypocoercivity and fluctuations. Nonlinearity, 36(3):1617, 2023.
  • [17] David J Eyre. An unconditionally stable one-step scheme for gradient systems. Unpublished article, 6, 1998.
  • [18] Fariba Fahroo and Kazufumi Ito. Optimum damping design for an abstract wave equation. Kybernetika, 32(6):557–574, 1996.
  • [19] Guosheng Fu, Stanley Osher, and Wuchen Li. High order spatial discretization for variational time implicit schemes: Wasserstein gradient flows and reaction-diffusion systems. arXiv preprint arXiv:2303.08950, 2023.
  • [20] Thomas Gallouët, Maxime Laborde, and Leonard Monsaingeon. An unbalanced optimal transport splitting scheme for general advection-reaction-diffusion problems. ESAIM: Control, Optimisation and Calculus of Variations, 25:8, 2019.
  • [21] Nir Gavish, Jaylan Jones, Zhengfu Xu, Andrew Christlieb, and Keith Promislow. Variational models of network formation and ion transport: Applications to perfluorosulfonate ionomer membranes. Polymers, 4(1):630–655, 2012.
  • [22] Gene H Golub and Charles F Van Loan. Matrix computations. JHU press, 2013.
  • [23] Miroslav Grmela and Hans Christian Öttinger. Dynamics and thermodynamics of complex fluids. i. development of a general formalism. Physical Review E, 56(6):6620, 1997.
  • [24] Willem H Hundsdorfer, Jan G Verwer, and WH Hundsdorfer. Numerical solution of time-dependent advection-diffusion-reaction equations, volume 33. Springer, 2003.
  • [25] Matt Jacobs, Flavien Léger, Wuchen Li, and Stanley Osher. Solving large-scale optimization problems with a convergence rate independent of grid size. SIAM Journal on Numerical Analysis, 57(3):1100–1123, 2019.
  • [26] Andrea M Jokisaari, PW Voorhees, Jonathan E Guyer, James Warren, and OG Heinonen. Benchmark problems for numerical implementations of phase field models. Computational Materials Science, 126:139–151, 2017.
  • [27] Yibao Li, Hyun Geun Lee, Darae Jeong, and Junseok Kim. An unconditionally stable hybrid numerical method for solving the Allen-Cahn equation. Computers & Mathematics with Applications, 60(6):1591–1606, 2010.
  • [28] Chun Liu, Cheng Wang, and Yiwei Wang. A structure-preserving, operator splitting scheme for reaction-diffusion equations with detailed balance. Journal of Computational Physics, 436:110253, 2021.
  • [29] Chun Liu, Cheng Wang, and Yiwei Wang. A second-order accurate, operator splitting scheme for reaction-diffusion systems in an energetic variational formulation. SIAM Journal on Scientific Computing, 44(4):A2276–A2301, 2022.
  • [30] Chun Liu, Cheng Wang, Yiwei Wang, and Steven M Wise. Convergence analysis of the variational operator splitting scheme for a reaction-diffusion system with detailed balance. SIAM Journal on Numerical Analysis, 60(2):781–803, 2022.
  • [31] Siting Liu, Stanley Osher, Wuchen Li, and Chi-Wang Shu. A primal-dual approach for solving conservation laws with implicit in time approximations. Journal of Computational Physics, 472, 2023.
  • [32] Barry Merriman, James K Bence, and Stanley J Osher. Motion of multiple junctions: A level set approach. Journal of computational physics, 112(2):334–363, 1994.
  • [33] Barry Merriman, James Kenyard Bence, and Stanley Osher. Diffusion generated motion by mean curvature. Department of Mathematics, University of California, Los Angeles, 1992.
  • [34] James D Murray. Mathematical biology II: Spatial models and biomedical applications, volume 3. Springer New York, 2001.
  • [35] Hans Christian Öttinger and Miroslav Grmela. Dynamics and thermodynamics of complex fluids. ii. illustrations of a general formalism. Physical Review E, 56(6):6633, 1997.
  • [36] Lorenzo Pareschi and Giovanni Russo. Implicit-explicit runge-kutta schemes for stiff systems. Recent trends in numerical analysis, 3:269, 2000.
  • [37] John E Pearson. Complex patterns in a simple system. Science, 261(5118):189–192, 1993.
  • [38] Jacob Rubinstein, Peter Sternberg, and Joseph B. Keller. Fast Reaction, Slow Diffusion, and Curve Shortening. SIAM Journal on Applied Mathematics, 49(1):116–133, 1989.
  • [39] J Schnakenberg. Simple chemical reaction systems with limit cycle behaviour. Journal of theoretical biology, 81(3):389–400, 1979.
  • [40] Jie Shen, Jie Xu, and Jiang Yang. The scalar auxiliary variable (SAV) approach for gradient flows. Journal of Computational Physics, 353:407–416, 2018.
  • [41] Jie Shen, Jie Xu, and Jiang Yang. A new class of efficient and robust energy stable schemes for gradient flows. SIAM Review, 61(3):474–506, 2019.
  • [42] Jie Shen and Xiaofeng Yang. Numerical approximations of Allen-Cahn and Cahn-Hilliard Equations. Discrete Contin. Dyn. Syst, 28(4):1669–1691, 2010.
  • [43] Andrew H Sherman. On newton-iterative methods for the solution of systems of nonlinear equations. SIAM Journal on Numerical Analysis, 15(4):755–771, 1978.
  • [44] Martin B. Short, P. Jeffrey Brantingham, Andrea L. Bertozzi, and George E. Tita. Dissipation and displacement of hotspots in reaction-diffusion models of crime. Proceedings of the National Academy of Sciences, 107(9):3961–3965, 2010.
  • [45] Gilbert Strang. A proposal for Toeplitz matrix calculations. Studies in Applied Mathematics, 74(2):171–176, 1986.
  • [46] Gilbert Strang. The Discrete Cosine Transform. SIAM Review, 41(1):135–147, 1999.
  • [47] Tuomo Valkonen. A primal-dual hybrid gradient method for nonlinear operators with applications to MRI. Inverse Problems, 30(5):055012, 2014.
  • [48] Yaohua Zang, Gang Bao, Xiaojing Ye, and Haomin Zhou. Weak adversarial networks for high-dimensional partial differential equations. Journal of Computational Physics, 411:109409, 2020.
  • [49] Jianfeng Zhu, Yong-Tao Zhang, Stuart A Newman, and Mark Alber. Application of discontinuous Galerkin methods for reaction-diffusion systems in developmental biology. Journal of Scientific Computing, 40:391–418, 2009.
  • [50] Mingqiang Zhu and Tony Chan. An efficient primal-dual hybrid gradient algorithm for total variation image restoration. UCLA CAM Report, 34:8–34, 2008.