I wanna solve the following PDE of wave equation using Mathematica.
$u_{tt}=u_{xx}$
$0<x<\pi , t>0$
Initial Conditions:
$\begin{cases}u(x,0)=sin(x) \\u_{t}(x,0)=1\end{cases}$
Boundary Conditions:
$\begin{cases}u(0,t)+u_{x}(0,t)=1\\u(\pi,t)+u_{x}(\pi,t)=-1\end{cases}$
- I know the boundary and initial conditions are inconsistent.
Are the following codes correct?
weqn = D[u[x, t], {t, 2}] == D[u[x, t], {x, 2}];
ic = {u[x, 0] == Sin[x],Derivative[0, 1][u][x, 0] == 1 };
bc = {u[0, t] + Derivative[1, 0][u][0, t] == 1,
u[Pi, t] + Derivative[1, 0][u][Pi, t] == -1};
sol = NDSolve[{weqn, ic, bc}, u, {x, 0, Pi}, {t, 0, 10}];
u[0, t] + Derivative[1, 0][u][0, t] == 1to e.g.u[0, t] + Derivative[1, 0][u][0, t] == 100, you'll find the solution doesn't change at all. To make the solution always correct, option likeMethod -> {"MethodOfLines", "DifferentiateBoundaryConditions" -> {True, "ScaleFactor" -> 20}}is necessary. One can also turn toFiniteElementmethod, of course. Please check the linked question for more information. – xzczd Jan 19 '19 at 06:41bc = {u[0, t] - Derivative[1, 0][u][0, t] == 1 , u[Pi, t] + Derivative[1, 0][u][Pi, t] == -1};I get finite symmetric periodic solution! – Ulrich Neumann Jan 19 '19 at 13:36NDSolvetreats inconsistent i.c. and b.c., and as mentioned in my last comment, the solution is to adjustDifferentiateBoundaryConditionsoption or turn toFiniteElementmethod, which is the same as mentioned in the linked question. – xzczd Jan 19 '19 at 15:56