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
3136
Уфа
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
3136
Уфа
Попробую малой кровью, не закапываясь в детали вычислений, дать совет.
Можно сначала попробовать решить более простую задачу, с нулевой правой частью, но таким же начальным условием. Тогда от точного решения останется компактное $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
5500
Нов-ск
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
3136
Уфа
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
5500
Нов-ск
worm2 в сообщении #1497022 писал(а):
Значит, где-то здесь ошибка.

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

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

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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