1 Introduction

A certain symmetric system of two coupled fractional flow equations for multiphase flow in porous media is investigated here systematically and in some detail. Despite the symmetric form of the fractional flow function, the system is representative for various theoretical models of multiphase flow in porous media and shows a rich variety of travelling wave solutions with and without overshoot.

Much attention has recently been focussed on so-called saturation overshoot (see Hilfer and Steinle 2014; Xiong 2014 for recent reviews), a term that refers to the phenomenon of non-monotonic saturation profiles developing during wetting phase infiltration into a porous medium (Youngs 1958; Briggs and Katz 1966; Glass et al. 1989; Shiozawa and Fujimaki 2004; DiCarlo 2004). A strong motivation for these studies were mathematical results excluding the existence of overshoot profiles for the traditional Richards equation from hydrology (Nieber 1996; Otto 1996, 1997; Geiger and Durnford 2000; Eliassi and Glass 2001, 2002; Egorov et al. 2003; DiCarlo 2005, 2013; Duijn et al. 2007; Cueto-Felgueroso and Juanes 2008, 2009). It has been conjectured that new theoretical approaches might be unavoidable (Eliassi and Glass 2002; Duijn et al. 2007, 2013; Cueto-Felgueroso and Juanes 2008, 2009; Hilfer et al. 2012; Nieber et al. 2005) to reconcile theory and experiment. On the other hand, a recent investigation (Hilfer and Steinle 2014) has uncovered the existence of saturation overshoot profiles within the traditional theory in the hyperbolic limit, while the Richards equation represents a special parabolic limit. Rather than entering into the details of this ongoing debate, the present article wants to discuss the sensitive parameter dependence of non-monotonic travelling wave profiles, which seem a common denominator of all these studies, from a more general mathematical perspective. Extrapolating the full set of equations to the limit of vanishing viscosity generally yields information on admissibility and structure of viscous shock profiles that is of independent mathematical interest (Dafermos 2010). Methodically, we study this limit by introducing a novel, exhaustive and computationally useful reduced representation of the solution space.

Given the discovery of static non-monotonic saturation profiles with zero velocity in a generalized two-phase flow theory (Hilfer et al. 2012), the original motivation of this work was to search for travelling wave solutions of the generalized theory introduced in Doster et al. (2010) and Hilfer (2006b, c). Let us recall that in Doster et al. (2010) and Hilfer (2006b, c) the flow of two immiscible fluid phases inside a porous medium is treated as a flow of four phases by subdividing each phase into a percolating and nonpercolating subphase. Of course, an analytical treatment of the resulting system of four strongly coupled highly nonlinear PDEs is not feasible. Rather, it is necessary to make several simplifications (Doster et al. 2010; Hilfer and Doster 2010) if one wants to discuss its implications. In order to arrive at the Eqs. (1) studied here, additional simplifications and assumptions beyond those in Doster et al. (2010) and Hilfer and Doster (2010) are needed (Hönig 2012). As a first approximation, the number of unknowns is reduced to two by setting the saturation of one of the four phases to zero. More importantly, the crucial mass exchange terms are neglected in this paper, and the highly nonlinear and coupled capillary diffusion term in Doster et al. (2010), Hilfer and Doster (2010) and Hilfer (2006a, b, c) is linearized, decoupled and approximated with a finite nonzero constant.

Details on the simplifying assumptions leading from the two-phase flow model in Hilfer (2006a, b, c) to the present model of Eqs. (1) below are given in Hönig (2012, Ch. 6). Excluding mass exchange renders the relation of our mathematical model with the generalized two-phase theory tenuous and remote. It is clear that the results of our mathematical model cannot be interpreted in terms of the generalized two-phase flow theory in Hilfer (2006a, b, c).

Instead of applying and interpreting our model and its results physically in terms of the generalized theory, we point out that the same set of model equations is obtained within the traditional theory of three-phase flow (Juanes and Patzek 2003). A fractional flow formulation for three-phase flow yields the mathematical model of this article as a special case with quadratic permeabilities for all three phases and unit viscosity ratio. The equations studied in this paper appear also in a model for steam injection (Bruining and Duijn 2006) when the mass condensation rate is zero and the parameter \(\mu \) is the inverse Peclet number. The appearance of the model Eqs. (1) below from different theories motivates and justifies their thorough study from a more mathematical point of view.

2 Objectives and Definition of the Model

The objective of this article is to construct, analyse and numerically simulate smooth travelling waves of the nonlinear system of two parabolic partial differential equations (PDEs)

$$\begin{aligned} \frac{\partial u}{\partial t}+\frac{\partial f_{u}(u,v)}{\partial x}&=\mu \frac{\partial ^2 u}{\partial x^2}, \end{aligned}$$
(1a)
$$\begin{aligned} \frac{\partial v}{\partial t}+\frac{\partial f_{v}(u,v)}{\partial x}&=\mu \frac{\partial ^2 v}{\partial x^2} \end{aligned}$$
(1b)

where the two unknowns \(u=u(x,t)\) and \(v=v(x,t)\) are functions \(u{:}\,\mathbb {R}\times \mathbb {R}^{+}\rightarrow [0,1]\) and \(v{:}\,\mathbb {R}\times \mathbb {R}^{+}\rightarrow [0,1]\) from \(\mathbb {R}\times \mathbb {R}^{+}\) to the unit interval. The argument \(x\in \mathbb {R}\) represents dimensionless position along a one-dimensional porous column, and the argument \(t\in \mathbb {R}^+\) represents dimensionless time. The parameter constant

$$\begin{aligned} \mu > 0 \end{aligned}$$
(2)

is fixed, given and strictly bounded away from zero. The parameter functions \(f_{u},f_{v}{:}\,[0,1]\times [0,1]\rightarrow [0,1]\), depicted in Fig. 1,

$$\begin{aligned} f_{u}(u,v)&=\frac{u^2}{u^2+\left( 1-u-v\right) ^{2}+v^2}, \end{aligned}$$
(3a)
$$\begin{aligned} f_{v}(u,v)&=\frac{v^2}{u^2+\left( 1-u-v\right) ^{2}+v^2} \end{aligned}$$
(3b)

are chosen to have the convex–concave shape that is relevant to a physical point of view, but still providing a model that has a manageable number of parameters. More general parameter function with less symmetry can be studied along the same lines laid out in this article. In the traditional theory of three-phase flow in porous media, these functions correspond to quadratic relative permeabilities and equal viscosities (Juanes and Patzek 2003). For their relation to the generalized two-phase flow theory, see Hönig (2012).

Fig. 1
figure 1

a \(f_{u}(u,v)\) on \(\mathbb {D}\). b \(f_{v}(u,v)\) on \(\mathbb {D}\). Colours represent the values in the range \(0\le f_{u},f_{v}\le 1\)

In both cases, the unknowns, called \(u\) and \(v\) in Eqs. (1), correspond to the saturations. In three-phase flow, \(u\) is the water saturation, \(v\) is the oil saturation, and \(w=1-u-v\) is the gas saturation (Juanes and Patzek 2003). In the generalized theory, \(u\) is the water saturation, \(v\) is the nonpercolating oil saturation, and \(w\) is the percolating oil saturation (Hilfer 2006b, c; Doster et al. 2010; Hönig 2012). Because saturations are non-negative and bounded by one, the unknowns \(u\) and \(v\) are restricted to the unit interval. The saturation of the third phase is \(w=1-u-v\) so that the unknowns are generally restricted to the triangleFootnote 1

$$\begin{aligned} \mathbb {D}=\left\{ (u,v)\in \mathbb {R}^{2}|~ 0\le u\le 1, 0\le v\le 1,0\le w\le 1\right\} , \end{aligned}$$
(4)

where \(w=1-u-v\).

We emphasize, however, that our main results are independent of the physical interpretation of Eqs. (1) in terms of traditional three-phase flow models or non-traditional two-phase flow models.

Equations  (1) need to be supplemented with function spaces and boundary resp. limit conditions at \(\infty \). We assume \(u,v,w\in C^\infty (\mathbb {R}\times \mathbb {R}^{+},[0,1])\) the space of infinitely often differentiable functions. The boundary resp. limit conditions at \(\infty \) and initial conditions are specified as

$$\begin{aligned}&(u(-\infty ,t),v(-\infty ,t))=(u_\mathrm{l},v_\mathrm{l}),\quad t>0, \end{aligned}$$
(5a)
$$\begin{aligned}&(u(\infty ,t),v(\infty ,t))=(u_\mathrm{r},v_\mathrm{r}), \quad t>0, \end{aligned}$$
(5b)
$$\begin{aligned}&(u(x,0),v(x,0))=(u^0(x),v^0(x))\in C^\infty (\mathbb {R},[0,1])\times C^\infty (\mathbb {R},[0,1]), \end{aligned}$$
(5c)

with boundary resp. limit data at \(\infty \) that are compatible with travelling wave solutions

$$\begin{aligned}&(u^0(-\infty ),v^0(-\infty ))=(u_\mathrm{l},v_\mathrm{l}), \end{aligned}$$
(5d)
$$\begin{aligned}&(u^0(\infty ),v^0(\infty ))=(u_\mathrm{r},v_\mathrm{r}), \end{aligned}$$
(5e)
$$\begin{aligned}&\left( \frac{\mathrm{d} u^0}{\mathrm{d}x}(-\infty ),\frac{\mathrm{d} v^0}{\mathrm{d}x}(-\infty )\right) =(0,0), \end{aligned}$$
(5f)
$$\begin{aligned}&\left( \frac{\mathrm{d} u^0}{\mathrm{d}x}(\infty ),\frac{\mathrm{d} v^0}{\mathrm{d}x}(\infty )\right) =(0,0) \end{aligned}$$
(5g)

where \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\in \mathbb {D}\) are constants. Because the one-dimensional domain is unbounded, there is no boundary. Nevertheless, the limiting behaviour at infinity acts as a boundary condition analogous to a finite boundary. Thus we speak of boundary resp. limit values and boundary resp. limit conditions.

This paper concerns only those solutions of Eqs. (1)–(5) with \(u(x,t)\in \mathbb {D}\) and \(v(x,t)\in \mathbb {D}\) for all \(x\in \mathbb {R},~t\ge 0\). It attempts to identify the totality of all boundary resp. limit conditions leading to travelling wave solutions with this restriction. Travelling wave solutions are profiles of the form \(u(x,t)=u((x-ct)/\mu )\) and \(v(x,t)=v((x-ct)/\mu )\) with a constant dimensionless wave speed \(c\) [see (6), (7) and (8) below]. For travelling waves, a dynamical system approach can be applied because the similarity transformation results in a system of ordinary differential equation that can be interpreted as a dynamical system. Travelling waves are identified as orbits connecting different pairs of stationary points (stable nodes, unstable nodes, saddle points) in the phase portrait of the dynamical system.

The way how this paper discusses travelling waves differs from the common point of view prevalent in the field of hyperbolic conservation laws. Theories of hyperbolic conservation laws treat the boundary condition on one side as a fixed parameter, the boundary condition on the other side as unknown, and the wave velocity \(c\) is derived from the Rankine–Hugoniot condition (Duijn et al. 2007, 2013; LeVeque 2004; Lax 2006; LeFloch 2002; Cuesta et al. 2000; Schaeffer and Shearer 1987). In contrast to this, the present paper treats both boundary resp. limit conditions \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\) on an equal footing as unknowns. The wave velocity \(c\) is regarded here as a fixed parameter.

The objective of this paper is to find, for all possible fixed wave velocities \(c\), all existing pairs of boundary resp. limit conditions in the physical domain of definition which lead to smooth travelling waves with this particular wave velocity. After that, all possible travelling wave profiles are looked for and classified with respect to monotonicity. Special attention is placed upon non-monotonic profiles. The Rankine–Hugoniot condition is stated here in an unconventional way through two auxiliary functions that are related to the integration constants. This enables us to introduce a practical and complete representation of the five-dimensional functionality between the wave velocity \(c\) and the boundary resp. limit conditions \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\). This method of analysis seems to be general, and it could be of great interest in other fields of application which discuss similar systems of partial differential equations.

3 Method of Solution

This section describes the method of solution. It begins with the travelling wave ansatz followed by a dynamical system approach. Finally, a reduced representation of the solution space is introduced.

3.1 Travelling Wave Ansatz

Our starting point is the system of time-dependent nonlinear partial differential equations of (1) with initial and boundary resp. limit conditions at \(\infty \) (5) that are compatible with travelling waves. The aim of this paper is to find travelling wave solutions with a constant wave speed

$$\begin{aligned} c> 0. \end{aligned}$$
(6)

This suggests the ansatz

$$\begin{aligned} u(x,t)=u(y), \end{aligned}$$
(7a)
$$\begin{aligned} v(x,t)=v(y), \end{aligned}$$
(7b)

where

$$\begin{aligned} y:= \frac{x-ct}{\mu } \end{aligned}$$
(8)

is a rescaled travelling wave variable. Note that convex regions for \(f_u\) overlap with concave regions for \(f_v\) and vice versa.

The initial and boundary resp. limit value problem of the PDE system (1) is reduced to a boundary resp. limit value problem of an ordinary differential equation system. The boundary resp. limit conditions are

$$\begin{aligned}&(u(-\infty ),v(-\infty ))=(u_\mathrm{l},v_\mathrm{l}), \end{aligned}$$
(9a)
$$\begin{aligned}&(u(\infty ),v(\infty ))=(u_\mathrm{r},v_\mathrm{r}), \end{aligned}$$
(9b)
$$\begin{aligned}&\left( \frac{\mathrm{d} u}{\mathrm{d}x}(-\infty ),\frac{\mathrm{d} v}{\mathrm{d}x}(-\infty )\right) =(0,0), \end{aligned}$$
(9c)
$$\begin{aligned}&\left( \frac{\mathrm{d} u}{\mathrm{d}x}(\infty ),\frac{\mathrm{d} v}{\mathrm{d}x}(\infty )\right) =(0,0) \end{aligned}$$
(9d)

where Eqs. (9c) and (9d) are not new conditions, but consequences implied by the travelling wave ansatz that are listed for completeness. We exclude the boundary resp. limit conditions \((u_\mathrm{l},v_\mathrm{l})=(u_\mathrm{r},v_\mathrm{r})\) because they would only lead to constant solution profiles in our case. By substituting relations (7), (8) into system (1), the system of ordinary differential equations

$$\begin{aligned} -c\frac{\mathrm{d}u}{\mathrm{d} y}+ \frac{\mathrm{d}}{\mathrm{d}y} \left[ f_{u}(u(y),v(y))- \frac{\mathrm{d} u}{\mathrm{d}y} \right]&=0, \end{aligned}$$
(10a)
$$\begin{aligned} -c\frac{\mathrm{d} v}{\mathrm{d} y}+ \frac{\mathrm{d}}{\mathrm{d} y} \left[ f_{v}(u(y),v(y))- \frac{\mathrm{d} v}{\mathrm{d} y} \right]&=0. \end{aligned}$$
(10b)

is extracted.

3.2 Dynamical System Approach

Equations (10) can be integrated from a fixed value \(y_{0}\) to a \(y\). This yields the dynamical system

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} y}u=f_{u}(u,v)-cu+K_u, \end{aligned}$$
(11a)
$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} y}v=f_{v}(u,v)-cv+K_v, \end{aligned}$$
(11b)

with constants of integration

$$\begin{aligned} K_u&=-f_{u}(u_{0},v_{0})+cu_{0}, \end{aligned}$$
(12a)
$$\begin{aligned} K_v&=-f_{v}(u_{0},v_{0})+cv_{0}, \end{aligned}$$
(12b)

where \(u_{0}=u(y_{0}),\,v_{0}=v(y_{0})\). The point \((u_{0},v_{0})\) is always a stationary point. If \(y_{0}=\infty \) or \(y_{0}=-\infty \), the stationary point is \((u_{0},v_{0})=(u_\mathrm{r},v_\mathrm{r})\) or \((u_{0},v_{0})=(u_\mathrm{l},v_\mathrm{l})\). We denote the flow (see Perko 2001) of the dynamical system (11) with \(\phi _{y}\). Now, we define the auxiliary functions

$$\begin{aligned} k_{u}{:}\,\mathbb {D}\times \mathbb {R}^{+}&\rightarrow \mathbb {R}\nonumber \\ (u,v;c)&\mapsto -f_{u}(u,v)+cu, \end{aligned}$$
(13a)
$$\begin{aligned} k_{v}{:}\,\mathbb {D}\times \mathbb {R}^{+}&\rightarrow \mathbb {R}\nonumber \\ (u,v;c)&\mapsto -f_{v}(u,v)+cv, \end{aligned}$$
(13b)

so that \(K_u= k_{u}(u_{0}, v_{0};c)\) and \(K_v= k_{v}(u_{0}, v_{0};c)\). We also define a function

$$\begin{aligned} \mathfrak {k}{:}\,\mathbb {D}\times \mathbb {R}^{+}&\rightarrow \mathbb {R}\times \mathbb {R}\nonumber \\ (u,v;c)&\mapsto (k_{u}(u,v;c),k_{v}(u,v;c)). \end{aligned}$$
(14)

The relation

$$\begin{aligned} \mathfrak {k}(u,v;c)= (K_u,K_v) \end{aligned}$$
(15)

holds if and only if the pair \((u,v)\) appearing as an argument in Eq. (15) is an equilibrium point for Eq. (11). Therefore, the set of stationary points of the dynamical system (11) and hence the set of all possible boundary resp. limit conditions for a specific velocity and for specific integration constants are defined by

$$\begin{aligned} \mathfrak {B}(K_u,K_v;c)=\left\{ (u^*,v^*) \in \mathbb {D}\ | \ \mathfrak {k}(u^*,v^*;c)= (K_u,K_v) \right\} . \end{aligned}$$
(16)

Note that \((u_{0},v_{0})\) belongs to \(\mathfrak {B}(K_u,K_v;c)\).

For a particular stationary point \((u^*, v^*)\in \mathfrak {B}(K_u,K_v;c)\), the linearized system reads

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} y} \begin{pmatrix} u\\ v\end{pmatrix}&= \begin{pmatrix} \frac{\partial f_{u}(u^*,v^*)}{\partial u}-c&{}\quad \frac{\partial f_{u}(u^*,v^*)}{\partial v}\\ \frac{\partial f_{v}(u^*,v^*)}{\partial u} &{}\quad \frac{\partial f_{v}(u^*,v^*)}{\partial v}-c\end{pmatrix} \begin{pmatrix} u-u^*\\ v-v^*\end{pmatrix} \end{aligned}$$
(17)

and its eigenvalues are

$$\begin{aligned} \mathrm{e}_{1,2}(u^*,v^*;c)&=\frac{1}{2}\left( \frac{\partial f_{u}(u^*,v^*)}{\partial u}+\frac{\partial f_{v}(u^*,v^*)}{\partial v}- 2c\right. \nonumber \\&\quad \left. \pm \,\sqrt{\left( \frac{\partial f_{u}(u^*,v^*)}{\partial u}-\frac{\partial f_{v}(u^*,v^*)}{\partial v}\right) ^2+4\frac{\partial f_{u}(u^*,v^*)}{\partial v}\frac{\partial f_{v}(u^*,v^*)}{\partial u}}\right) . \end{aligned}$$
(18)

Because the functions \(\frac{\partial f_{u}}{\partial u}, \frac{\partial f_{u}}{\partial v}, \frac{\partial f_{v}}{\partial u}\) and \(\frac{\partial f_{v}}{\partial v}\) are non-negative in the domain of definition \(\mathbb {D}\), all eigenvalues \(\mathrm{e}_{1,2}\) are real, and therefore, we may exclude the existence of centre points and spiral points in the travelling wave dynamical system. The eigenvalues are independent of the integration constants. Therefore, for a fixed velocity \(c\), we can classify the stationary points in three categories:

$$\begin{aligned} (u^*, v^*) \text { is} {\left\{ \begin{array}{ll} \text {a stable node,} &{} \begin{aligned} \text {if } (u^*, v^*) \in \mathfrak {S}_\mathrm{st}(c),\end{aligned}\\ \text {an unstable node,} &{} \begin{aligned} \text {if }(u^*, v^*) \in \mathfrak {S}_\mathrm{un}(c),\end{aligned}\\ \text {a saddle point,} &{}\begin{aligned} \text {if } (u^*, v^*) \in \mathfrak {S}_\mathrm{sa}(c)\end{aligned} \end{array}\right. } \end{aligned}$$
(19)

with

$$\begin{aligned} \mathfrak {S}_\mathrm{st}(c)&=\bigg \{(u^*,v^*)\in \bigcup _{K_u,K_v}\mathfrak {B}(K_u,K_v;c) \ | \,\mathrm{e}_{1}(u^*,v^*;c)<0~\text{ and }\nonumber \\&\qquad \quad \mathrm{e}_{2}(u^*,v^*;c)<0\bigg \}, \end{aligned}$$
(20a)
$$\begin{aligned} \mathfrak {S}_\mathrm{un}(c)&=\bigg \{(u^*,v^*)\in \bigcup _{K_u,K_v}\mathfrak {B}(K_u,K_v;c) \ | \ \mathrm{e}_{1}(u^*,v^*;c)>0 ~\text{ and }\nonumber \\&\qquad \quad \mathrm{e}_{2}(u^*,v^*;c)>0\bigg \}, \end{aligned}$$
(20b)
$$ \begin{aligned} \mathfrak {S}_\mathrm{sa}(c)&=\bigg \{(u^*,v^*)\in \bigcup _{K_u,K_v}\mathfrak {B}(K_u,K_v;c) \& | \ \mathrm{e}_{1}(u^*,v^*;c)\mathrm{e}_{2}(u^*,v^*;c)<0\bigg \}. \end{aligned}$$
(20c)

Travelling wave solutions of the PDE system (1) correspond to heteroclinic orbits connecting stationary points of the dynamical system, see for example Gilding and Kersner (2001) or Volpert et al. (1994).

3.3 Reduced Representation of the Solution Space

In this subsection, a novel approach is introduced that enables us to find a practical and complete representation of the solution space of travelling waves of the PDE system (1)–(5). Existence of solutions is not the subject of this paper. But it would be easy to do so using homotopy arguments starting from examples in each topologically different class found in Sect. 3 below. This section introduces nomenclature that allows to present the results in Sect. 3 in a clear and concise way. Furthermore this new approach is compared to the traditional method used, for example, in Duijn et al. (2007, 2013), LeVeque (2004), LeFloch (2002), Cuesta et al. (2000) and Schaeffer and Shearer (1987).

3.3.1 Description of the Method

We define the set of smooth travelling wave solutions of the PDE system (1)–(5) as

$$\begin{aligned} \mathcal {S}&=\Bigg \{(u(y),v(y))\in C^\infty (\mathbb {R},\mathbb {D}) \ | \ \nonumber \\&\qquad (u(y),v(y)) \ \text {solution of the PDE system (1)--(5) with } \ y{:=}\,\frac{x-ct}{\mu }\nonumber \\&\qquad \text {and } (u(-\infty ),v(-\infty ))=(u_\mathrm{l},v_\mathrm{l}) \text { and } (u(\infty ),v(\infty ))=(u_\mathrm{r},v_\mathrm{r})\Bigg \}. \end{aligned}$$
(21)

We define the map

$$\begin{aligned} \mathfrak {f}{:}\,\mathcal {S}&\rightarrow \mathbb {R}^{+}\times \mathbb {D}\times \mathbb {D}\nonumber \\ s&\mapsto (c;u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r}) \end{aligned}$$
(22)

where \(c\) is the velocity and \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\) are the boundary resp. limit conditions of (5) for the travelling wave \(s\in \mathcal {S}\). The values of the map are not independent but related as

$$\begin{aligned} c=\frac{f_{u}(u_\mathrm{l},v_\mathrm{l})-f_{u}(u_\mathrm{r},v_\mathrm{r})}{u_\mathrm{l}-u_\mathrm{r}} =\frac{f_{v}(u_\mathrm{l},v_\mathrm{l})-f_{v}(u_\mathrm{r},v_\mathrm{r})}{v_\mathrm{l}-v_\mathrm{r}}. \end{aligned}$$
(23)

Note that this representation is not minimal because the boundary resp. limit conditions and the velocity are connected by Eq. (15). In this two-dimensional system, it is not guaranteed that it is injective. A particular boundary resp. limit value problem \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\) could lead to different travelling wave solutions depending on the initial conditions of the PDE system. A main goal is to find the image of \(\mathfrak {f}\)

$$\begin{aligned} \mathbb {F}=\mathrm{im}(\mathfrak {f}) \end{aligned}$$
(24)

because \(\mathbb {F}\) represents all boundary resp. limit conditions and their velocities that lead to travelling waves.

Now we define the map

$$\begin{aligned} \mathfrak {g}{:}\,\mathbb {F}&\rightarrow \left\{ (c;K_u,K_v)\in \mathbb {R}^{+}\times \mathbb {R}\times \mathbb {R}\right\} \nonumber \\ (c;u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})&\mapsto (c;\mathfrak {k}(u_\mathrm{l},v_\mathrm{l};c))=(c;\mathfrak {k}(u_\mathrm{r},v_\mathrm{r};c)). \end{aligned}$$
(25)

which includes the integration constants of (12). It is again not injective because different boundary resp. limit value problems \((u_\mathrm{l},v_\mathrm{l}),(u_\mathrm{r},v_\mathrm{r})\) could lead to the same integration constants. Another main goal is to find the image of \(\mathfrak {g}\)

$$\begin{aligned} \mathbb {G}=\mathrm{im}(\mathfrak {g}). \end{aligned}$$
(26)

because \(\mathbb {G}\) represents all integration constants and velocities that lead to travelling waves of the PDE system (1).

The map

$$\begin{aligned} \mathfrak {h}{:}\,\mathcal {S}&\rightarrow \mathbb {G}\nonumber \\ s&\mapsto \mathfrak {g}\circ \mathfrak {f}(s). \end{aligned}$$
(27)

connects the integration constants with the travelling wave solutions of the PDE system (1). The maps

$$\begin{aligned} \mathfrak {h}{:}\,\mathcal {S}\mathop {\twoheadrightarrow }\limits ^{\mathfrak {f}}\mathbb {F}\mathop {\twoheadrightarrow }\limits ^{\mathfrak {g}}\mathbb {G}\end{aligned}$$
(28)

are surjective.

Our classification of all solutions starts by fixing the velocity \(c\). This is archived by the orthogonal projection

$$\begin{aligned} \varPi _{c}^{\perp }{:}\,\{c\}\times \mathbb {M}\rightarrow \mathbb {M}\end{aligned}$$
(29)

where \(c\) is the velocity and \(\mathbb {M}\) is any subset of \(\mathbb {D}\times \mathbb {D}\) or \(\mathbb {R}\times \mathbb {R}\). The orthogonal projection generates the hypersurfaces

$$\begin{aligned} \mathbb {F}_{c}&=\varPi _{c}^{\perp }(\mathbb {F}), \end{aligned}$$
(30a)
$$\begin{aligned} \mathbb {G}_{c}&=\varPi _{c}^{\perp }(\mathbb {G}) \end{aligned}$$
(30b)

in \(\mathbb {R}^+ \times \mathbb {D}\times \mathbb {D}\) resp. \(\mathbb {R}^+ \times \mathbb {R}\times \mathbb {R}\). The set \(\mathbb {F}_{c}\) represents all boundary resp. limit conditions that lead to travelling waves with the specific velocity \(c\), and the set \(\mathbb {G}_{c}\) represents all integration constants that lead to travelling waves with the specific velocity \(c\). Moreover we define the functions

$$\begin{aligned} \mathfrak {f}_{c}=\varPi _{c}^{\perp }(\mathfrak {f}){:}\,\mathcal {S}&\rightarrow \mathbb {F}_{c}\nonumber \\ s&\mapsto (u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r}), \end{aligned}$$
(31a)
$$\begin{aligned} \mathfrak {g}_{c}=\varPi _{c}^{\perp }(\mathfrak {g}){:}\,\mathbb {F}_{c}&\rightarrow \mathbb {G}_{c}\nonumber \\ (u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})&\mapsto \mathfrak {k}_{c}(u_\mathrm{l},v_\mathrm{l})=\mathfrak {k}_{c}(u_\mathrm{r},v_\mathrm{r}), \end{aligned}$$
(31b)
$$\begin{aligned} \mathfrak {h}_{c}=\varPi _{c}^{\perp }(\mathfrak {h}){:}\,\mathcal {S}&\rightarrow \mathbb {G}_{c}\nonumber \\ s&\mapsto \mathfrak {g}_{c}\circ \mathfrak {f}_{c}(s). \end{aligned}$$
(31c)

where we used \(\mathfrak {k}_{c}(u,v)=\mathfrak {k}(u,v;c)\). We define two projections

$$\begin{aligned} \varPi _\mathrm{l}&{:}\,\mathbb {F}_{c}\rightarrow \mathbb {D}{:}\,(u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})\mapsto (u_\mathrm{l},v_\mathrm{l}), \end{aligned}$$
(32a)
$$\begin{aligned} \varPi _\mathrm{r}&{:}\,\mathbb {F}_{c}\rightarrow \mathbb {D}{:}\,(u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})\mapsto (u_\mathrm{r},v_\mathrm{r}) \end{aligned}$$
(32b)

which give us the left-sided resp. the right-sided condition of the boundary resp. limit value problem \((u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})\) leading to a travelling wave with velocity \(c\). The relations

$$\begin{aligned} \mathfrak {g}_{c}(f)=\mathfrak {k}_{c}(\varPi _\mathrm{l}(f))=\mathfrak {k}_{c}(\varPi _\mathrm{r}(f))\quad \forall f \in \mathbb {F}_{c}\end{aligned}$$
(33)

hold, indicating that \((u_\mathrm{l},v_\mathrm{l})\) and \((u_\mathrm{r},v_\mathrm{r})\) can be connected by a travelling wave solution with velocity \(c\).

In general, there could be node-to-node, saddle-to-node, node-to- saddle and saddle-to-saddle connections. For them, we introduce superscripts \(^\mathrm{nn}, ^\mathrm{ns}, ^\mathrm{sn}, ^\mathrm{ss}\). We decompose \(\mathbb {F}_{c},\mathbb {G}_{c}\)

$$\begin{aligned} \bigcup _{i\in \{\mathrm{nn}, \mathrm{ns}, \mathrm{sn}, \mathrm{ss}\}}\mathbb {F}_{c}^{i}&=\mathbb {F}_{c}, \end{aligned}$$
(34a)
$$\begin{aligned} \bigcup _{i\in \{\mathrm{nn}, \mathrm{ns}, \mathrm{sn}, \mathrm{ss}\}}\mathbb {G}_{c}^{i}&=\mathbb {G}_{c}\end{aligned}$$
(34b)

where \(\mathbb {F}_{c}^{i}\cap \mathbb {F}_{c}^{j}=\emptyset \) and \(\mathbb {G}_{c}^{i}\cap \mathbb {G}_{c}^{j}=\emptyset \) for \(i\ne j\). Note that

$$\begin{aligned} \varPi _\mathrm{l}\left( \mathbb {F}_{c}^\mathrm{nn}\right)&\subset \mathfrak {S}_\mathrm{un}(c), \end{aligned}$$
(35a)
$$\begin{aligned} \varPi _\mathrm{r}\left( \mathbb {F}_{c}^\mathrm{nn}\right)&\subset \mathfrak {S}_\mathrm{st}(c), \end{aligned}$$
(35b)
$$\begin{aligned} \varPi _\mathrm{l}\left( \mathbb {F}_{c}^\mathrm{ns}\right)&\subset \mathfrak {S}_\mathrm{un}(c), \end{aligned}$$
(35c)
$$\begin{aligned} \varPi _\mathrm{r}\left( \mathbb {F}_{c}^\mathrm{ns}\right)&\subset \mathfrak {S}_\mathrm{sa}(c), \end{aligned}$$
(35d)
$$\begin{aligned} \varPi _\mathrm{l}\left( \mathbb {F}_{c}^\mathrm{sn}\right)&\subset \mathfrak {S}_\mathrm{sa}(c), \end{aligned}$$
(35e)
$$\begin{aligned} \varPi _\mathrm{r}\left( \mathbb {F}_{c}^\mathrm{sn}\right)&\subset \mathfrak {S}_\mathrm{st}(c), \end{aligned}$$
(35f)
$$\begin{aligned} \varPi _\mathrm{l}\left( \mathbb {F}_{c}^\mathrm{ss}\right)&\subset \mathfrak {S}_\mathrm{sa}(c), \end{aligned}$$
(35g)
$$\begin{aligned} \varPi _\mathrm{r}\left( \mathbb {F}_{c}^\mathrm{ss}\right)&\subset \mathfrak {S}_\mathrm{sa}(c). \end{aligned}$$
(35h)

The union of all preimages \(\mathfrak {g}_{c}^{-1}(K_u,K_v)\) over all integration constants

$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v) \end{aligned}$$
(36)

gives all possible boundary resp. limit conditions that lead to travelling wave solutions with fixed velocity \(c\). This allows to classify the boundary resp. limit value problem data

$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times \mathfrak {S}_\mathrm{st}(c)\right] =\mathbb {F}_{c}^\mathrm{nn}, \end{aligned}$$
(37a)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times \mathfrak {S}_\mathrm{st}(c)\right] =\mathbb {F}_{c}^\mathrm{sn}, \end{aligned}$$
(37b)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times \mathfrak {S}_\mathrm{sa}(c)\right] =\mathbb {F}_{c}^\mathrm{ns}, \end{aligned}$$
(37c)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times \mathfrak {S}_\mathrm{sa}(c)\right] =\mathbb {F}_{c}^\mathrm{ss}. \end{aligned}$$
(37d)

The union of all preimages \(\mathfrak {h}_{c}^{-1}(K_u,K_v)=\mathfrak {f}_{c}^{-1}\circ \mathfrak {g}_{c}^{-1}(K_u,K_v)\) over all integration constants

$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {h}_{c}^{-1}(K_u,K_v) \end{aligned}$$
(38)

gives all travelling wave solutions with velocity \(c\). These can be classified as

$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {h}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times \mathfrak {S}_\mathrm{st}(c)\right] =\mathcal {S}_{c}^\mathrm{nn}, \end{aligned}$$
(39a)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {h}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times \mathfrak {S}_\mathrm{st}(c)\right] =\mathcal {S}_{c}^\mathrm{sn}, \end{aligned}$$
(39b)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {h}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times \mathfrak {S}_\mathrm{sa}(c)\right] =\mathcal {S}_{c}^\mathrm{ns}, \end{aligned}$$
(39c)
$$\begin{aligned} \bigcup _{K_u,K_v}\mathfrak {h}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times \mathfrak {S}_\mathrm{sa}(c)\right] =\mathcal {S}_{c}^\mathrm{ss}\end{aligned}$$
(39d)

into node-to-node, node-to-saddle, saddle-to-node and saddle-to- saddle connections.

By plotting the graph \(\varGamma _{\mathfrak {k}_{c}}\) of the function \(\mathfrak {k}_{c}\) defined in Eq. (31b)

$$\begin{aligned} \varGamma _{\mathfrak {k}_{c}}=\{(u^*,v^*)\times \mathfrak {k}_{c}(u^*,v^*)\ | \ (u^*,v^*)\in \mathbb {D}\}. \end{aligned}$$
(40)

and the stability regions \(\mathfrak {S}_\mathrm{un}(c),\mathfrak {S}_\mathrm{st}(c),\mathfrak {S}_\mathrm{sa}(c)\) defined by the eigenvalues in Eq. (18) for a specific velocity \(c\), we use Eq. (37) to represent a superset of all node-to-node, saddle-to-node, node-to-saddle and saddle-to- saddle boundary resp. limit conditions that lead to travelling wave solutions with velocity \(c\). This can be achieved by using a two-dimensional colour plot. The set of all integration constants \(\mathbb {G}_{c}\) for a fixed velocity can be obtained from this graph. By varying the velocity, we find all possible velocities for travelling waves and the union of \(\mathbb {G}_{c}\) for all possible velocities gives the set \(\mathbb {G}\).

If now, in addition to the fixed velocity \(c\), the integration constants \((K_u,K_v)\) are fixed then all possible travelling wave solutions and their actual boundary resp. limit values with velocity \(c\) and integration constants \((K_u,K_v)\) can be found by plotting the phase portrait for a particular \((c,K_u,K_v)\). Here in our example, there are eight classes of topologically different phase portraits for varying velocities and integration constants. Therefore, the information about the boundary resp. limit conditions gained from one of each topologically different phase portraits can be used for the restriction of the supersets of all possible boundary resp. limit conditions that lead to travelling wave solutions. Hence, it is not necessary to plot all phase portraits. Taking the union of these sets of boundary resp. limit conditions over all possible integration constants gives the set of all boundary resp. limit value problems \(\mathbb {F}_{c}\) that lead to travelling waves with velocity \(c\), and taking the union over all possible velocities leads to the set of all boundary resp. limit value problems \(\mathbb {F}\) that lead to travelling waves.

3.3.2 Comparison with the Traditional Method

The traditional method used in the hyperbolic community Duijn et al. (2007, 2013), LeVeque (2004), LeFloch (2002), Cuesta et al. (2000) and Schaeffer and Shearer (1987) also considers the set \(\mathbb {F}\), but there the velocity is an output of the Rankine–Hugoniot condition \(c(u_\mathrm{l},v_\mathrm{l};u_\mathrm{r},v_\mathrm{r})\). Traditionally, one starts by fixing one boundary resp. limit condition, e.g. \((u_\mathrm{r},v_\mathrm{r})\), and then considering the hypersurface

$$\begin{aligned} \mathbb {F}_{(u_\mathrm{r},v_\mathrm{r})}&=\mathbb {F}\cap \left[ \left\{ c(u_\mathrm{l},v_\mathrm{l};u_\mathrm{r},v_\mathrm{r})\right\} \times \mathbb {D}\times \left\{ (u_\mathrm{r},v_\mathrm{r})\right\} \right] \nonumber \\&=\left\{ (c(u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r}),u_\mathrm{l},v_\mathrm{l})\in \mathbb {R}\times \mathbb {D}\right\} \end{aligned}$$
(41)

The projection

$$\begin{aligned} \varPi _{c(u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r})}&{:}\,\mathbb {F}_{(u_\mathrm{r},v_\mathrm{r})}\rightarrow \mathbb {D}{:}\,(c(u_\mathrm{l},v_\mathrm{l},u_\mathrm{r},v_\mathrm{r}),u_\mathrm{l},v_\mathrm{l})|_{(u_\mathrm{r},v_\mathrm{r})} \mapsto (u_\mathrm{l},v_\mathrm{l})|_{(u_\mathrm{r},v_\mathrm{r})} \end{aligned}$$
(42)

is the Hugoniot locus for viscous shock profiles of the corresponding hyperbolic limit \(\mu =0\).

4 Results

4.1 Stability of the Stationary Points

We have computed the eigenvalues of the stationary points from Eq. (18) for all \((u^*,v^*)\in \mathbb {D}\) and all velocities \(c\ge 0\). In Fig. 2, the classification of the stationary points \(\mathfrak {S}_\mathrm{st}(c),\mathfrak {S}_\mathrm{un}(c),\mathfrak {S}_\mathrm{sa}(c)\) from (19) is shown for the wave speeds \(c=0.02,0.5,1,2,2.08,2.22\). The wave speeds have been determined numerically. The boundaries of the different stability regions correspond to the level curves of \(\mathrm{e}_{1,2}=0\). The black areas are the unstable points \(\mathfrak {S}_\mathrm{un}(c)\). The light grey areas are the stable points \(\mathfrak {S}_\mathrm{st}(c)\). Further, the dark grey areas indicate saddle points \(\mathfrak {S}_\mathrm{sa}(c)\). The complete domain of definition \(\mathbb {D}\) is unstable at \(c=0\) and stable for \(c>2.22\). Moreover for \(c>2\), there is no unstable region anymore. Only for \(0<c<2\), travelling wave solutions connecting unstable and stable stationary points are possible. For \(0<c<2.22\), travelling wave solutions connecting saddles and nodes are possible.

Fig. 2
figure 2

Classification of stationary points from (19) for different velocities. Stable nodes \(\mathfrak {S}_\mathrm{st}(c)\) are shown in light grey, unstable nodes \(\mathfrak {S}_\mathrm{un}(c)\) are shown in black, and saddle points \(\mathfrak {S}_\mathrm{sa}(c)\) are shown in dark grey. a corresponds to \(c=0.02\), b \(c=0.5\), c \(c=1\), d \(c=2\), e \(c=2.08\) and f \(c=2.22\). The boundaries of the different stability regions correspond to the level curves of \(\mathrm{e}_{1,2}=0\)

The stationary points for \(c=1\) are shown in Fig. 2c. Figures for velocities \(0<c<2\) look qualitatively the same as in Fig. 2c. There is an unstable region in the middle surrounded by a saddle point region and three stable regions located in the corners. We denote the stable region around the origin (0, 0) by \(^{(0,0)}\mathfrak {S}_\mathrm{st}(c)\), the stable region around the point (1, 0) by \(^{(1,0)}\mathfrak {S}_\mathrm{st}(c)\) and the stable region around the point (0, 1) by \(^{(0,1)}\mathfrak {S}_\mathrm{st}(c)\).

4.2 Stable Stationary Points and Their Connections

In Sect. 4.1, we found out that there are three stable regions located in the corners. Therefore, we split up \(\mathbb {F}_{c}^\mathrm{nn}\) into three parts

$$\begin{aligned} ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times ^{(0,0)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(43a)
$$\begin{aligned} ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times ^{(0,1)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(43b)
$$\begin{aligned} ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{un}(c)\times ^{(1,0)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(43c)
$$\begin{aligned} \mathbb {F}_{c}^\mathrm{nn}&=^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\cup ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\cup ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}. \end{aligned}$$
(43d)

The set \(^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\) denotes the boundary resp. limit conditions of a node-to-node connection leading to travelling waves of increasing \(u\) and increasing \(v\) values.

The set \(^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\) denotes the boundary resp. limit conditions of a node-to-node connection leading to travelling waves of increasing \(u\) and decreasing \(v\) values.

The set \(^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\) denotes the boundary resp. limit conditions of a node-to-node connection leading to travelling waves of decreasing \(u\) and increasing \(v\) values.

In the same way, we define

$$\begin{aligned} ^{(0,0)}\mathbb {F}_{c}^\mathrm{sn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times ^{(0,0)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(44a)
$$\begin{aligned} ^{(0,1)}\mathbb {F}_{c}^\mathrm{sn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times ^{(0,1)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(44b)
$$\begin{aligned} ^{(1,0)}\mathbb {F}_{c}^\mathrm{sn}&=\bigcup _{K_u,K_v}\mathfrak {g}_{c}^{-1}(K_u,K_v)\cap \left[ \mathfrak {S}_\mathrm{sa}(c)\times ^{(1,0)}\mathfrak {S}_\mathrm{st}(c)\right] , \end{aligned}$$
(44c)
$$\begin{aligned} \mathbb {F}_{c}^\mathrm{sn}&=^{(0,0)}\mathbb {F}_{c}^\mathrm{sn}\cup ^{(0,1)}\mathbb {F}_{c}^\mathrm{sn}\cup ^{(1,0)}\mathbb {F}_{c}^\mathrm{sn}. \end{aligned}$$
(44d)

for the saddle-node connections. The set \(^{(0,0)}\mathbb {F}_{c}^\mathrm{sn}\) denotes the boundary resp. limit conditions of a saddle-to-node connection leading to travelling waves of increasing \(u\) and increasing \(v\) values. The set \(^{(0,1)}\mathbb {F}_{c}^\mathrm{sn}\) denotes the boundary resp. limit conditions of a saddle-to-node connection leading to travelling waves of increasing \(u\) and decreasing \(v\) values. The set \(^{(1,0)}\mathbb {F}_{c}^\mathrm{sn}\) denotes the boundary resp. limit conditions of a saddle-to-node connection leading to travelling waves of decreasing \(u\) and increasing \(v\) values.

4.3 Classification of the Topologically Different Phase Portraits

In Table 1, all topologically different phase portraits are classified with respect to their number and type of stationary points and their number and type of connections. Table 2 shows the values of the integration constants \((K_u,K_v)\) for the topologically different phase portraits defined in Table 1 for fixed velocity \(c\).

Table 1 Classification of the topologically different phase portraits with respect to their number and type of stationary points and their number and type of connections
Table 2 The values of the integration constants for the topologically different phase portraits defined in Table 1 for fixed velocity \(c\) with \(\mathcal {I}=\{(0,0),(0,1),(1,0)\}\)

We have in total eight classes. The first two classes contain only one node: either one unstable point (class a) or one stable point (class b). There are no connections because only one stationary point is available and homoclinic orbits do not exist in our case.

The next four classes contain saddle points and either stable or unstable points. Class c has an unstable point and a saddle point and therefore contains one node-to-saddle connection. Class d has a stable point and a saddle point and therefore contains one saddle-to- node connection. Class e has three stable points and one saddle point and therefore contains four saddle-to-node connections. Class f has two stable points and one saddle point and therefore contains two saddle-to-node connections.

The most interesting classes, however, are class g and h because they contain node-to-node connections. These node-to-node connections have an additional degree of freedom allowing non-monotonic profiles. Class g has one stable point and one unstable point and two saddle points and therefore contains two saddle-to-node connections, two node-to-saddle connections and infinitely many node- to-node connections. Class h has three stable points, one unstable point and three saddle points and therefore contains six saddle-to- node connections, three node-to-saddle connections and infinitely many node-to-node connections.

4.4 The Graph \(\varGamma _{\mathfrak {k}_{c}}\) and Its Bifurcations

4.4.1 Description of Figs. 3, 4, 5, 6, 7, 8 and 9

Figures 3, 4, 5, 6, 7, 8 and 9 show two-dimensional colour plots for the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for the velocities \(c=0.7, 1, 1.11, 1.21, 1.34, 1.37, 1.5\). The colour code for the values of \(\mathfrak {k}_{c}(u^*,v^*)=(k_{u}(u^*,v^*), k_{v}(u^*,v^*))\) is shown as an inset. There are three stable regions in the corners which are delimited by a solid line for \(^{(0,0)}\mathfrak {S}_\mathrm{st}(c)\), by a dashed line for \(^{(0,1)}\mathfrak {S}_\mathrm{st}(c)\) and by a dash-dotted line for \(^{(1,0)}\mathfrak {S}_\mathrm{st}(c)\). Moreover, there is one unstable region in the middle of the domain of definition \(\mathbb {D}\) which is delimited by a dotted line. The sets \(^{(0,0)}\mathbb {F}_{c}^\mathrm{nn},^{(0,0)}\mathbb {F}_{c}^\mathrm{sn}\) are shown as the horizontally hatched region, the sets \(^{(0,1)}\mathbb {F}_{c}^\mathrm{nn},^{(0,1)}\mathbb {F}_{c}^\mathrm{sn}\) are shown as the inclined hatched region, and the sets \(^{(1,0)}\mathbb {F}_{c}^\mathrm{nn},^{(1,0)}\mathbb {F}_{c}^\mathrm{sn}\) are shown as the vertically hatched region. Non-coloured regions in the domain of definition \(\mathbb {D}\) show stationary points of class a or b which have no connections and therefore no travelling wave solutions for fixed velocity \(c\).

Fig. 3
figure 3

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=0.7\). The detailed description is written in Sects. 4.4.1 and 4.4.2. It is representative for all velocities \(0<c<1\). There is a region of class a, there are three regions of class c, three regions of class d and three regions of class g

Fig. 4
figure 4

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1\). The detailed description is written in Sects. 4.4.1 and 4.4.2. Class h starts to exist. Class a ceases to exist. Therefore, there are three regions of class c, three regions of class d, three regions of class g and a region of class h. The stationary points of system with \(c=1,K_u=0, K_v=0\) are shown with diamonds (stable points), circles (unstable points) and squares (saddle points). This system is further discussed in Fig. 10

Fig. 5
figure 5

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.11\). The detailed description is written in Sects. 4.4.1 and 4.4.2. Class c ceases to exist. There are three regions of class d, three regions of class g and a region of class h. For higher velocities \(c>1.11\), class e exist. The stationary points of system with \(c=1.11,K_u=0.02, K_v=0.08\) are shown with diamonds (stable points), circles (unstable points) and squares (saddle points). This system is further discussed in Fig. 12

Fig. 6
figure 6

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.21\). The detailed description is written in Sects. 4.4.1 and 4.4.2. There are three regions of class d, three regions of class e, three regions of class g and a region of class h. For higher velocities \(c>1.21\), there are stable points in the corners which are the only stationary points in their corresponding phase portrait and hence belong to class b. Moreover, class f starts to exist

Fig. 7
figure 7

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.34\). The detailed description is written in Sects. 4.4.1 and 4.4.2. Class g ceases to exist. There are three regions of class b, three regions of class d, three regions of class e, six regions of class f and a region of class h. For higher velocities \(c>1.34\), the three unconnected regions of class e merge to one region

Fig. 8
figure 8

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.37\). The detailed description is written in Sects. 4.4.1 and 4.4.2. Class d ceases to exist. There are three regions of class b, one region of class e, six regions of class f and a region of class h. For higher velocities \(c>1.37\), the six regions of class f merge to three regions of class f

Fig. 9
figure 9

Two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.5\). The detailed description is written in Sect. 4.4.1 and 4.4.2. It is representative for all velocities \(1.37<c<2\). There are three regions of class b, one region of class e, three regions of class f and a region of class h

In the insets of Figs. 3, 4, 5, 6, 7, 8 and 9, the \((K_u,K_v)\)-values of the stable, the unstable and the saddle point regions are visible. The solid line frames set \(\mathfrak {k}_{c}(^{(0,0)}\mathfrak {S}_\mathrm{st}(c))\), the dashed line frames set \(\mathfrak {k}_{c}(^{(0,1)}\mathfrak {S}_\mathrm{st}(c))\), the dash-dotted line frames set \(\mathfrak {k}_{c}(^{(1,0)}\mathfrak {S}_\mathrm{st}(c))\), and the dotted line frames set \(\mathfrak {k}_{c}(\mathfrak {S}_\mathrm{un}(c))\). The sets

$$\begin{aligned} ^{(0,0)}\mathbb {G}_{c}^\mathrm{nn}&=\mathfrak {g}_{c}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right) , \end{aligned}$$
(45a)
$$\begin{aligned} ^{(0,1)}\mathbb {G}_{c}^\mathrm{nn}&=\mathfrak {g}_{c}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right) , \end{aligned}$$
(45b)
$$\begin{aligned} ^{(1,0)}\mathbb {G}_{c}^\mathrm{nn}&=\mathfrak {g}_{c}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right) , \end{aligned}$$
(45c)
$$\begin{aligned} \mathbb {G}_{c}^\mathrm{nn}&=^{(0,0)}\mathbb {G}_{c}^\mathrm{nn}\cup ^{(0,1)}\mathbb {G}_{c}^\mathrm{nn}\cup ^{(1,0)}\mathbb {G}_{c}^\mathrm{nn}. \end{aligned}$$
(45d)

are the integration constants that lead to node-to-node connections where their right-sided boundary resp. limit conditions are elements of \(^{(0,0)}\mathfrak {S}_\mathrm{st}(c),^{(0,1)}\mathfrak {S}_\mathrm{st}(c),^{(1,0)}\mathfrak {S}_\mathrm{st}(c)\). In the insets of Figs. 3, 4, 5, 6, 7, 8 and 9, \(^{(0,0)}\mathbb {G}_{c}^\mathrm{nn}\) is shown as the horizontally hatched region, the set \(^{(0,1)}\mathbb {G}_{c}^\mathrm{nn}\) is shown as the inclined hatched region, and the set \(^{(1,0)}\mathbb {G}_{c}^\mathrm{nn}\) is shown as the vertically hatched region. Only \((K_u,K_v)=\mathfrak {k}_{c}(u^*,v^*)\)-values of a saddle point \((u^*,v^*)\) are coloured. Non-coloured regions in the \((K_u,K_v)\)-space show \((K_u,K_v)\)-values which have no travelling wave solutions for fixed velocity \(c\).

4.4.2 Bifurcations

As the velocity varies, bifurcations occur in the existence of the topologically different phase portraits defined in Table 1. These bifurcations happen at velocities \(c=0,1,1.11,1.21,1.34,1.37,2,2.22\). Table 3 exhibits these bifurcations by giving the numbers of unconnected regions in the \((K_u,K_v)\)-space where the different phase portrait classes defined in Table 1 exist. The bifurcations are described and illustrated in detail in Figs. 3, 4, 5, 6, 7, 8 and 9.

Table 3 For different velocities, number of unconnected regions where the different phase portrait classes defined in Table 1 exist

For velocity \(c=0\), all points are unstable, and therefore, only class a exists and covers the whole domain of definition \(\mathbb {D}\). For higher velocities \(c>0\), stable and saddle points appear and the classes c, d, g start to exist.

Figure 3 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=0.7\). It is representative for all velocities \(0<c<1\). There is a region of class a. The unstable points of class a are located in the white region surrounded by the coloured region in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class a are located in the white region surrounded by the coloured region in the \((K_u,K_v)\)-space. There are three regions of class c. The unstable and saddle points of class c are located in the regions in the \((u^*,v^*)\)-space that are bounded by two differently hatched regions and the white regions. The \((K_u,K_v)\)-values of class c are located in the regions in the \((K_u,K_v)\)-space that are bounded by two differently hatched regions and the white regions. There are three regions of class d. The stable and saddle points of class d are located in those regions in the \((u^*,v^*)\)-space that are bounded by the equally hatched regions. The \((K_u,K_v)\)-values of class d are located in the regions in the \((K_u,K_v)\)-space which are inside the region bounded by either the solid line or the dashed line or the dash-dotted line but which are not hatched. There are three regions of class g. The stationary points of class g are located in the horizontally or vertically or inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class g are located in the horizontally or vertically or inclined hatched regions in the \((K_u,K_v)\)-space. The hatched regions on the unstable region are located in the corners and do not touch each other,

$$\begin{aligned} \varPi _\mathrm{l}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \varPi _\mathrm{l}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \varPi _\mathrm{l}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right) =\emptyset \quad \text {for }c<1. \end{aligned}$$
(46)

With increasing velocity, they grow until they touch each other for the specific value of \(K_u=0,K_v=0\) for \(c=1\), shown in Fig. 4.

Figure 4 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1\). For velocities \(c\ge 1\), there are unstable points which belong to all three sets,

$$\begin{aligned} \varPi _\mathrm{l}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \varPi _\mathrm{l}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \varPi _\mathrm{l}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right) \ne \emptyset \quad \text {for }c\ge 1. \end{aligned}$$
(47)

and therefore, class h starts to exist. For \(c=1\), the stationary points of class a are the points of system with \(c=1,K_u=0, K_v=0\). They are shown with diamonds (stable points), circles (unstable points) and squares (saddle points). This system is discussed further in Fig. 10. Class a ceases to exist. There are three regions of class c. The unstable and saddle points of class c are located in the regions in the \((u^*,v^*)\)-space that are bounded by two differently hatched regions. The \((K_u,K_v)\)-values of class c are located in the regions in the \((K_u,K_v)\)-space that are bounded by two differently hatched regions and the white region. There are three regions of class d. The stable and saddle points of class d are located in the regions in the \((u^*,v^*)\)-space that are bounded by the equally hatched regions. The \((K_u,K_v)\)-values of class d are located in the regions in the \((K_u,K_v)\)-space which are inside the region bounded by either the solid line or the dashed line or the dash-dotted line but which are not hatched. There are three regions of class g. The stationary points of class g are located in the horizontally or vertically or inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class g are located in the horizontally or vertically or inclined hatched regions in the \((K_u,K_v)\)-space.

Fig. 10
figure 10

Phase portrait for \(c=1,K_u= K_v=0\). The seven thick black dots are the stationary points listed in Table 4. The lines show orbits, and the arrows show the direction of the orbits. The invariant lines are linear orbits. The linear orbits which connect a saddle with a node are the separatrices of the dynamical system. These separatrices bound the three two-dimensional systems of orbits which connect the unstable stationary point with one of the three stable stationary points

Figure 5 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.11\). In Fig. 5, each hatched region \(^{(0,0)}\mathbb {F}_{c}^\mathrm{nn},\,^{(0,1)}\mathbb {F}_{c}^\mathrm{nn},\,^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\) touches the opposite side of the unstable region. Class c ceases to exist. There are three regions of class d. The stable and saddle points of class d are located in the regions in the \((u^*,v^*)\)-space that are bounded by the equally hatched regions. The \((K_u,K_v)\)-values of class d are located in the regions in the \((K_u,K_v)\)-space which are inside the region bounded by either the solid line or the dashed line or the dash-dotted line but which are not hatched. There are three regions of class g. The stationary points of class g are located in the horizontally or vertically or inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class g are located in the horizontally or vertically or inclined hatched regions in the \((K_u,K_v)\)-space. There exists a region of class h. The stationary points of class h are located in the horizontally and vertically and inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class h are located in the horizontally and vertically and inclined hatched regions in the \((K_u,K_v)\)-space. For higher velocities \(c>1.11\), class e exists and the corners for higher velocities \(c>1.11\) do not belong anymore to the stable hatched regions,

$$\begin{aligned} \mathrm{B}_{\epsilon }(0,0)\cap \varPi _\mathrm{r}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\emptyset , \end{aligned}$$
(48a)
$$\begin{aligned} \mathrm{B}_{\epsilon }(0,1)\cap \varPi _\mathrm{r}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\emptyset , \end{aligned}$$
(48b)
$$\begin{aligned} \mathrm{B}_{\epsilon }(1,0)\cap \varPi _\mathrm{r}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\emptyset \quad \text {for }c>1.11 \end{aligned}$$
(48c)

for an \(\epsilon >0\) where \(\mathrm{B}_{\epsilon }(u,v)\) denotes the \(\epsilon \)-ball around \((u,v)\). This means that, for \(c>1.11\), there are no node-to-node connections where two of the three boundary resp. limit values for \(u,\,v\) and \(w\) are nonzero. The stationary points of system with \(c=1.11,K_u=0.02, K_v=0.08\) are shown with diamonds (stable points), circles (unstable points) and squares (saddle points). This system is discussed further in Fig. 12.

Figure 6 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.21\). It contains the same classes as in Fig. 5. There are three regions of class d. The stable and saddle points of class d are located in the regions in the \((u^*,v^*)\)-space that are bounded by the equally hatched regions. The \((K_u,K_v)\)-values of class d are located in the regions in the \((K_u,K_v)\)-space which are inside the region bounded by either the solid line or the dashed line or the dash-dotted line but which are not hatched. There are three regions of class e. The stable and saddle points of class e are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class e are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by the solid line and the dashed line and the dash-dotted line but which are not hatched. There are three regions of class g. The stationary points of class g are located in the horizontally or vertically or inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class g are located in the horizontally or vertically or inclined hatched regions in the \((K_u,K_v)\)-space. There exists a region of class h. The stationary points of class h are located in the horizontally and vertically and inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class h are located in the horizontally and vertically and inclined hatched regions in the \((K_u,K_v)\)-space. For higher velocities \(c>1.21\), there are stable points in the corners that are the only stationary points \((u^*,v^*)\) in \(\mathbb {D}\) for a fixed \((K_u,K_v)\)-value and hence belong to class b. Moreover, class f appears.

Figure 7 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.34\). There, all three hatched regions cover the complete set of unstable points,

$$\begin{aligned} \varPi _\mathrm{l}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\mathfrak {S}_\mathrm{un}(c), \end{aligned}$$
(49a)
$$\begin{aligned} \varPi _\mathrm{l}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\mathfrak {S}_\mathrm{un}(c), \end{aligned}$$
(49b)
$$\begin{aligned} \varPi _\mathrm{l}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right)&=\mathfrak {S}_\mathrm{un}(c)\quad \text {for }c>1.34. \end{aligned}$$
(49c)

Therefore, class g vanishes. The stable hatched regions loose connection to the sides of the domain of definition \(\mathbb {D}\),

$$\begin{aligned} \varPi _\mathrm{r}\left( ^{(0,0)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \partial \mathbb {D}&=\emptyset , \end{aligned}$$
(50a)
$$\begin{aligned} \varPi _\mathrm{r}\left( ^{(0,1)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \partial \mathbb {D}&=\emptyset , \end{aligned}$$
(50b)
$$\begin{aligned} \varPi _\mathrm{r}\left( ^{(1,0)}\mathbb {F}_{c}^\mathrm{nn}\right) \cap \partial \mathbb {D}&=\emptyset \quad \text {for }c>1.34. \end{aligned}$$
(50c)

This means that, for \(c>1.34\), only node-to-node connections exist that have nonzero values in \(u,\,v\) and \(w\) everywhere. There are three regions of class b. The stable points of class b are located in the white regions in the corners in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class b are located in the white regions in the corners in the \((K_u,K_v)\)-space. There are three regions of class d. The stable and saddle points of class d are located in the regions in the \((u^*,v^*)\)-space that are bounded by the equally hatched regions. The \((K_u,K_v)\)-values of class d are located in the regions in the \((K_u,K_v)\)-space which are inside the region bounded by either the solid line or the dashed line or the dash-dotted line but which are not hatched. There are three regions of class e. The stable and saddle points of class e are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class e are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by the solid line and the dashed line and the dash-dotted line but which are not hatched. There are six regions of class f. The stable and saddle points of class f are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class f are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by exactly two of the three linestyles solid, dashed and dash-dotted. There exists a region of class h. The stationary points of class h are located in the horizontally and vertically and inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class h are located in the horizontally and vertically and inclined hatched regions in the \((K_u,K_v)\)-space. For higher velocities \(c>1.34\), the three unconnected regions of class e merge to one region.

Figure 8 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.37\). There, class d vanishes. There are three regions of class b. The stable points of class b are located in the white regions in the corners in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class b are located in the white regions in the corners in the \((K_u,K_v)\)-space. There is a region of class e. The stable and saddle points of class e are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class e are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by the solid line and the dashed line and the dash-dotted line but which are not hatched. There are six regions of class f. The stable and saddle points of class f are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class f are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by exactly two of the three linestyles solid, dashed and dash-dotted. There exists a region of class h. The stationary points of class h are located in the horizontally and vertically and inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class h are located in the horizontally and vertically and inclined hatched regions in the \((K_u,K_v)\)-space.

For velocities \(1.37<c<2\), the picture will remain the same as in Fig. 9. All hatched regions, however, shrink and move to the centre of the domain of definition \(\mathbb {D}\), until for \(c=2\) they vanish completely.

Figure 9 shows a two-dimensional colour plot of the graph \(\varGamma _{\mathfrak {k}_{c}}\) defined in Eq. (40) for velocity \(c=1.5\). It is representative for all velocities \(1.37<c<2\). There are three regions of class b. The stable points of class b are located in the white regions in the corners in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class b are located in the white regions in the corners in the \((K_u,K_v)\)-space. There is a region of class e. The stable and saddle points of class e are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class e are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by the solid line and the dashed line and the dash-dotted line but which are not hatched. There are three regions of class f. The stable and saddle points of class f are located in the non-hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class f are located in the regions in the \((K_u,K_v)\)-space which are inside the regions bounded by exactly two of the three linestyles solid, dashed and dash-dotted. There exists a region of class h. The stationary points of class h are located in the horizontally and vertically and inclined hatched regions in the \((u^*,v^*)\)-space. The \((K_u,K_v)\)-values of class h are located in the horizontally and vertically and inclined hatched regions in the \((K_u,K_v)\)-space.

For velocities \(c>2\), there are no unstable points anymore. Therefore, only the classes b, e, f exist. For velocities \(c>2.2\), all points are stable, and therefore, only class b exists and covers the whole domain of definition \(\mathbb {D}\).

4.5 A Particular Example of a Phase Portrait

The explicit travelling wave solutions are obtained from the phase portrait for a fixed velocity c and fixed integration constants \(K_u,K_v\). Node-to-node connections are of particular interest because there the complexity is the highest and new phenomena such as non-monotonic saturation profiles appear. Figure 10 shows such a phase portrait for \(c=1, K_u=0, K_v=0\). The lines show the orbits, and the arrows indicate the direction. The marked points are the stationary points already seen in Fig. 4. They are listed in Table 4.

Table 4 Classification of the stationary points for the system with \(c=1, K_u=0, K_v=0\)

4.5.1 Invariant Lines

We define the invariant lines as lines where one of the phases does not exist or where two of the other phases have the same saturation. The invariant lines are shown as thick lines in Fig. 10 and are listed in Table 5. The first three invariant lines lie on the boundaries of the domain of definition \(\mathbb {D}\), and the last three are the medians of it. These lines are invariant under the flow \(\phi _{y}\) generated by the dynamical system (11). To prove this, the dynamical system (11) with the specific parameter set \(c=1, K_u=0, K_v=0\) and functions \(f_{u},f_{v}\) from Eq. (3) is written as

$$\begin{aligned} \frac{\mathrm{d} u}{\mathrm{d}y} (u,v)&=u\left( \frac{u}{u^2+\left( 1-u-v\right) ^{2}+v^2}-1\right) , \end{aligned}$$
(51a)
$$\begin{aligned} \frac{\mathrm{d} v}{\mathrm{d} y} (u,v)&=v\left( \frac{v}{u^2+\left( 1-u-v\right) ^{2}+v^2}-1\right) . \end{aligned}$$
(51b)

For the first invariant line \(u=0\) in Table 5, Eq. (51a) yields \(\frac{d u}{dy}(0,v)=0\) holds. Hence, the flow \(\phi _{y}\) of a point lying on the invariant line \(u=0\) fulfils the equation of the invariant line \(u=0\) for all times \(t\). The proof for the second invariant line \(v=0\) of Table 5 works identically. The third invariant line \(u+v=1\) of Table 5 requires a slightly different approach. The quotient of Eqs. (51a) and (51b) is

$$\begin{aligned} \frac{\mathrm{d}u}{\mathrm{d}v}(u, v)=\frac{\frac{\mathrm{d}u}{\mathrm{d}y}(u,v)}{\frac{\mathrm{d} v}{\mathrm{d}y}(u,v)}=\frac{u\left( -3u+2u^2+2v^2+1-2v+2uv\right) }{v\left( -3v+2u^2+2v^2+1-2u+2uv\right) } \end{aligned}$$
(52)

and gives the slope of an orbit at a given point \((u,v)\) in the phase portrait. Using the invariant line \(u+v=1\) in Eq. (52) yields \((du/dv) (u,1-u)=-1\). This means that the slope of an orbit at any point on the invariant line \(u+v=1\) equals the slope of the invariant line \(u+v=1\). Hence, the flow \(\phi _{y}\) of a point with the invariant line \(u+v=1\) fulfils the invariant line \(u+v=1\) for all times \(t\). The other cases from Table 5 can be proved similarly. The intersections of these lines give all the stationary points of the dynamical system. On each line, there are three stationary points. The endpoints are stable stationary points of the line because either they are stable stationary points of the dynamical system or they are saddle points and the line is their one-dimensional stable submanifold. The points in the middle of the line are unstable stationary points of the line because either they are unstable stationary points of the dynamical system or they are saddle points and the line is their one-dimensional unstable submanifold. Therefore, each line contains two linear heteroclinic orbits, and in total, there are twelve linear orbits. Six orbits connect the saddles with each of the two corresponding stable points which lie on the same invariant line I, II or III. Three orbits connect the unstable point with the saddle points lying on the invariant lines IV, V or VI. Further, we find three orbits connecting the unstable point with the stable points lying on these invariant lines. Because these lines are invariant under the flow \(\phi _{y}\), these invariant lines cannot be intersected by orbits. The linear orbits which connect a saddle are the separatrices of the system. These separatrices bound the three two-dimensional systems of orbits which connect the unstable stationary point with one of the three stable stationary points. Note that here the local stable and unstable manifolds of the saddles are also the global one’s because they are linear.

Table 5 Invariant lines for the system with \(c=1, K_u=0, K_v=0\)
Fig. 11
figure 11

Phase portrait a shows four orbits connecting the stationary points \(\left( \frac{1}{3},\frac{1}{3}\right) \) and (0, 0) for \(c=1,K_u=0,K_v=0\). The thin line connects the two saddle points. The line is parameterized by \(\lambda \in [0,1]\) such that \(\lambda =0\) corresponds to (1 / 3, 0) and \(\lambda =1\) to (0, 1 / 3). Each orbit connecting (1 / 3, 1 / 3) and (0, 0) intersects this line exactly once. The \(\lambda \)-value of this intersection point is used to label the orbit. Saturation profiles b are shown for the orbits with \(\lambda =0.01,0.42,0.58,0.99\) which are already shown in a. The orbits with \(\lambda =0.42,0.58\) are separating curves such that orbits with \(\lambda \in (0,0.42)\) are non-monotonic in \(u\), orbits with \(\lambda \in (0.42,0.58)\) are monotonic, and orbits with \(\lambda \in (0.58,1)\) are non-monotonic in \(v\)

4.5.2 The Subsystem Connecting the Origin

In the following, only the system connecting \(\left( \frac{1}{3},\,\frac{1}{3}\right) \) and (0, 0) is further considered and shown in Fig. 11. The other two systems can be examined analogously. The system connecting \(\left( \frac{1}{3},\,\frac{1}{3}\right) \) and (0, 0) is bounded by the saddles \(\left( \frac{1}{2},0\right) \) and \(\left( 0,\frac{1}{2}\right) \) and the invariant lines I,II,V,VI. The invariant line IV cuts it into two halves. Infinitely, many orbits connect the pair of one stable point and one unstable point. However, we observe that each orbit intersects the line which connects the two saddles \(\left( 0,\frac{1}{2}\right) \) and \(\left( \frac{1}{2},0\right) \) exactly once. We define an additional parameter \(\lambda \) to interpolate linearly between the saddle \(\left( 0,\frac{1}{2}\right) \) and the saddle \(\left( \frac{1}{2},0\right) \) with \(\lambda =1\) corresponding to \(\left( 0,\frac{1}{2}\right) \) and \(\lambda =0\) to \(\left( \frac{1}{2},0\right) \). Now it is possible to label each orbit uniquely by the \(\lambda \) value of its intersection point with the line connecting the two saddles \(\left( 0,\frac{1}{2}\right) \) and \(\left( \frac{1}{2},0\right) \). This additional degree of freedom determines the (non-)monotonicity of the travelling wave solution shown in Table 6.

Table 6 (Non-)monotonicity of the saturation profiles of the orbits parametrized with \(\lambda \) connecting \(\left( \frac{1}{3},\frac{1}{3}\right) \) and (0, 0) in the system with \(c=1, K_u=0, K_v=0\)

A travelling wave solution of a single fractional flow equation is unique in its velocity and end points of its orbit, and it is monotonic (see for example Brevdo et al. 2001). Our main result from this analysis is that in a system of two equations an additional degree of freedom allows non-monotonic behaviour in the saturation profiles. The origin of this degree of freedom will be discussed in the next section.

4.6 Other Systems

The topological structure of the phase portrait does not depend on \(c,K_u,K_v\) as long as the class defined in Table 1 does not change. As an example, the phase portrait for \(c=1.11,K_u=0.02, K_v=0.08\) is shown in Fig. 12. It is topologically identical with Fig. 10. The straight lines defined in Sect. 4.5.1 become curves.

Fig. 12
figure 12

Phase portrait for \(c=1.11,K_u=0.02, K_v=0.08\)

5 Numerical Studies

5.1 Method of Solution: An Adaptive Moving Grid Solver

This section presents numerical solutions of the partial differential equations related to the underlying travelling wave ansatz. We confirm the quasi-analytic solutions in the original system of PDEs which were derived in Sect. 3 and examine the stability of the different travelling wave solutions by solving the time-dependent equations numerically. Furthermore, we find the reason for the degree of freedom \(\lambda \) of Sect. 3 and are able to discuss how the non-monotonic travelling wave solutions of Sect. 3 evolve.

We use a numerical algorithm that can solve general nonlinear PDEs (Blom and Zegeling 1994). The spatial discretization consists of a finite difference approximation on an adaptive (non-uniform) grid that can change in time as well. The time integration is performed by the stiff ODE integrator routines in DASSL (Petzold 1982). In this routine, a variable time step and variable-order implicit backward differentiation formula (BDF) technique is used.

With the adaptive grid code, general systems of \({N_\mathrm{PDE}}\) nonlinear equations of the form

$$\begin{aligned} C\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right) \frac{\partial \mathfrak {u}}{\partial t}+Q\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right)&=\frac{\partial }{\partial x}R\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right) \end{aligned}$$
(53)

can be solved, where \(C\) is a \({N_\mathrm{PDE}}\times {N_\mathrm{PDE}}\) Matrix and \(Q\) and \(R\) represent \({N_\mathrm{PDE}}\)-vectors that stand for sink and flux terms, respectively. The variable vector \(\mathfrak {u}\) is \({N_\mathrm{PDE}}\)-dimensional and depends on space \(x\in [{x_{\ell }},{x_{r}}]\) and time \(t>0\). The algorithm uses the numerical parameter \(\epsilon _{{\text {tol}}}=10^{-5}\) for the accuracy of the time integration (Petzold 1982) and the adaptive parameters \(\tau _{\mathrm{sm}}=10^{-3},\sigma _{\mathrm{sm}}=2\) that control the spatial and temporal smoothness of the adaptive grid. The smoothing in both the time and space direction is added to ensure, respectively, stability of the grid motion and a regular spatial grid distribution for all time \(t>0\). Furthermore, the adaptive grid relies on a moving non-uniform finite difference discretization which is based on an equidistribution principle. A sophisticated parameter-free monitor function is used to let the grid points follow the steep localized structures in the PDE model efficiently. More details can be found in Zegeling (1998), Champneys et al. (2000), Dam and Zegeling (2006) and Zegeling et al. (2011).

The fractional flow Eqs. (1) can be brought into the following form

$$\begin{aligned} \frac{\partial u}{\partial t}&= \frac{\partial }{\partial x}\left[ \mu \frac{\partial u}{\partial x}-f_{u}(u,v)\right] , \end{aligned}$$
(54a)
$$\begin{aligned} \frac{\partial v}{\partial t}&= \frac{\partial }{\partial x}\left[ \mu \frac{\partial v}{\partial x}-f_{v}(u,v)\right] , \end{aligned}$$
(54b)

where the functions \(f_{u},f_{v}\) have been defined in Eq. (3) and the parameter \(\mu \) is set equal to one. In Eq. (53), we take \(C\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right) \) as the \(2 \times 2\) identity matrix, set the source term \(Q\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right) \) and flux term \(R\left( x,t,\mathfrak {u},\frac{\partial \mathfrak {u}}{\partial x}\right) \) equal to the vectors \((0, 0)^T \) and \(\mu \left( \frac{\partial u}{\partial x} - f_u(u,v), \frac{\partial v}{\partial x} - f_v(u,v)\right) ^T\), respectively.

The initial conditions are given by the following formulae:

$$\begin{aligned} \begin{pmatrix} u\\ v\end{pmatrix}(x,0)&=\begin{pmatrix} \frac{u_\mathrm{l}}{2}\left( 1-\tanh \left( \kappa \left( x-x_{0}^{\mathrm{u}}\right) \right) \right) +\frac{u_\mathrm{r}}{2}\left( 1+\tanh \left( \kappa \left( x-x_{0}^{\mathrm{u}}\right) \right) \right) \\ \frac{v_\mathrm{l}}{2}\left( 1-\tanh \left( \kappa \left( x-x_{0}^{\mathrm{v}}\right) \right) \right) +\frac{v_\mathrm{r}}{2}\left( 1+\tanh \left( \kappa \left( x-x_{0}^{\mathrm{v}}\right) \right) \right) \end{pmatrix}, \end{aligned}$$
(55)

where \(x_{0}^{\mathrm{u}},x_{0}^{\mathrm{v}}\) denote the positions of the centre points of the waves of \(u\) and \(v\), and \(\kappa \) indicates the steepness of both initial waves.

5.2 Results

In Sect. 4.5, we obtained four profiles with \(\lambda =0.01,0.42,0.58,0.99\) shown in Fig. 11b. Here these travelling wave solutions are simulated with the adaptive grid code. It was tested that all other travelling wave solutions with values of \(\lambda \in (0,1)\) can be produced in the same way.

Fig. 13
figure 13

Numerical computations for the initial and boundary resp. limit conditions of Eq. (55) and Table 7. a The initial profile. b The early time history of the front with a time step of 3 and c the early time history of the adaptive grid between \(t=0\) until \(t=30\). d The stationary saturation profile at \(t=100\) which looks identical to the profile in Fig. 11b with \(\lambda =0.01\). e The time history of the front with a time step of 10 and c the time history of the adaptive grid between \(t=0\) until \(t=100\). The subfigures where the adaptive grid is shown display the locations of the fronts for each time

Figure 13 consists of six subfigures. Figure 13a shows the initial profile of Eq. (55) with parameters from Table 7. Both fronts for \(u\) and \(v\) have the same profile, but the \(u\)-wave is shifted 15 units to the right. Figure 13b displays the early time history of the front, and Fig. 13c shows the early time history of the adaptive grid between \(t=0\) until \(t=30\) with a time step of 3. In Fig. 13d, the profiles at \(t=100\) are displayed. Figure 13e shows the time history of the front, and Fig. 13f shows the time history of the adaptive grid between \(t=0\) until \(t=100\) with a time step of 10. In the subfigures which show the moving grid, there are lines which are close together. This is where fronts are located in the \((x,t)\)-plane. The figures depict clearly that from \(t=30\) a profile has formed with speed \(c=1\) that does not change its shape. The numerical profile in Fig. 13d corresponds exactly to the quasi-analytic profile with parameter \(c=1,K_u=0,K_v=0,\lambda =0.01\) shown in Fig. 11. Figure 13b, c indicates how the stationary profile is formed out of the monotonic hyperbolic tangent initial profile. Figure 13c shows two main fronts, where the left one represents the \(v\)-front and the right one the \(u\)-front, respectively. Further, one can see another smaller front between \(t=0\) and \(t=30\) that connects the left with the right front. This front is flatter, and therefore, its speed is higher than for the other fronts. It is also the key to understand the overshoot behaviour. It develops at the position where the \(u\)-saturation is constant and where the \(v\)-saturation changes. In the region between the \(u\)- and the \(v\)-front, the flow function \(f_{u}\) is lower than in the region behind the \(u\)- and the \(v\)-front due to the higher \(v\)-value. This means that more \(u\)-saturation flows into this region than out of this region. This leads to an overshoot in the saturation profile which moves faster than the remaining part of the wave. At some point in time, it hits the main \(u\)-front. The overshoot grows until the main front reaches a value such that it obtains the same speed as the \(v\)-wave. From then on, the system is stationary and moves with a constant speed. In the final profile, one observes that the distance between the two main fronts compared to the original profile has decreased from 15 to 10 spatial units. This corresponds with the conservation of mass in the PDE system.

Table 7 Boundary resp. limit values and parameters for the initial conditions (55) used in Figs. 13, 14, 15 and 16

Figures 14, 15 and 16 are structured as Fig. 13. Their initial data for Eq. (55) are given in Table 7. The discussion is analogous to Fig. 13, but it is left out here due to limited space. These figures indicate that all analytically found profiles can be found with the adaptive grid code.

Finally, we explain the meaning of the parameter \(\lambda \) that we have found in the quasi-analytic section. Equation (55) allows to define the shift \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}\) between the initial u-profile and initial v-profile:

$$\begin{aligned} \varDelta ^{\mathrm{u}}_{\mathrm{v}}=x_{0}^{\mathrm{u}}-x_{0}^{\mathrm{v}}. \end{aligned}$$
(56)

This shift \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}\) and the parameter \(\lambda \) define a one-to-one relation such that for each quasi-analytically found saturation profile with parameter \(\lambda \) there exists an identical numerically found saturation profile with shift \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}\) in the initial conditions. From Sect. 4.5.2 we know that the parameter \(\lambda = 0\) corresponds to the orbits that connect the saddle (1/2,0) with the nodes, while \(\lambda = 1\) corresponds to the orbits that connect the saddle (0, 1 / 2) with the nodes. In the first case, we have \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}=\infty \), and in the second case, we have \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}= - \infty \). For general \(0 < \lambda < 1\), there exists a symmetric relation \(\lambda (\varDelta ^{\mathrm{u}}_{\mathrm{v}})\) for every fixed \(\kappa \) in Eq. (55):

$$\begin{aligned} \lambda _{\kappa }\left( \varDelta ^{\mathrm{u}}_{\mathrm{v}}\right) =1-\lambda _{\kappa }\left( -\varDelta ^{\mathrm{u}}_{\mathrm{v}}\right) . \end{aligned}$$
(57)

For example, the parameter \(\kappa = \frac{1}{8}\) yields \(\lambda _{\frac{1}{8}}(0.92)=0.42\). With this identification, it is possible to formulate the relation between the bifurcations in Table 6 and the shift \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}\) in Eq. (56). This is given in Table 8. Therefore, the degree of freedom that was found in the quasi-analytical section using the ODE system can be explained by the degree of freedom that exists in the initial conditions of the underlying PDE system.

Fig. 14
figure 14

Numerical computations for the initial and boundary resp. limit conditions of Eq. (55) and Table 7. a The initial profile. b The early time history of the front with a time step of 3 and c the early time history of the adaptive grid between \(t=0\) until \(t=30\). d The stationary saturation profile at \(t=100\) which looks identical to the profile in Fig. 11b with \(\lambda =0.42\). e The time history of the front with a time step of 10 and c the time history of the adaptive grid between \(t=0\) until \(t=100\). The subfigures where the adaptive grid is shown display the locations of the fronts for each time

Fig. 15
figure 15

Numerical computations for the initial and boundary resp. limit conditions of Eq. (55) and Table 7. a The initial profile. b The early time history of the front with a time step of 3 and c the early time history of the adaptive grid between \(t=0\) until \(t=30\). d The stationary saturation profile at \(t=100\) which looks identical to the profile in Fig. 11b with \(\lambda =0.58\). e The time history of the front with a time step of 10 and c the time history of the adaptive grid between \(t=0\) until \(t=100\). The subfigures where the adaptive grid is shown display the locations of the fronts for each time

Fig. 16
figure 16

Numerical computations for the initial and boundary resp. limit conditions of Eq.(55) and Table 7. a The initial profile. b The early time history of the front with a time step of 3 and c the early time history of the adaptive grid between \(t=0\) until \(t=30\). d The stationary saturation profile at \(t=100\) which looks identical to the profile in Fig. 11b with \(\lambda =0.99\). e The time history of the front with a time step of 10 and c the time history of the adaptive grid between \(t=0\) until \(t=100\). The subfigures where the adaptive grid is shown display the locations of the fronts for each time

6 Summary

In this paper, we construct travelling wave solutions for a nonlinear system of PDEs. Using a dynamical system approach, we characterize different kinds of solutions. A novel method of analysis enables us to give a complete representation of the five-dimensional functionality between the wave velocity and the boundary resp. limit conditions. Eight classes of topologically different phase portraits were identified. For each class, all velocities, boundary resp. limit values and integration constants were found. The results depend strongly on the nonlinear and coupled flow functions. In contrast to a single fractional flow equation, the PDE system in this paper exhibits non-monotonic waves and waves with a plateau shape. These findings are consistent with fingering in a three-phase model found in Kissling (2005). A whole range of different behaviour takes place for the same boundary resp. limit values and velocities due to an additional degree of freedom hidden in the initial conditions. These complex results give hope that the PDE model gives insight in the modelling process of non-monotonic phenomena, for example, in multiphase flow in porous media. However, we do not believe that the physical mechanism is the one described here. We realize that, for a realistic comparison between theory and experiment, we should consider a generalized model, such as the model accounting for nonpercolating fluid parts as described, for example, in Hilfer (1998, 2006a, b, c). Moreover, all derived travelling waves seem to be stable in the space-time domain. This result was confirmed by applying an efficient and accurate adaptive grid PDE solver to the original time-dependent PDE system.

Table 8 Bifurcations with parameters \(\varDelta ^{\mathrm{u}}_{\mathrm{v}}\) and \(\kappa =\frac{1}{8}\)