Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.11.2017, 08:16   #1
LV1974
мамонт
Участник клуба
 
Регистрация: 09.08.2017
Сообщений: 742
Репутация: 145
По умолчанию Балуемся с моделированием самоорганизации

Пока нет работы - сочинил программу:
Моделирование самоорганизации
О программе PartsLV версия 1.6

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

Моделирование происходит в объёме. 3-е измерение отображается как градация серо-зелёных оттенков частиц.

Вы можете заполнить пространство случайно разбросанными частицами (кнопка Fill). Количество частиц указать можно в таблице слева. Предыдущая суперпозиция частиц сбрасывается.

Вы можете запустить или продолжить анимацию (кнопка Run).
Вы можете остановить анимацию (кнопка Stop).

Меняя размеры окна просмотра, Вы можете воздействовать на частицы как поршень в сосуде. Это потому, что частицы отскакивают от границ окна просмотра.

Для расчёта взаимодействия используется система уравнений:
da += (A – B*cos(r / T)) / r^2;
dv = dv / K + da;
x += dv;

Где:
da – вектор сил взаимодействия. Он аккумулируется по всем частицам для каждой частицы. Алгоритм порядка N^2.
A – скважность кривой взаимодействия. Принято за 1.
B – амплитуда кривой взаимодействия. Принято за 2.
r – дистанция между любой парой частиц.
T – эквивалент периода кривой взаимодействия. Это дистанция смены сил притяжения и отталкивания.
dv – вектор скорости частицы.
K – делитель скорости частицы. Он гасит инерцию для моделирования сопротивления среды.
x – вектор координат частицы.

Снизу окна программы находятся 2 бегунка для управления T (периодом смены сил) и K (делителем скорости). Они перемещаются в ограниченных диапазонах. Вы можете управлять ими даже во время процесса расчёта. Это позволяет видеть – как параметры влияют на анимацию частиц.

Программа написана на C# 2.0.
Исходный код и исполняемый файл доступны по ссылке:
https://yadi.sk/d/H8eHDStI3N5Udv
Следите за обновлением версий.
Демонстрация:
https://youtu.be/sL5Xs0KGUxQ
https://youtu.be/LbRoQ003a9E
Делитель скорости К - он же коэффициент сопротивления среды, был введён не случайно. Без него частицы просто пролетают мимо и получается броуновское движение.
Была поставлена цель - реализовать самоорганизацию частиц в подобие атомов и молекул.
Показанный результат позволяет сделать вывод о том, что в процессе самоорганизации одну из главных ролей играет сопротивление среды. А это значит, что зарождение жизни возможно только в жидкостях.

Вторым фактором самоорганизации является периодическая гармоническая функция, которая определяет смену сил притяжения и отталкивания. Это было необходимо сделать для реализации атомных и химических связей.

Подбор параметров позволяет реализовать ряд интересных конфигураций и процессов:
1. Броуновское движение,
2. Сферы,
3. Атомное ядро,
4. Молекулярные соединения,
5. Выбросы протуберанцев,
6. Спонтанные пульсирующие фейерверки,
7. Текучесть,
8. Спиральное движение, и т.д.

В основы формулы были положены принципы роста, самоорганизации, автономности и размножения. Тут дело не в том, чтобы получить видеоэффект. Эта задача поставлена для моделирования природных процессов. Таким образом, можно моделировать процессы атомного ядра, молекул, бактерий, звёзд и галактик.

Оценка вычислительной нагрузки:
Теперь можно оценить затраты вычислительных ресурсов. Возьмём простейший микроорганизм. Это порядка 100 - 1000 частиц по каждому измерению. Получается всего от 10^6 до 10^9 частиц. Далее, мы имеем алгоритм порядка N^2. Следовательно, потребуется 10^12 – 10^18 проходов. При этом, каждый проход потребует порядка 1000 машинных тактов. Это значит, что современный процессор с тактовой частотой порядка гигагерц, может выдать картинку за 10^6 – 10^12 секунд. Это очень долго.

Оптимизация:
Можно разбить пространство на ячейки, учитывая взаимодействие частиц только внутри соседних ячеек. Это позволит существенно оптимизировать нагрузку в десятки и сотни тысяч раз. Кроме этого, можно задействовать вычислительные ресурсы нескольких видеокарт. Задача идеально распараллеливается. Предполагаю, что это позволит обрабатывать модель за приемлемое время.

Если будут интересные идеи - пишите мне - постараюсь реализовать на досуге.
Вложения
Тип файла: zip PartsLV 1.6.zip (64.9 Кб, 1 просмотров)

Последний раз редактировалось LV1974; 17.11.2017 в 02:22.
LV1974 вне форума   Ответить с цитированием
Старый 03.01.2018, 20:30   #2
LV1974
мамонт
Участник клуба
 
Регистрация: 09.08.2017
Сообщений: 742
Репутация: 145
По умолчанию

Ап для темы неслучайности случайностей.

Цитата:
Вопрос случайностей и предопределённости вызвал у меня ряд воспоминаний. Сейчас я их кратко обозначу:

1. Инерциальное движение таит в себе загадку - как и где частица "помнит" вектор своей скорости? Может быть существует сразу 2 пространства для статической и динамической компоненты?

2. Как и где происходит расчёт траекторий в поле сил тяготения (и отталкивания), если даже для 3 тел эта задача не всегда решается аналитически!?

3. Чем можно объяснить комбинаторное многообразие форм при смене масштаба (частицы-молекулы-бактерии-растения-животные-планеты-звёзды-галактики) ?

4. Когда мы смотрим на вопрос, то ответ кажется лёгким. Но стоит погрузиться в тему, как реальность сразу вываливает множество деталей.
Однако я не верю в сложность устройства реальности, потому что она должна быть самодостаточна.

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

6. Если рассмотреть изменение движения, то получается бесконечный ряд изменения координат, скорости, ускорений и т.д. Это напоминает ряд Тейлора. Однако, если привести это к тригонометрической форме, то всё становиться проще.
Вложения
Тип файла: zip PartsLV 1.6.zip (64.9 Кб, 2 просмотров)

Последний раз редактировалось LV1974; 04.01.2018 в 00:49.
LV1974 вне форума   Ответить с цитированием
Старый 04.01.2018, 00:53   #3
LV1974
мамонт
Участник клуба
 
Регистрация: 09.08.2017
Сообщений: 742
Репутация: 145
По умолчанию

Цитата:
Мы говорили о роли тригонометрии в движении.
Товарищи из космической отрасли давно трудятся над вычислением "благоприятных по времени" коридоров. Всеми правдами и неправдами. Составляют графики запусков.

На таких масштабах, тяготение непривычно для нас.
Попадёшь в коридор - сразу сиганёшь.
А иначе - поползёшь как по рифлёной доске. Весь аппарат развалиться.
+
https://www.youtube.com/watch?v=B7asnU-BGLE

https://www.youtube.com/watch?v=LnA8b0dFPbg
LV1974 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с моделированием арбитражного уравнения Vladimir_0 Помощь студентам 1 15.12.2016 19:08


06:42.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru