2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Решение системы УрЧП Mathematica
Сообщение19.05.2019, 19:39 
Уважаемые коллеги, прошу помощи в решении системы УрЧП в Mathematica 11.3.

Код:
NDSolveValue[{
  \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(h[t, x, y]\)\) == d \!\(
\*SubscriptBox[\(\[PartialD]\), \(y, y\)]\(h[t, x, y]\)\),
  \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(u[t, x]\)\) == -(1/c) 1/T \!\(
\*SubscriptBox[\(\[PartialD]\), \(x\)]\(u[t, x]\)\) -
    b/c (0.5 M + Q) (u[t, x] - w[t, x]), \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(v[t, x]\)\) == -(1/c) 1/T \!\(
\*SubscriptBox[\(\[PartialD]\), \(x\)]\(v[t, x]\)\) +
    R b/c (2 u[t, x] (1 - u[t, x]) - v[t, x]) +
    M b/c (u[t, x] (1 - w[t, x]) + w[t, x] (1 - u[t, x]) - v[t, x]) +
    Q b/c (2 w[t, x] (1 - w[t, x]) - v[t, x]),
   \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(w[t,
      x]\)\) == (0.5 M + Q) (u[t, x] - w[t, x]) -
     d*Derivative[0, 0, 1][h][t, x, y] /. y -> 0,
  u[0, x] == 0,
  v[0, x] == 0,
  w[0, x] == 0,
  h[0, x, y] == 0,
   u[t, 0] == 1/(1 + E^(-((t - 200.84)/1.0614)))^1.333,
   v[t, 0] == 0
  }, {h, u, v, w}, {x, 0, 1}, {y, 0, 1}, {t, 0, 100}]


возвращает
Код:
Function::fpct: Too many parameters in {t,x,y} to be filled from Function[{t,x,y},0][t,x].

Function::fpct: Too many parameters in {t,x,y} to be filled from Function[{t,x,y},0][t,x].

Transpose::nmtx: The first two levels of {NDSolve`xs$21505,u,v,w} cannot be transposed.

Part::partw: Part 2 of Transpose[{NDSolve`xs$21505,u,v,w}] does not exist.

Transpose::nmtx: The first two levels of {NDSolve`xs$21505,Function[{t,x,y},0],Function[{t,x,y},0],Function[{t,x,y},0]} cannot be transposed.

Part::partw: Part 2 of Transpose[{NDSolve`xs$21505,Function[{t,x,y},0],Function[{t,x,y},0],Function[{t,x,y},0]}] does not exist.

Set::partw: Part 2 of Transpose[{NDSolve`xs$21505,u,v,w}] does not exist.

Rule::argr: Rule called with 1 argument; 2 arguments are expected.


Спасибо за любую помощь и советы в решении проблемы.

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение19.05.2019, 21:55 
Если убрать первое уравнение диффузии и связанную с ним первую производную из уравнения 4 вместе в начальными условиями, то система решается. Возможно, я неправильно записываю первую производную в точке $y=0$ в уравнении 4?

Ниже "решаемая" система без диффузии
Код:
NDSolveValue[{
   
    \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(u[t, x]\)\) == -(1/c) 1/T \!\(
\*SubscriptBox[\(\[PartialD]\), \(x\)]\(u[t, x]\)\) -
        b/c (0.5 M + Q) (u[t, x] - w[t, x]), \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(v[t, x]\)\) == -(1/c) 1/T \!\(
\*SubscriptBox[\(\[PartialD]\), \(x\)]\(v[t, x]\)\) +
        R b/c (2 u[t, x] (1 - u[t, x]) - v[t, x]) +
        M b/
      c (u[t, x] (1 - w[t, x]) + w[t, x] (1 - u[t, x]) - v[t, x]) +
        Q b/c (2 w[t, x] (1 - w[t, x]) - v[t, x]),
     \!\(
\*SubscriptBox[\(\[PartialD]\), \(t\)]\(w[t,
     x]\)\) == (0.5 M + Q) (u[t, x] - w[t, x]),
    u[0, x] == 0,
    v[0, x] == 0,
    w[0, x] == 0,
   
     u[t, 0] == 1/(1 + E^(-((t - 200.84)/1.0614)))^1.333,
     v[t, 0] == 0
    }, {u, v, w}, {x, 0, 1}, {t, 0, 100}]

Спасибо за любую помощь

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение19.05.2019, 21:58 
Эту?: Derivative[0, 0, 1][h][t, x, y] /. y -> 0
Да, наверно стоит писать или Derivative[0, 0, 1][h][t, x, 0], или (D[h[t, x, y], y] /. y -> 0) Не знаю, насколько второе будет понято, но первое должно бы. (Не проверял, у меня восьмая версия и нету NDSolveValue.)

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение19.05.2019, 22:53 
Спасибо! Попробовал, проблема осталась.
Правильно ли я понимаю, что первая ошибка, что возвращает $Mathematica$, указывает на то, что ей не нравится количество переменных в функции $h$? И то, что в остальных функциях их (переменных) только две?

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение19.05.2019, 23:49 
Не рискну ничего конкретного утверждать (такое не попадалось), но проблема с количеством аргументов где-то точно. Пока не пришёл кто-то ближе с этим сталкивавшийся, можно попробовать заменить {h, u, v, w} на {h[t, x, y], u[t, x], v[t, x], w[t, x]} — может статься, что проблема применения не того числа аргументов возникает именно при попытке системы списки аргументов здесь восстановить.

Если вдруг поможет — хорошо. Не могу предугадать, должно ли, если сработает, это убрать остальные ошибки.

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение20.05.2019, 18:57 
arseniiv, спасибо! Попробовал Ваш вариант, не помогло.
Видимо, она понимает, сколько переменных в какой функции, но не хочет переваривать это. Может быть, у кого-то есть еще идеи или похожие примеры, у меня фантазия закончилась.

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение21.05.2019, 10:34 
В этом посте сказано, что NDSolve не умеет решать системы с функциями, имеющими разные области определения. Как вариант, можно все определить все функции от аргументов $t,x,y$ и добавить уравнения $\partial_yv(t,x,y)=0,\ldots$ Вдруг зарешает :-)

 
 
 
 Re: Решение системы УрЧП Mathematica
Сообщение21.05.2019, 20:20 
Vince Diesel, большое спасибо за ссылку, очень ценная информация, пойду изучать.
Переопределение функций от двух переменных функциями от трех переменных с дополнительными условиями на $\partial _y$ к успеху не привело - Mathematica продолжила возвращать ошибку, правда теперь связанную с переопределенностью системы.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group