I am trying to solve a first-order nonlinear PDE of the form $$ \partial_t z(t,x) = f(t, x, z(t,x), \partial_x z(t,x)) $$ with the boundary condition $$ z(0,x) = \phi(x) $$ for some finite domain $x \in (-b,b)$ and $t \in (0, t_f)$.
This is certainly a well-defined PDE given that $f$ and $\phi$ are smooth functions as we can cumulatively construct $z(t+\Delta t,x)$ from the profile $z(t,x)$ with small enough $\Delta t$. (Please find the link for more rigorous setting http://www.emis.de/journals/UIAM/PDF/40-15-30.pdf )
However, if I use NDSolve
to find a solution, I get the following warning
NDSolveValue::bcart: "Warning: an insufficient number of boundary conditions have been specified for the direction of independent variable x. Artificial boundary effects may be present in the solution. \!\(\*ButtonBox[\">>\",Appearance->{Automatic, None},BaseStyle->\"Link\",ButtonData:>\"paclet:ref/message/NDSolveValue/bcart\",ButtonNote->\"NDSolveValue::bcart\"]\)"
It seems that Mathematica imposes an artificial additional boundary condition to solve the equation which makes me unpleasant. Is there any other algorithm that safely solves this type of equation only using the given boundary condition?
To have an example, please see the following(which is originally given in the above link),
f[t_, x_] = 1 + x^3 - 1/2 Sin[1 + 3 x^2 t];
sol = NDSolveValue[{D[z[t, x], t] == 1/2 Sin[1 + D[z[t, x], x]] + f[t, x], z[0, x] == 0},
z, {t, 0, 1}, {x, 0, 2}]
This equation have an exact solution $t(1+x^3)$ and the above mathematica code seems to yield the desired value. However I also can find more complicated examples showing the additional boundary condition results in the wrong solution.