2014 dxdy logo

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

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




 
 Разностная схема
Сообщение23.02.2013, 22:28 
Аватара пользователя
Добрый вечер,уважаемые участники форума.
Может ли быть так, что разностная схема (явная центральная,левый и правый явные уголки) с числом Куранта $\sigma < 1 $ является неустойчивой? Вопрос, конечно, абсурдный, но MATLAB утверждает противное.
Скалярное уравнение переноса с постоянным коэффициентом и начальным условием.
Первые шагов так 20 рисует правильную картину, но вот дальше - пики в бесконечность. Помогите, пожалуйста, разобраться.

 
 
 
 Re: Разностная схема
Сообщение24.02.2013, 12:18 
Аватара пользователя
cool.phenon в сообщении #687440 писал(а):
Помогите, пожалуйста, разобраться.
Приводите здесь схему.

 
 
 
 Re: Разностная схема
Сообщение24.02.2013, 13:34 
Аватара пользователя
Уравнение $\frac{\partial u}{\partial t}-3\frac{\partial u}{\partial x}=0;u\left( x,0 \right)=x+1;x\in \left[ -1;0 \right],\sqrt{1-{{x}^{4}}};x\in \left[ 0;1 \right];0,x\notin \left[ 0;1 \right]$.
Cхема такая :
$u_{k}^{n+1}=u_{k}^{n}+\frac{3\Delta t}{2\Delta x}\left( u_{k+1}^{n}-u_{k-1}^{n} \right)$ - для центральных узлов

$u_{k}^{n+1}=u_{k}^{n}+\frac{3\Delta t}{\Delta x}\left( u_{k+1}^{n}-u_{k}^{n} \right)$ - для последнего левого узла

$u_{k}^{n+1}=u_{k}^{n}+\frac{3\Delta t}{\Delta x}\left( u_{k}^{n}-u_{k-1}^{n} \right)$ - для последнего правого узла

Параметры таковы : уравнение решается в полосе $t\in \left[ 0;5 \right]$. Для $x$ выбираем отрезок $\left[ -2\frac{2}{3};1]$
Число шагов $N_{x}=40$, $N_{t}=320$. То есть, $\sigma =\frac{3\Delta t}{\Delta x}=0.5113$ (примерно). Число Куранта меньше единицы. Но вот что творит MATLAB :
ИзображениеИзображение

 
 
 
 Re: Разностная схема
Сообщение24.02.2013, 14:10 
Аватара пользователя
Выберите отрезок такой, что за заданное время ($t \in [0, 5]$) ненулевой участок решения не заехал за левую границу отрезка. В дифференциальной задаче задается начальное условие на отрезке и условие на правой границе. Поэтому условие справа замените на $u=0.$

Используемая схема в определенном смысле устойчива (при малых шагах по времени на конечном интервале по времени). Но в ней отсутствует схемная вязкость, поэтому нефизические осцилляции в численном решении появляются и дорастают до приводящих к аварии размеров. Либо сглаживайте решение после каждого шага по времени, либо (если хотите иметь явную схему второго порядка по $x$) аппроксимируйте производную $u_x$ не центральной разностью, а на трех узлах "против потока", в данном случае разностью вперед. В решении все равно появятся пилы, но не такое сильные, как для центральной разности. Попробуте также использовапть схему Лакса-Вендроффа.

 
 
 
 Re: Разностная схема
Сообщение24.02.2013, 14:45 
Аватара пользователя
Спасибо за разъяснение.
Насчёт того, можно ли изменить условие - пока не знаю, завтра спрошу у преподавателя. Параметры подобраны так,что носитель как раз упирается в край отрезка.
Схемой Лакса-Вендроффа я тоже буду пользоваться, это идёт как отдельный пункт.
То есть, насколько я понимаю, чем меньшее я выберу число Куранта и параметры разбиения, тем меньшими будут осцилляции, но окончательно они не исчезнут?

 
 
 
 Re: Разностная схема
Сообщение24.02.2013, 15:02 
Аватара пользователя
cool.phenon в сообщении #687611 писал(а):
То есть, насколько я понимаю, чем меньшее я выберу число Куранта и параметры разбиения, тем меньшими будут осцилляции, но окончательно они не исчезнут?

Если уменьшить шаг по времени, то придется сделать больше шагов по времени. Так что осцилляции все равно разрушат решение. Схема с центральной разностью в чистом виде непригодна для решения. Ну а условие на правой границе необходимо исправлять, какая бы схема ни использовалась.

 
 
 
 Re: Разностная схема
Сообщение02.03.2013, 22:15 
Аватара пользователя
Возвращаюсь к этой теме. Теперь немного изменились условия : носитель теперь полностью находится в границах вычисления, $N_{x}=20,N_{t}=160$. То есть, точность уменьшилась. Далее объясню, почему.
Вычисления приведены в 3 схемах : против потока, Лакса-Фридрихса,Лакса-Вендроффа.
ИзображениеИзображение
Нечто смутил сам результат. Само собой,если увеличить точность, то картина будет совсем иной. Но ресурсы моего компьютера не позволяют этого, так как вычисления с параметрами $N_{x}=60,N_{t}=480$ заняли 3 часа (процессор Intel Core 2 Duo E4500 2,2GHz).
Возникли такие вопросы :
Действительно ли схема Лакса-Фридрихса даёт меньшую точность,чем схема против потока?
Какова природа "волн" в случае схемы Лакса-Вендроффа?

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


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