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

Простейшие вопросы в области инженерной разработки
Ответить
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

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

Сообщение san_raise »

Здравствуйте! Мне нужно смоделировать движение молекул газа в прямоугольном замкнутом сосуде, учитывая, что при соударении молекулы с горизонтальной (вертикальной) стенкой сосуда вертикальная (горизонтальная) проекция ее скорости меняет свой знак на противоположный. Прошу помочь с алгоритмом создания программы, т.к я не очень понимаю некоторые вещи в реализации этой программы:
- как организовать движение сразу нескольких точек в XY Graph (или в чем-то подобном)
- как задать угол, относительно которого будут считаться проекции скорости
Заранее благодарен.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Моделирование броуновского движения

Сообщение IvanLis »

san_raise писал(а):Здравствуйте! Мне нужно смоделировать движение молекул газа в прямоугольном замкнутом сосуде, учитывая, что при соударении молекулы с горизонтальной (вертикальной) стенкой сосуда вертикальная (горизонтальная) проекция ее скорости меняет свой знак на противоположный. Прошу помочь с алгоритмом создания программы, т.к я не очень понимаю некоторые вещи в реализации этой программы:
- как организовать движение сразу нескольких точек в XY Graph (или в чем-то подобном)
- как задать угол, относительно которого будут считаться проекции скорости
Заранее благодарен.
Посмотрите: http://www.labviewportal.org/viewtopic.php?f=21&t=4251
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

Большое спасибо!
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

IvanLis, вы не могли бы загрузить вот эту программу?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Моделирование броуновского движения

Сообщение IvanLis »

san_raise писал(а):IvanLis, вы не могли бы загрузить вот эту программу?
У меня ее не осталось, год назад винт рухнул.
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

IvanLis писал(а): Посмотрите: http://www.labviewportal.org/viewtopic.php?f=21&t=4251
IvanLis, помогите, пожалуйста, разобраться с Вашей программой. Зачем нужен генератор синуса и косинуса (обвел красным)? И еще, если я хочу сделать больше шариков в этой программе, получается, мне нужно создать массивы под координаты шариков и на каждом цикле их сравнивать? А как быть в случае с столкновением, допустим, не одного, а трех шариков?
Вложения
Снимок.PNG
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

Сама программа
Вложения
Dva_Sharika.vi
(31.39 КБ) 91 скачивание
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Моделирование броуновского движения

Сообщение IvanLis »

Сейчас вспоминать нет времени, тем более разбираться заново.
san_raise писал(а):Зачем нужен генератор синуса и косинуса (обвел красным)?
Это скорее всего перевод единичного вектора (направление) в проекции на декартовые координаты.
san_raise писал(а):И еще, если я хочу сделать больше шариков в этой программе, получается, мне нужно создать массивы под координаты шариков и на каждом цикле их сравнивать?
Да - массив шариков, тот путь, который выбрали Вы сейчас, утопичен.
san_raise писал(а):А как быть в случае с столкновением, допустим, не одного, а трех шариков?
Вероятность практически равна "0". Но в любом случае, при малом шаге, сталкивается сначала "первая" пара, потом "вторая", не влияя на общую картину.
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

Спасибо, буду разбираться :think:
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

Вот мои попытки реализовать программу через массивы данных, для того, чтобы можно было моделировать большое число шариков. Но не могу понять, как осуществить перерисовку всех шариков по данным из массива, а затем вывод в 2D Picture. Кто знает, подскажите, пожалуйста.
Вложения
Shariki.vi
(12.69 КБ) 90 скачиваний
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5467
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 88 раз

Re: Моделирование броуновского движения

Сообщение IvanLis »

san_raise писал(а):Но не могу понять, как осуществить перерисовку всех шариков по данным из массива, а затем вывод в 2D Picture. Кто знает, подскажите, пожалуйста.
Как-то так:
Без имени.png
Без имени.png (6.64 КБ) 7308 просмотров
Но у Вас массив координат был 2D, а должен быть 1D.
По этому я даже исходники не выкладываю, т.к. там до отрисовки еще править необходимо.
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

Спасибо, получилось)
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

В моей программе возникла такая необходимость- отсортировать массив обсчитанных данных, чтобы подать их на вход, но реализовать задуманное не получается с помощью Index Array, Replace Array Subset и прочих. На выходе цикла при работе с этими функциями получается двумерный массив, а должен быть одномерный. Прошу вашей помощи!
Вложения
Безымянный.png
san_raise
beginner
beginner
Сообщения: 17
Зарегистрирован: 08 апр 2016, 19:55
Версия LabVIEW: 2013
Контактная информация:

Re: Моделирование броуновского движения

Сообщение san_raise »

san_raise писал(а): реализовать задуманное не получается с помощью Index Array, Replace Array Subset и прочих.
Вложения
Shariki_1.vi
(24.43 КБ) 102 скачивания
Ответить

Вернуться в «Для чайников»