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

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




На страницу 1, 2  След.
 Моделирование процесса диффузии
Задали задание - смоделировать процесс диффузии, учесть выбор плотности вещества и начальную температуру, продемонстрировать процесс смешивания. Не подскажите с какого боку подступиться, чтобы и плотность была и температура. В уравнение диффузии температура явно не входит, стохастическими методами - тоже не могу понять. Буду рад, если кто-нибудь посоветует что-нибудь.

 Re
Аватара пользователя
Можно моделировать как движение частичек-шариков, который соударяются, температура зашьется в модель через среднюю (начальную) скорость этих шариков, а плотность - через соотношение объема, заполненного шариками к единице объема

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

 
Аватара пользователя
Большие массивы так или иначе требуют много ресурсов... Можно моделировать не каждую частицу отдельно, а использовать "метод крупных частиц", когда один ваш шарик заменяет собой какое-то n-ое количество реальных частиц.

 
Из-за подобных задач я перешёл с Паскаля на С++.
А метод молекулярной динамики, по-моему, идеально подойдёт.

 
Аватара пользователя
:evil:
А что, С++ дает чисто конкретный выигрыш больше 20% по сравнению с Паскалем (в подобных задачах)? Или для этой задачи за эти 20% (которые еще надо доказать, что есть) -- вопрос, работает подход или не работает?

Я вот и вовсе на Python пишу, когда могу. Там, меньше 1000%, то все в порядке. И как-то до фени. Времени нет на С++ выписывать. Зато моя жизнь удлиняется.

 
Аватара пользователя
:evil:
Массивы, Бог с ними. Вопрос, как моделировать эффективно движение до столкновений, а точнее говоря, определять кто с кем столкнется, если оперировать $n$ шариками, то ${\rm O}(n^2)$ врядли кого-нибудь устроит даже для пары тысяч шариков... По моему, это критичнее, чем выбор языка.

 
Что касается выбора языка, это принудительно. Паскаль я бы не выбрал. А метод молекулярной динамики - это, кажется, для каждой частицы уравнения движения решить надо?

 
Аватара пользователя
temp, если Вам для этой задачи нужен массив не с произвольным доступом, а с последовательным - мож тогда просто на диске своп организовать? Геморно, конечно, не спорю... Зато ресурсов сразу до фига образуется :)

 
Аватара пользователя
Все это решаемо - я своими глазоньками видел модели, где были замоделированы несколько миллионов частиц... И естественно это было не для PC. Для PC - реально поднять несколько десятков тысяч частиц, не более.

 
Sanyok писал(а):
temp, если Вам для этой задачи нужен массив не с произвольным доступом, а с последовательным - мож тогда просто на диске своп организовать? Геморно, конечно, не спорю... Зато ресурсов сразу до фига образуется :)

Честно говоря, на Паскале никогда не программировал (это задание учебное), поэтому не знаю получится ли сразу выводить анимацию графика (3d), демонстрацию смешивания и подкачку из файла. Никто, кстати, не подскажет, если решать уравнение диффузии, то каким образом (попроще), связать коэффициент диффузии с температурой, или все таки использовать статистические методы?

 
Аватара пользователя
Зависимость коэффициента диффузии от температуры зависит от агрегатного состояния диффундирующего вещества:
Если не ошибаюсь:
для газов $D\sim T^{1/2}$
а для жидкостей и твердых тел зависимость носит экспоненциальный характер

 
photon писал(а):
Зависимость коэффициента диффузии от температуры зависит от агрегатного состояния диффундирующего вещества:
Если не ошибаюсь:
для газов $D\sim T^{1/2}$
а для жидкостей и твердых тел зависимость носит экспоненциальный характер

А в каких источниках можно узнать поточнее?

 
Аватара пользователя
2 temp
Попробуйте посмотреть на сайте профессора И. Бекмана:
http://profbeckman.narod.ru/Igor1.htm

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

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

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

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

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


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