2014 dxdy logo

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

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




На страницу Пред.  1, 2
 
 
Сообщение14.02.2006, 19:55 
Замечание по поводу C++ и Pascal.
В DOSовских версиях Pascal поддержка extended memory (DOSX) либо отсутствовала, либо (BP7) была не очень эффективной. Поэтому в аналогичной ситуации (ортимизация на орграфе с 20К узлов) я тоже переключился на Watcom C++ с dos4gw.

 
 
 
 
Сообщение14.02.2006, 20:10 
Аватара пользователя
:evil:
Мне трудно вспоминать былые дни. Я соглашусь с Вами, Yuri, что если нужно много памяти, то "нелинейная" модель памяти может стать проблемой. Но мне кажется, здесь проблема в первую очередь вычислительная. Скажем для 1К точек мы имеем 6К координат/скоростей, или 48К данных. Плюс куча пар -- еще 12КБ (куча, в данном случае -- структура данных). А вот вычислений -- до хрена. Мы должны моделировать достаточно плотный газ (скажем, размер сосуда должен быть заметно больше длины свободного пробега), и время будет течь ой как медленно.

 
 
 
 
Сообщение15.02.2006, 06:58 
незванный гость писал(а):
:evil:
Может быть, все-таки не имеется в виду моделирование молекул? Тогда надо найти соответствующие уравнения (дифференциальные, вестимо) и моделировать одномерное распраделение плотностей веществ (например, взяв конечные разности). И рисовать, рисовать, рисовать графики.

Такая задача выглядит вполне подъемной на любом языке.

Задача была поставлена как в теме выше (мне самому немного непонятно, а узнать проблематично),еще стоит задача демонстрации смешивания, то есть распределение, как минимум двухмерное.
Yuri Gendelman писал(а):
Замечание по поводу C++ и Pascal.
В DOSовских версиях Pascal поддержка extended memory (DOSX) либо отсутствовала, либо (BP7) была не очень эффективной. Поэтому в аналогичной ситуации (ортимизация на орграфе с 20К узлов) я тоже переключился на Watcom C++ с dos4gw.

Писать придется в BP7, поэтому хочется обойтись минимальными затратами и по памяти и по вычислениям (хотя понимаю, что это мало реально)

 
 
 
 
Сообщение15.02.2006, 07:02 
Sanyok писал(а):
2 temp
Попробуйте посмотреть на сайте профессора И. Бекмана:
http://profbeckman.narod.ru/Igor1.htm

Там есть такая (типа монографии, в формате pdf) "Математика диффузии":
http://profbeckman.narod.ru/MatDif.htm

Мне очень понравилось в свое время, очень подробно все про диффузию расписано.


Спасибо, интересный материал.

 
 
 
 
Сообщение15.02.2006, 08:17 
Аватара пользователя
:evil:
2 temp
Простите, я перечитал все Ваши сообщения, но нигде не нашел требования моделирования молекулярной динамики. Может, все-таки, достаточно воспользовться готовыми результатами статистичской физики? Там тоже есть простор моделированию.

Но выбор, разумеется, Ваш.

Если же Вы решите воспользоваться молекулярным моделированием, то самый простой способ, который приходит в голову -- держать две структуры данных, список шариков, и кучу, упорядоченную по времени до ближайшего столкновения. На каждой итерации мы забираем вершинку кучи, пересчитываем столкновение, и для каждого из шариков находим момент ближайшего столкновения, который помещаем в кучу. Эта операция занимает без оптимизации линейное время по числу шариков. Ну а с оптимизацией -- что сумеете. Удачи!

 
 
 
 
Сообщение15.04.2006, 00:27 
Вы уже все реализовали и забыли? И как реализовали? У меня литература по методу Монте-Карло в стат. физике. Тут есть кое-что по диффузии. Что касается анимации не знаю. Если хорошо программируете, то анимировать, как и реанимировать, я думаю, не проблема.

PS
Monte Carlo diffusion.
Simulation of the process of diffusion.
Пооткрывайте ссылки, посмотрите.
NB! Термин "диффузия" применим к разным явлениям.

 
 
 
 
Сообщение18.04.2006, 07:02 
Цитата:
Вы уже все реализовали и забыли? И как реализовали? У меня литература по методу Монте-Карло в стат. физике. Тут есть кое-что по диффузии. Что касается анимации не знаю. Если хорошо программируете, то анимировать, как и реанимировать, я думаю, не проблема.

Пока не реализовывал - думал как. Решил не изобретать велосипед и сделать детерминированный вариант - решение уравнения диффузии методом Фурье с анимацией как в Матлабе (весьма примерно :)), а вот с каким-нибудь стохастическим методом парился - не мог найти внятное объяснение, как связан коэффициент диффузии с величиной шага частицы. Наивно полагал, что облазил весь интернет, и вот по вашей ссылке как раз нахожу то, что надо (вроде бы). http://www.ipp.mpg.de/~mow/PhDThesis/node53.html
По крайней мере теперь попробую. Вообще-то задача учебная и можно было бы сделать какую-нибудь залипуху, но просто для себя хочется сделать более менее приемлемую модель. За ссылки спасибо

 
 
 
 
Сообщение21.04.2006, 08:32 
Аватара пользователя
Берешь систему из 2 диф.уравнений. Первое описывает распространение температуры в среде, второе диффузии. Решаешь первое (для начала пойдет конечно-разностными методами) полученные значения в узлах подставляешь при решении второго дифура по формуле, связывающей температуру и коэф. диффузии.
И делаешь это на каждом слое по времени (задача не стационарная, как я понял). каждое решение сохраняешь в фаил. потом берешь что-нибудь типа gnuplot и анимируешь решение.

 
 
 [ Сообщений: 23 ]  На страницу Пред.  1, 2


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