2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 13:27 


17/01/12
445
ArtDen, по идее любой волновой пакет будет расплываться (в пространстве без потенциала), у меня он так быстро расходится скорее из-за того, что я везде беру большой шаг по времени и пространству($\Delta=1-0.1$). Да и начальные значения ВФ у меня задаются не суперпозицией пл.волн. Но это пока как начало, ибо расплывание, масштабность коэффициентов и жуткая пикселизация меня тоже не радуют.
Считает отн.долго, например, при сетке 100x100 и 60 тактов по времени занимает чуть менее 30 сек. Но это отчасти из-за "переменных направлений" (шаг по времени делится пополам) и не до конца оптимизированного кода (Mathematica). Было бы интересно узнать какие параметры модели у вас. Как осуществили переход с неявной 1d-схемы на неявную 2d-схему? А увидеть анимацию -- вообще здорово :)

arseniiv в сообщении #1009789 писал(а):
Да ещё и кодом поделились. :appl: (Потом поизучаю!)

Спасибо! :) Было бы замечательно: наверняка, есть что в нем исправить, и что предложить

-- 01.05.2015, 14:42 --

kw_artem в сообщении #1009875 писал(а):
Но это отчасти из-за "переменных направлений" (шаг по времени делится пополам)

Если у нас в одномерной модели по к-л неявной схеме время расчета составляет $T$, то при переходе на двухмерную по той же неявной схеме+"пер.напр." время $T$ увеличится по крайней мере в 2N раз (сетка NxN): по сетке проход идет по всем направлениям вдоль оси X, а потом всем направлениям вдоль Y.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 13:59 
Аватара пользователя


08/08/14
181
kw_artem в сообщении #1009875 писал(а):
Было бы интересно узнать какие параметры модели у вас. Как осуществили переход с неявной 1d-схемы на неявную 2d-схему?
Я сделал в два этапа: 1) это просчёт всех столбцов 1d-схемой с шагом по времени $t/2$, 2) просчёт того, что получилось на перовом этапе, но уже по строкам с тем же шагом по времени. Не знаю, насколько это правильно, но это работает.

kw_artem в сообщении #1009875 писал(а):
А увидеть анимацию -- вообще здорово :)
Это только когда я вернусь к этой теме )

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 14:06 


17/01/12
445
ArtDen в сообщении #1009882 писал(а):
Я сделал в два этапа: 1) это просчёт всех столбцов 1d-схемой с шагом по времени $t/2$, 2) просчёт того, что получилось на перовом этапе, но уже по строкам с тем же шагом по времени. Не знаю, насколько это правильно, но это работает.

У меня абсолютно так же, видимо действительно надо оптимизировать, считает долго по сравнению с вашим. А модель делали не в Mathematica, в Си навреное?

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 14:17 
Аватара пользователя


08/08/14
181
kw_artem в сообщении #1009883 писал(а):
А модель делали не в Mathematica, в Си навреное?

Да, в Си. Систему уравнений решал методом циклической редукции, подсмотренным здесь: http://www.hpcc.unn.ru/file.php?id=660 (по ссылке - методичка лабораторной работы в pdf-формате). У метода есть большой минус. По сравнению с методом прогонки, он не даёт нормально задавать граничные условия. По крайней мере я так понял. Или просто не разобрался ))

-- 01.05.2015, 17:08 --

ArtDen в сообщении #1009840 писал(а):
[Мне удалось сделать расчёт практически в реальном времени для поля 1024x1024
Прочитал и понял, что написал фигню. Не расчёт в реальном времени (а шаг по времени у меня - $10^{-8}$ сек, да и вообще все значения не обезразмеренные), а анимацию, которую можно смотреть сразу же в процессе расчётов без сильной задержкой между кадрами.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 15:09 
Заслуженный участник
Аватара пользователя


30/01/06
72407
ArtDen в сообщении #1009840 писал(а):
Во первых, почему свободная частица расходится?

Потому что это общее свойство уравнения Шрёдингера.

ArtDen в сообщении #1009840 писал(а):
В той теме мне удалось добиться для свободной частицы, чтобы она пролетала от одной границы поля до другой без искажений.

А вот если вы этого добились, то расскажите как. Варианты могут быть разные:
- вы не решали уравнения Шрёдингера;
- вы не заметили расхождения из-за малости;
- вы его убрали какими-то способами...

kw_artem в сообщении #1009875 писал(а):
ArtDen, по идее любой волновой пакет будет расплываться (в пространстве без потенциала), у меня он так быстро расходится скорее из-за того, что я везде беру большой шаг по времени и пространству($\Delta=1-0.1$).

По сути, это зависит от параметров начального пакета, и от масштабов по времени и по координате, в которых решается задача.

Оценить можно чисто из элементарных квантовых формул. Пусть пространственный размер пакета $\delta x,$ тогда по соотношению неопределённостей
$$\delta p\sim\dfrac{\hbar}{\delta x}$$ (нижняя граница с коэффициентом $\hbar/2$ достигается на гауссовском пакете, но для большинства локализованных пакетов оценка будет того же порядка). Тогда для скорости
$$\delta v\sim\dfrac{\hbar}{m\,\delta x},$$ и за время симуляции $\Delta t$ пакет расплывётся на величину $\delta v\,\Delta t.$ Осталось только перевести $\hbar$ и $m$ в модельные единицы - или можно посмотреть на заложенное в модель уравнение Шрёдингера, и $(\hbar/m)$ будет коэффициентом между членами $i\dfrac{\partial\Psi}{\partial t}$ и $-\Delta\Psi.$

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 15:14 
Аватара пользователя


08/08/14
181
Munin в сообщении #1009903 писал(а):
А вот если вы этого добились, то расскажите как. Варианты могут быть разные:
- вы не решали уравнения Шрёдингера;
- вы не заметили расхождения из-за малости;
- вы его убрали какими-то способами...

Скорее всего не заметил. Смысла убирать что-либо или не решать уравнение Шрёдингера у меня не было )

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 15:45 


17/01/12
445
Сейчас испытаю модель на гауссовском пакете да прикинем как должен расплываться.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 16:11 
Заслуженный участник
Аватара пользователя


30/01/06
72407
ArtDen в сообщении #1009905 писал(а):
Скорее всего не заметил.

Тогда просто сравните с приведённой формулой. У вас расхождение могло быть малым, при ваших параметрах моделирования (коэффициенты в УШ, шаг сетки по координате и по времени, размер пакета, полное время моделирования).

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 17:15 


17/01/12
445
Вот что получилось: анимация, при начальном условии:
$$\psi_0=\frac 1 {\sqrt{2\pi\sigma^2}}\exp\left(\frac {ip_0x}\hbar - \frac{(x-x_0)^2+(y-y_0)^2}{4\sigma^2}\right),$$
где $\sigma=2$ -- среднеквадратичное отклонение координаты, $p_0 = 0.75$, и параметрах модели: 100x100 точек, число врем.шагов = 60, $\Delta x=0.1, \Delta t=1.0, \hbar=1, m=100.$

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 18:17 
Аватара пользователя


08/08/14
181
Munin в сообщении #1009947 писал(а):
Тогда просто сравните с приведённой формулой.
К сожалению, минимум через месяц вернусь к этой теме...

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение01.05.2015, 19:43 
Заслуженный участник
Аватара пользователя


30/01/06
72407
kw_artem
Не понимаю, $\delta v\,\Delta t\sim\dfrac{60}{100\cdot 2\cdot 0{,}1}=3.$

Наверное, я прокосячил с оценкой $\delta v\,\Delta t.$ Потому что $\delta p=0{,}25$ на глаз похоже на правду.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение02.05.2015, 16:07 


17/01/12
445
Munin, нет, все правильно, мы забыли перевести из реальных единиц длины в модельные. Делим 3 на 0.1 и на 2 (для гаусс.пакета берём $\hbar/2$) и получаем 15 (в модельных единицах). Осталось только посмотреть соответствует ли это анимации, что сейчас я и сделаю.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение02.05.2015, 16:25 
Заслуженный участник
Аватара пользователя


30/01/06
72407
А, если $m$ у вас в модельных единицах, то тогда может быть...

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение02.05.2015, 16:36 


17/01/12
445
До и после
ИзображениеИзображение
Раскраска соответствует распределению плотности вероятности $\sigma, 2\sigma, 3\sigma$.

-- 02.05.2015, 17:49 --

(Оффтоп)

Я тут посмотрел, оказывается для гаусс.пакета возможно проведение аналит.расчета, напр., Коэн-Таннуджи, Диу, Лалоэ. Квантовая механика. Том I, стр.72. И расплывание будет происходить по точной формуле:
$$\sigma(t)=\sigma_0\sqrt{1+\frac{\hbar^2t^2}{4m^2\sigma^4_0}},$$
а у нас $\frac{\hbar^2t^2}{4m^2\sigma^4_0}>>1$, и получается как раз $\sigma(t)=\frac{\hbar}{2\sigma m}t$.

 Профиль  
                  
 
 Re: [Mathematica 8] Оптимизация модели ур-я Шрёдингера
Сообщение02.05.2015, 16:56 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Во, вот я как раз боялся, что ошибся в этом смысле, то есть, надо брать от этой формулы не линейную часть. Но вы меня успокоили.

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

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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