Язык Wolfram Language

Дифференциальные уравнения в частных производных

Изучение образования ударной волны

Использовать уравнение Бюргерса для течения вязкой жидкости с целью изучения образования ударной волны.

In[1]:=
Click for copyable input
TraditionalForm[BurgersEquation = \!\( \*SubscriptBox[\(\[PartialD]\), \({t}\)]\(u[x, t]\)\) + u[x, t] \!\( \*SubscriptBox[\(\[PartialD]\), \({x}\)]\(u[x, t]\)\) == \[Epsilon] \!\( \*SubscriptBox[\(\[PartialD]\), \({x, 2}\)]\(u[x, t]\)\)]
Out[1]//TraditionalForm=

Задать начальное условие.

In[2]:=
Click for copyable input
InitialCondition = u[x, 0] == Piecewise[{{1, x < 0}}];

Решить начальную задачу.

In[3]:=
Click for copyable input
dsol = DSolveValue[{BurgersEquation, InitialCondition}, u[x, t], {x, t}]
Out[3]=

Решение действительно для любого положительного значения ϵ.

In[4]:=
Click for copyable input
Plot3D[dsol /. {\[Epsilon] -> 1/10}, {x, -2, 2}, {t, 0.001, 5}]
Out[4]=

В решении возникают шоковые разрывы в пределах, когда ϵ стремится к 0.

In[5]:=
Click for copyable input
Row[Table[Plot3D[dsol, {x, -2, 2}, {t, 0.001, 5}, Exclusions -> None, Ticks -> None], {\[Epsilon], {1/10, 1/100, 1/1000}}]]
Out[5]=

Родственные примеры

de en es fr ja ko pt-br zh