Моделирование броуновского движения — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Постановка задачи)
(Ссылки)
 
(не показано 8 промежуточных версий этого же участника)
Строка 22: Строка 22:
  
  
Броуновское движение происходит из-за того, что все жидкости и газы состоят из атомов или молекул — мельчайших частиц, которые находятся в постоянном хаотическом тепловом движении, и потому непрерывно толкают броуновскую частицу с разных сторон. Было установлено, что крупные частицы с размерами более 5 мкм в броуновском движении практически не участвуют (они неподвижны или седиментируют), более мелкие частицы (менее 3 мкм) двигаются поступательно по весьма сложным траекториям или вращаются. Когда в среду погружено крупное тело, то толчки, происходящие в огромном количестве, усредняются и формируют постоянное давление. Если крупное тело окружено средой со всех сторон, то давление практически уравновешивается, остаётся только подъёмная сила Архимеда — такое тело плавно всплывает или тонет. Если же тело мелкое, как броуновская частица, то становятся заметны флуктуации давления, которые создают заметную случайно изменяющуюся силу, приводящую к колебаниям частицы. Броуновские частицы обычно не тонут и не всплывают, а находятся в среде во взвешенном состоянии.  
+
Броуновское движение происходит из-за того, что все жидкости и газы состоят из атомов или молекул — мельчайших частиц, которые находятся в постоянном хаотическом тепловом движении, и потому непрерывно толкают броуновскую частицу с разных сторон. Было установлено, что крупные частицы с размерами более 5 мкм в броуновском движении практически не участвуют (они неподвижны или седиментируют), более мелкие частицы (менее 3 мкм) двигаются поступательно по весьма сложным траекториям или вращаются. Когда в среду погружено крупное тело, то толчки, происходящие в огромном количестве, усредняются и формируют постоянное давление. Если крупное тело окружено средой со всех сторон, то давление практически уравновешивается, остаётся только подъёмная сила Архимеда — такое тело плавно всплывает или тонет. Если же тело мелкое, как броуновская частица, то становятся заметны флуктуации давления, которые создают заметную случайно изменяющуюся силу, приводящую к колебаниям частицы. Броуновские частицы обычно не тонут и не всплывают, а находятся в среде во взвешенном состоянии.
  
 +
 +
==Описание реализации программы==
 +
 +
Программа написана на языке C++, для графического анализа используется библиотека OpenGL - спецификация (документ), описывающий набор функций и их точное поведение. Взаимодействие частиц во время столкновений описывается по 2-му закону Ньютона. В структуре P задаются начальное положение броуновской частицы , а также  её скорости по осям x, y и масса. Начальные координаты и проекции скоростей - это случайные величины, координаты распределены равномерно на отрезке [0; 480]. У нормального распределения 2 параметра - математическое ожидание (среднее значение) и дисперсия (рассеяние). Среднее значение проекции скорости равняется 0, дисперсия равна KT/m. Функция rand() возвращает равновероятно целое число в диапазоне [0; RAND_MAX). Функция rand_unif() возвращает случайную величину, равномерно распределённую на промежутке [0; 1). За один раз получается 2 нормально распределённые величины из 2 (поэтому в функции присутствует статическая переменная y, в которой запоминается второе значение, и в следующий раз возвращается оно), принадлежащих стандартному равномерному.Присутствует визуализация.
  
 
==Результаты работы программы==
 
==Результаты работы программы==
Строка 48: Строка 52:
  
  
Роберт Лафоре Объектно-ориентированное программирование в C++, 4-е издание (2004)  
+
*Роберт Лафоре Объектно-ориентированное программирование в C++, 4-е издание (2004)  
 +
 
 +
* [https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B2%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5#.D0.A1.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D0.B2.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5%20 Непрерывное равномерное распределение]
  
 +
*[https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%BE%D1%83%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 Броуновское движение]
  
 +
*http://av-physics.narod.ru/molecule/molecular-movement.htm
  
[https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D0%B2%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D0%B5_%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5#.D0.A1.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D0.B2.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D1.81.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5%20 Непрерывное равномерное распределение]
+
==Ссылки==
  
[https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%BE%D1%83%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B5_%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5 Броуновское движение]
 
  
http://av-physics.narod.ru/molecule/molecular-movement.htm
+
[[:File:Kursovaya_rabota_Lobanov_Ilya (2).rar|Скачать программу с описанием]]

Текущая версия на 18:55, 17 июня 2016

Курсовой проект по информатике

Исполнитель: Лобанов Илья

Группа: 13604/1

Семестр: весна 2016

Аннотация к проекту[править]

Данная курсовая работа посвящена изучению движения броуновской частицы под воздействием атомов или молекул, из которых состоит газ, непрерывно толкающих данную частицу со всех сторон.


Постановка задачи[править]

  • Написать программу, моделирующую движение броуновской частицы в газе.
  • Рассмотреть влияние летающих молекул на движение броуновской частицы.

Основные определения и понятия[править]

Броуновское движение происходит из-за того, что все жидкости и газы состоят из атомов или молекул — мельчайших частиц, которые находятся в постоянном хаотическом тепловом движении, и потому непрерывно толкают броуновскую частицу с разных сторон. Было установлено, что крупные частицы с размерами более 5 мкм в броуновском движении практически не участвуют (они неподвижны или седиментируют), более мелкие частицы (менее 3 мкм) двигаются поступательно по весьма сложным траекториям или вращаются. Когда в среду погружено крупное тело, то толчки, происходящие в огромном количестве, усредняются и формируют постоянное давление. Если крупное тело окружено средой со всех сторон, то давление практически уравновешивается, остаётся только подъёмная сила Архимеда — такое тело плавно всплывает или тонет. Если же тело мелкое, как броуновская частица, то становятся заметны флуктуации давления, которые создают заметную случайно изменяющуюся силу, приводящую к колебаниям частицы. Броуновские частицы обычно не тонут и не всплывают, а находятся в среде во взвешенном состоянии.


Описание реализации программы[править]

Программа написана на языке C++, для графического анализа используется библиотека OpenGL - спецификация (документ), описывающий набор функций и их точное поведение. Взаимодействие частиц во время столкновений описывается по 2-му закону Ньютона. В структуре P задаются начальное положение броуновской частицы , а также её скорости по осям x, y и масса. Начальные координаты и проекции скоростей - это случайные величины, координаты распределены равномерно на отрезке [0; 480]. У нормального распределения 2 параметра - математическое ожидание (среднее значение) и дисперсия (рассеяние). Среднее значение проекции скорости равняется 0, дисперсия равна KT/m. Функция rand() возвращает равновероятно целое число в диапазоне [0; RAND_MAX). Функция rand_unif() возвращает случайную величину, равномерно распределённую на промежутке [0; 1). За один раз получается 2 нормально распределённые величины из 2 (поэтому в функции присутствует статическая переменная y, в которой запоминается второе значение, и в следующий раз возвращается оно), принадлежащих стандартному равномерному.Присутствует визуализация.

Результаты работы программы[править]

1) Положение броуновской частицы в момент времени t=0


Посл.PNG



2) Положение броуновской частицы в произвольный момент времени


Last.PNG


Список литературы[править]

  • Роберт Лафоре Объектно-ориентированное программирование в C++, 4-е издание (2004)

Ссылки[править]

Скачать программу с описанием