2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Разностная схема для уравнения переноса
Сообщение16.12.2020, 23:55 


16/12/20
19
Добрый вечер, помогите понять ошибку, составил РС и точное решение. Точное ощущение, что допустил ошибку, потому что на всех временах слоях кроме 0-го получаю расхождение графиков.
но при подстановки вроде все получается.
Может кто-то оценить решение и помочь найти ошибку, если она есть?
Вот дана система, решаем редукцией:
$\begin{array}{l}u_t+0.4u_x=\ln\left(1+t\right)\ -\ 2x\\u\left(x,0\right)=e^{-\frac{x}{2}}\end{array}$
Берем неоднородность:
$
\begin{aligned}u_t+0.4U_x=\ln\left(1+t\right)-2x\\_{\begin{aligned}u_t-\ln\left(1+t\right)+0.4U_x-2x=0\\\end{aligned}}\end{aligned}
$
интегрируем и получаем
$
\left(u-\left(1+t\right)\ln\left(1+t\right)+t\right)_t+0.4\left(u+\frac{x}{0.4}^2\right)_x=0
$

$\left(u-\left(1+t\right)\ln\left(1+t\right)+t+\frac{x}{0.4}^2\right)_t+0.4\left(u-\left(1+t\right)\ln\left(1+t\right)+t+\frac{x}{0.4}^2\right)_x=0$
Подбираем $v$:
$
v=u-\left( 1+t\right) \ln \left( 1+t\right) +t+\dfrac{x^{2}}{0.4}$
Система:
$
\begin{array}{l}v_x+v_t=0\\v\left(x,0\right)=e^{-\frac{x}{2}}+2.5x^2\end{array}$
Ну далее , интегрируем снова, как в методе характеристик, и выражаем $x$ и константу.
$
\begin{array}{l}dx=\frac{dt}{0.4}\\C_{1}=x-2,5t\end{array}$
Составляем полное решение.
$
v\left(x,t\right)=F\left( x,t\right) \Rightarrow v\left( x,0\right) =F\left( x\right) =e^{-\dfrac{x}{2}}+2,5x^{2}

\begin{array}{l}v\left(x,t\right)=F\left(x,t\right)=e^{-\frac{\left(x-2.5t\right)}{2}}+2,5\left(x-2.5t\right)^2\\u\left(x,t\right)=e^{-\frac{\left(x-2.5t\right)}{2}}+2,5\left(x-2.5t\right)^2+\left(1+t\right)\ln\left(1+t\right)-t-2.5x^2\end{array}
$
Для РС использование левый уголок. $C = -0,4$ на участке от $0,2$ до $2,2$. Также $T=1,9$, после 0-го слоя графики расходятся.
Если надо, могу приложить код на языке R.

 Профиль  
                  
 
 Posted automatically
Сообщение16.12.2020, 23:58 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- решение с картинки наберите здесь, пож-ста, а ссылку уберите.
- (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);


Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение17.12.2020, 17:31 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 18:01 
Заслуженный участник
Аватара пользователя


01/08/06
3124
Уфа
goolqwe в сообщении #1496860 писал(а):
$$
\begin{array}{l}dx=\frac{dt}{0.4}\\C_{1}=x-2,5t\end{array}$$
Подождите-ка, разве здесь не должно быть наоборот? $$\begin{array}{l}dx=0.4 dt\\C_{1}=x-0.4t\end{array}$$

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 19:47 


16/12/20
19
worm2 в сообщении #1496957 писал(а):
goolqwe в сообщении #1496860 писал(а):
$$
\begin{array}{l}dx=\frac{dt}{0.4}\\C_{1}=x-2,5t\end{array}$$
Подождите-ка, разве здесь не должно быть наоборот? $$\begin{array}{l}dx=0.4 dt\\C_{1}=x-0.4t\end{array}$$

Несильно отражается на результате, а конкретнее так:
$2.5(x-0.4t)^2-t+(1+t)\log(1+t)+e^{-\frac{\left(x-0.4t\right)}{2}}-2.5x^2$
Графики также разошлись.
на нулевом:
Изображение
при T/3:
Изображение

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 20:10 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
А какие графики с какими разошлись?

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 20:19 


16/12/20
19
StaticZero в сообщении #1496973 писал(а):
А какие графики с какими разошлись?

Я составил аппроксимирующую РС для этого уравнения переноса.
и сравниваю точное решение и РС на нескольких временных слоях( T конечено же одинаковая выбирается у точного решения и РС).
РС составил как на картинки формула (6) в учебнике, только знаки наооборот, потому что у меня скорость С=-0,4 отрицательная.
Изображение

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 21:05 
Заслуженный участник
Аватара пользователя


22/06/12
2129
/dev/zero
Эээ... какая гадость ваша разностная схема в производных врёт (причём в знаках!!). Лучше по шагам покажите, как делаете.

(Аналитическое решение не проверял, верю вам на слово, что оно в самом деле решение)

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 21:36 


16/12/20
19
StaticZero в сообщении #1496979 писал(а):
Эээ... какая гадость ваша разностная схема в производных врёт (причём в знаках!!). Лучше по шагам покажите, как делаете.

(Аналитическое решение не проверял, верю вам на слово, что оно в самом деле решение)

$\dfrac{\partial u}{\partial t}-C\dfrac{\partial u}{\partial x}=\varphi \left( x,t\right) $
$U\left( x,0\right) =\psi \left( x\right) $
Берем левый уголок, надеюсь без картинки понятно:
$\frac{U_m^{n+1}-U_m^n}{\tau}-\frac{U_m^n-U_{m-1}^n}{h}\cdotс=\varphi_m^n
$U_m^0=\psi_m$
разрешив получим:
$U_m^{n+1}=\left(1+c\cdot r\right)U_m^n-c\cdot rU_{m-1}^n-\tau\varphi_m^n$
Спектральная оценка дает r от 0 до 1.
$\tau=rh\ $
C = -0.4
Ну вот так примерно понятно? Тут просто, много телодвижений, если писать вывод в ЛаТехе.
Конкретно эта формула считает значения у меня.

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 22:16 
Заслуженный участник
Аватара пользователя


01/08/06
3124
Уфа
Попробую малой кровью, не закапываясь в детали вычислений, дать совет.
Можно сначала попробовать решить более простую задачу, с нулевой правой частью, но таким же начальным условием. Тогда от точного решения останется компактное $u(x, t) = e^{-(x-0.4t)/2}$, в котором меньше шансов ошибиться.
Для сеточного решения такой упрощённой задачи (возможно, что и для сеточного решения полной, но, как уже сказал, хочу малой кровью обойтись) будет выполняться правило: если на предыдущем слое сеточное решение убывает (а на нулевом слое оно убывает), то и на следующем слое тоже будет убывать (сейчас у вас оно возрастает, как я понял). Больше того, решение в точке на следующем слое будет усреднённым значением точек на предыдущем слое, из которых оно вычислялось. Если у вас это получилось, можно переходить к полной задаче с ненулевой правой частью, если нет — ошибка локализована в построении схемы или вычислениях по этой схеме (где везде очень простые формулы).

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение17.12.2020, 22:38 


16/12/20
19
worm2 в сообщении #1496990 писал(а):
Попробую малой кровью, не закапываясь в детали вычислений, дать совет.
Можно сначала попробовать решить более простую задачу, с нулевой правой частью, но таким же начальным условием. Тогда от точного решения останется компактное $u(x, t) = e^{-(x-0.4t)/2}$, в котором меньше шансов ошибиться.
Для сеточного решения такой упрощённой задачи (возможно, что и для сеточного решения полной, но, как уже сказал, хочу малой кровью обойтись) будет выполняться правило: если на предыдущем слое сеточное решение убывает (а на нулевом слое оно убывает), то и на следующем слое тоже будет убывать (сейчас у вас оно возрастает, как я понял). Больше того, решение в точке на следующем слое будет усреднённым значением точек на предыдущем слое, из которых оно вычислялось. Если у вас это получилось, можно переходить к полной задаче с ненулевой правой частью, если нет — ошибка локализована в построении схемы или вычислениях по этой схеме (где везде очень простые формулы).

Как-то так.
Изображение
Изображение

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение18.12.2020, 00:06 
Заслуженный участник


10/01/16
2318
goolqwe
Как я понял, Вы желаете найти решение на отрезке $[0,2]$ при $t=3,r=\frac{1}{2}$, например. Правда ли, что для этого Вы считали решение на, скажем, первом слое при всех $x\in [-6,2]$ ?

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение18.12.2020, 08:27 
Заслуженный участник
Аватара пользователя


23/08/07
5487
Нов-ск
goolqwe в сообщении #1496984 писал(а):
$\frac{U_m^{n+1}-U_m^n}{\tau}-\frac{U_m^n-U_{m-1}^n}{h}\cdotс=\varphi_m^n
$U_m^0=\psi_m$
разрешив получим:
$U_m^{n+1}=\left(1+c\cdot r\right)U_m^n-c\cdot rU_{m-1}^n-\tau\varphi_m^n$
Спектральная оценка дает r от 0 до 1.
$\tau=rh\ $
C = -0.4
Ну вот так примерно понятно?

Понятно, что по сто раз минусы пишете и ошибаетесь.

$\frac{U_m^{n+1}+U_m^n}{\tau}+C\frac{U_m^n-U_{m-1}^n}{h}=\varphi_{m-1/2}^{n+1/2}, \;\; C>0$
$U_m^{n+1}=\left(1-C\frac{\tau}{h}\right)U_m^n+C\frac{\tau}{h}\cdot U_{m-1}^n+\tau\varphi_{m-1/2}^{n+1/2}$
$U_m^{n+1}=\left(1-C\frac{\tau}{h}\right)U_m^n+C\frac{\tau}{h}\cdot U_{m-1}^n+\tau\varphi(x_m-C\frac{\tau}{2}, t_n+\frac{\tau}{2})$

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение18.12.2020, 08:45 
Заслуженный участник
Аватара пользователя


01/08/06
3124
Уфа
goolqwe в сообщении #1496984 писал(а):
$U_m^{n+1}=\left(1+c\cdot r\right)U_m^n-c\cdot rU_{m-1}^n-\tau\varphi_m^n$
Спектральная оценка дает r от 0 до 1.
$\tau=rh\ $
C = -0.4
Хорошо, ну вот возьмём $r=0.5$. Для начала, для простоты, рассмотрим $\varphi \equiv 0$ (или вы так не брали в своих расчётах?). Получается $U_m^{n+1}=0.8 U_m^n+0.2U_{m-1}^n$, так ведь? На предыдущем слое все $U_m^n$ положительны. Все операции приводят к положительным значениям, значит, все $U_m^{n+1}$ тоже должны быть положительными. А у вас значения уверенно идут в отрицательную область. Значит, где-то здесь ошибка.

 Профиль  
                  
 
 Re: Разностная схема для уравнения переноса
Сообщение18.12.2020, 08:50 
Заслуженный участник
Аватара пользователя


23/08/07
5487
Нов-ск
worm2 в сообщении #1497022 писал(а):
Значит, где-то здесь ошибка.

$-\tau\varphi_m^n$
В знаке у него ошибка. Надо плюс.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group