NDSolve can easily handle the PDE system $$\partial_t y = \partial_z w \quad\quad \partial_t w = \partial_z y $$ along with initial-boundary conditions $$w(t,0)=w(t,-1)=0\quad\quad w(0,z)=-sin^2(z\pi)\quad\quad y(0,z)=1$$ for $(t,z)\in[0,1]\times[-1,0]$.

Lets call this problem A.

The above PDE system can be altered as $$\partial_t y = \partial_z w \quad\quad \partial_t w = (1+x)\partial_z y \quad \quad \partial_z x=w $$ the initial-boundary conditions $$w(t,0)=w(t,-1)=0\quad\quad w(0,z)=-sin^2(z\pi)\quad\quad y(0,z)=1$$ being supplemented by $$ x(t,0)=0 \quad\quad x(0,z)=x_0(z) $$ where $x_0(z)$ is the solution of $$x_0'(z)=w(0,z)\quad\quad x_0(0)=0$$

Lets call this problem B.

From a mathematical point of view if boundary conditions for $w$ and $y$ suffice for problem A then they should be also sufficient for problem B. And of course supplementary boundary condition for $x$ is enough.

However mathematica warns that "an insufficient number of boundary conditions have been specified" and as a result "Artificial boundary effects may be present in the solution".

So there must be something wrong with my code

(*Constructing initial conditions*)
wo[z_] := -Sin[z*π]^2
yo[z_] := 1
s = NDSolve[{x'[z] == wo[z], x[0] == 0}, {x}, {z, 0, -1}] 
xo[z_] := First[x[z] /. s]

(*Evolution of initial conditions towards t=1*)
equations := {D[yt[t, z], t] == D[wt[t, z], z], 
  D[wt[t, z], t] == (xt[t, z] + 1)*D[yt[t, z], z], 
  D[xt[t, z], z] == wt[t, z], wt[0, z] == wo[z], yt[0, z] == yo[z], 
  wt[t, 0] == 0, wt[t, -1] == 0, xt[t, 0] == 0, xt[0, z] == xo[z]}
system = NDSolve[equations, {wt , yt, xt}, {z, 0, -1}, {t, 0, 1}]

I cannot see what went wrong. Can anyone help?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy