Transform differential equation to an initial value problem when leading coefficient can be zero

39 Views Asked by At

I have the partial differential equation

$$a_0 y + a_1 \partial_t y + a_2 \partial_t^2 y + \partial_x^2 y = 0,$$

where $y$ is the function of interest of variables $x$ and $t$, $a_0$, $a_1$ and $a_2$ are arbitrary predefined functions of $x$ and $t$, and $y(x,t=0)$ is given as an initial condition. I want to transform it to an initial value problem

$$ \partial_t \vec Y = f(x,t,\vec Y) $$

to then solve it numerically with e.g. a predictor-corrector backward euler scheme.

If $a_2\neq0$, this is easily achieved by introducing a new variable $y^{(1)}:=\partial_t y$:

$$a_0 y + a_1 \partial_t y + a_2 \partial_t^2 y + \partial_x^2 y = 0$$ $$\Rightarrow \partial_t^2 y = a_2^{-1} \left( -a_0 y - a_1 \partial_t y - \partial_x^2 y \right) $$ $$\Rightarrow \partial_t y^{(1)} = a_2^{-1} \left( -a_0 y - a_1 y^{(1)} - \partial_x^2 y \right) $$ $$\Rightarrow \partial_t \begin{pmatrix} y^{(1)} \\ y \end{pmatrix} = \begin{pmatrix} a_2^{-1} \left( -a_0 y - a_1 y^{(1)} - \partial_x^2 y \right) \\ y^{(1)} \end{pmatrix} =: f\left(x,t, \begin{pmatrix} y^{(1)} \\ y \end{pmatrix} \right)$$

This does not work if $a_2 = 0$. If $a_2=0$ for all values of $x$ and $y$ (and $a_1\neq0$), the leading order vanishes and the equation can also easily be transformed to an initial value problem:

$$a_0 y + a_1 \partial_t y + a_2 \partial_t^2 y + \partial_x^2 y = 0$$ $$ \Rightarrow a_0 y + a_1 \partial_t y + \partial_x^2 y = 0$$ $$ \Rightarrow \partial_t y = a_1^{-1} ( - a_0 y - \partial_x^2 y ) =: f\left(x,t, y \right)$$

In both cases, I can numerically solve the differential equation with this approach. However, I have $a_2(x,y)=0$ for some values of $x$ and $y$ and $a_2(x,y)\neq0$ for others, so I am stuck.

Is there a way to transform the above differential equation into an initial value problem that works without assuming either $a_2=0$ or $a_2\neq0$? I did not find anything, but it is hard to believe for me that nobody has experienced this problem before...