# Discretization with non-constant matrix containg entries form unknown vector

Consider a system of PDEs $$\begin{cases} u_t = \nabla \cdot (D(u)\nabla u) + \frac{c}{K_U+c}u-ku\\ c_t = d_c\Delta c -\frac{\nu_U c}{K_U + c}u \end{cases}$$ with some boundary conditions. Here, $$D(u)$$ is a diffusion coefficient which depends on $$u$$; $$K_U$$, $$\nu_U$$ and $$k$$ are some constants. $$D(u)$$ can be defined as, for example,

$$D(u):=\delta \frac{u^\alpha}{(1-u)^\beta},$$ with $$\alpha,\beta,\delta$$ being some constants.

After this system of PDEs is discretized using the finite volume method one obtains the following system of ODEs

$$\begin{cases}\frac{d\vec{U}}{dt}=\underline{D(\vec{U})}\vec{U}+\underline{R_U(\vec{C})}\vec{U}\\ \frac{d\vec{C}}{dt}=\underline{L}\vec{C}-\underline{R_C(\vec{C})}\vec{U}+\vec{b} \end{cases}$$

where the underlined letters are matrices and $$\vec{b}$$ is a vector containing some terms from (unspecified here) the boundary conditions.

As we can see, the matrix $$\underline{D(\vec{U})}$$ depends on the vector for which a numerical method will solve this system of equations, that is the vector $$\vec{U}$$.

But then how can such a system be solved linearly if it will contain non-linear terms? I.e. what am I missing?

• A simple approach would be to use $$D(U)\approx D(U^{n-1})$$, where $$D^{n-1}$$ is the solution of the previous time step.
• A possibly smarter approach would be to use $$D(U)\approx D(U^{\ast})$$, where $$D^{\ast}$$ is extrapolated from the previous time steps.
• Thanks. But how are numerical linear algebra methods applied in a case like this one to solve a system, without thinking about time steps but only the spatial variables? Even if we equated the time derivatives in the ODE system to 0 we would still get some nonlinear terms because $D(U)$ is multiplied by $U$. – sequence May 19 '19 at 23:41
• @sequence: You're starting from the wrong point. You can't even apply numerical linear algebra methods if you had a linear problem where $D$ does not depend on $U$, if you didn't want to do time stepping. ODEs can only be solved numerically if you do use time stepping. Nonlinear problems just make the problem you solve in each time step a bit more complicated. – Wolfgang Bangerth May 20 '19 at 7:18