PDE 풀기 $\partial_t u = \partial_x (u^2 \partial_xu)$

Sep 19 2020

Mathematica를 사용하여 다음 방정식을 풀려고합니다. $$\partial_t u = \partial_x (u^2 \partial_xu)$$ 와 $$u(0,t)=u(1,t)=0$$ 과 $$u_0(x)=\sin(\pi x)$$파이썬으로 개발 한 수치 적 방법을 확인하기 위해. 내가 시간에 얻는 것$t=1$ Python은 다음과 같습니다.

Mathematica를 사용하여 솔루션이 내가 얻은 것과 동일한 지 확인하고 싶지만 익숙하지 않기 때문에 그렇게 할 수 없으며 확인이 필요합니다.

모든 확인 또는 확인은 매우 감사합니다!

답변

5 chris Sep 19 2020 at 02:31

어때

sol = NDSolveValue[{
   D[u[x, t], t] == D[u[x, t]^2 D[u[x, t], x], x],
   u[0, t] == 0, u[1, t] == 0, u[x, 0] == Sin[Pi x]}
  , u, {x, 0, 1}, {t, 0, 1}]

그때

Plot[sol[x, t] /. t -> Range[0, 5]/5 // Evaluate, {x, 0, 1}, 
 PlotLegends -> Range[0, 5]/5, PlotStyle -> ColorData[10]]