Описание симулятора

Для начала пара официальных слов.

  • Разработчиком и владелецем прав на данный программный продукт является Shra. Доказать, если необходимо, мне это не сложно.
  • Ball’s sim распространяется как есть или «AS IS». Никакого рода гарантий и прочих заверений нет. Вы используете этот продукт на свой страх и риск. Автор не несёт ответственности за ущерб, потерю прибыли (это меня особо вдохновляет ;)) или какой-либо иной ущерб вызванный или связанный с этим программным обеспечением. Ball’s sim работает отлично на моей машине, как поведет он себя на вашей — неизвестно. При обнаружении ошибок, или при необходимости повышения совместимости я буду вносить в код соответствующие коррективы.
  • Любое физическое лицо может свободно использовать эту программу в некоммерческих целях.
  • Основное назначение. Ball’s sim позволяет конструировать и проводить некие умозрительные эксперименты над группами шаровидных объектов в рамках ограниченного участка плоской поверхности прямоугольной формы. Как гласит известная пословица — вечно можно смотреть на огонь, воду и то как работает твой товарищ. Предлагаю добавить к списку ещё одну категорию — наблюдение за упругими шарами. :) В итоге, программа позволяет наблюдать за некоторыми моделями, основными действующими лицами которых, являются шарики. Это позволяет к примеру легко проследить качественное поведение модели идеального газа. Математически программа базируется на решении задачи движения шариков методом конечных разностей.

    Ну, а после официальной части, как всегда водится — банкет. ;) Истинные любители физики и химии, скорее всего прямиком идут на банкет.

    Системные требования (минимальные)

    1. DirectX 8.0
    2. Pentium II — 400MHz
    3. OS:Win2K, на других системах не тестировалось, скорее всего работает и там.

    Внешний вид

    Основная панель программы

    На основной панели программы расположено меню и статистика по числу шариков (Balls) и их сортов (Sorts), которые в данный момент находятся в симуляции. Для старта/перезапуска симуляции используйте CTRL+R, для приостановки/продолжения — CTRL+X.

    Редактор сортов

    Sort Editor — это окно редактора сортов. Здесь мы можете создавать группы шариков с одинаковыми параметрами. Всего параметров у шариков 5 : масса (mass), электрический заряд (charge), геометрический радиус (radius), цвет (color), вид распределения начальной скорости при создании сорта (start speed). В общем то с работы в редакторе сортов и начинается создание некоторой начальной конфигурации шаров. Клавишами INS и DEL вы можете создавать новые и удалять уже созданные сорта.
    Quantity — число шариков в сорте.
    Name — название сорта.

    После того как нужные сорта созданы, нажмите CTRL+R (эквивалентно выбору в меню simulation->start/restart). Начнется симуляция вашей конфигурации. Если приостановить симуляцию (CTRL+X), то появится возможность переставить шарики и поправить их некоторые параметры. Как это сделать, смотрите в описании к следующему окошку.

    Ball's manager

    Ball’s manager — окно вызывается во время паузы, правым кликом мышки на любом из шариков в окне Sim. Выбранный вами шарик будет мигать. Вы можете исправить направление и модуль скорости, заряд, радиус, массу и цвет выбранного шарика. Не забудьте подтвердить изменения директивой Apply. Чтобы передвинуть шарик в другое место, следует кликнуть на него левой кнопной мышки и перевести курсор в нужное место, где кликнуть мышкой ещё раз. Шарик при этом будет следовать за курсором мыши.

    Окно глобальных параметровGlobal params — окно, которое группирует обшие физичекие и модельные параметры.

    Секция Gravitation описывает гравитационное поле внутри нашей модели. Xacc и Yacc — соответственно x и y координаты вектора силы тяготения. При этом за положительное направление по оси OY выбрано направление вниз. Галочка Field of gravity показывает включено ли поле. Секция size of simbox — задаёт размеры прямоугольника нашего полигона (окна sim).

    Секция Pair interaction — (парное взаимодействие) управляет параметрами взаимодействия шариков друг с другом. Flexability — упругое взаимодействие шариков. При выключении этого свичика, рекомендую переместить якорёк на линейке sim precision поближе к значению quality. Gravitation — учитывать гравитационное взаимодействие между отдельными шариками. Кулоновское взаимодейсвие задаётся зарядами (charge) шариков и пропорционально — q1*q2/(r*r), а гравитационное соответственно определяется массой шариков и пропорционально — m1*m2/(r*r), где q1,q2 — заряды шариков, r-растояние между ними, а m1, m2 их массы.

    Sim precision — задаёт точность конечно-разностного метода. При вычислении очередной итерации, опираясь на максимальную скорость, вычисляется характерное время итерации, в течении которого считается, что шарики двигаются равномерно и прямолинейно, это характерное время делится далее на указанный параметр точности.

    Секция Scale effects позволяет уточнить как соотносятся между собой кулоновское и гравитационное парные взаимодействия.

    Последняя секция Border mode позволяет выбрать режим поведения шариков на границе модели или так называемого кластерного ареола. Cluster mode — в этом режиме вычисляется центр масс и после каждой итерации система центрируется перенося центр масс в геометрический центр окошка Sim. Шарики при этом не отскакивают от стенок, а появляются с другого края окна Sim. Box mode — в этом режиме шарики отскакивают от стенок окна Sim. Никаких операций по переносу системы координат не проводится.

    Любые измения необходимо подтвердить нажатием клавиши Apply.

    Настройки графического вывода моделиОкно visual options группирует настройки связанные с графическим выводом модели в окне sim.

    Секция Frame options — группа параметров настройки вывода кадров. Флажок Automatic frameset позволяет программе самой устанавливать число скрытых кадров (hide frames), опираясь на быстродействие и характерное время (delta time). При этом тот факт, что необходимо оценивать быстродействие при расчете числа скрытых кадров, определяется состоянием флажка params->fluent frameset в главном меню.

    Что такое число скрытых кадров вообще, и за чем их надо скрывать в часности? Обычно, характерное время настолько мало, что каждая итерация расчета чуть чуть меняет положения шариков. Для того чтобы не выполнять огромное число перерисовок, эти кадры просто скрываются. При этом действительное число скрытых кадров вычисляется по формуле HF=hide frames * Visual step. Параметр FPS — показывает число кадров, которое может вычислить и отобразить за одну секунду ваша система. То есть в данном случае система может вычислить Hide frames * visual step * FPS = 478.5 итераций и отобразить 31.9 из них в течении одной секунды.

    Секция Tail options включает отображение так называемого хвоста. При этом отображаются последние несколько (tail’s length) позиций каждого шарика.

    Densitymeter — визуализация распределения плотности шариков внутри испытательного полигона. Как это выглядит хорошо видно на следующей картинке.

    sim_3031311

    Вот мы и добрались до описания главного, можно сказать, окошка программы. Окно Sim — показывает все перемещения шариков во время симуляции. По краям зоны симуляции включен densitymeter (управляется с панели Visual options). Во время паузы правым кликом мышки над любым из шариков можно вызвать окошко ball’s manager. А левым кликом мышки инициировать перенос шарика в другое место.

  •  

    Понравилась статья? Есть вопросы? - пишите в комментариях.




    Комментарий: