Показать сообщение отдельно
Старый 06.04.2013, 03:13   #5
Timas
Заблокирован
 
Регистрация: 24.05.2007
Адрес: Валькумей
Сообщений: 719
Вы сказали Спасибо: 90
Поблагодарили 696 раз(а) в 294 сообщениях
Timas скоро прославитсяTimas скоро прославитсяTimas скоро прославится
По умолчанию

Цитата:
Сообщение от andreyvas Посмотреть сообщение
Сейчас примерно объясню что должно на мой взгляд, хм... Точнее слух получится...
Ув. andreyvas, я Вас прекрасно понял в части того, что вы хотите получить в конечном итоге. Но я не понял, каким образом Вы хотить это донести до Вашего программиста. Из Вашего сообщения не ясен уровень Ваших знаний как в области матмоделирования (где я тоже не силён, хотя и приходится), так и в области ж.д. транспорта вообще и теории тяги поездов в частности. Я попробую описать Вам основные мысли при создании матмодели движения поезда по участку, которыми я пользовался при выполнении одного из интересных заданий.

Некоторые определения:

Фрейм - один виток (итерация) бесконечного цикла моделирования. Длительность фрейма во времени зависит от типа выбранного таймера. Все расчётные операции должны гарантированно успеть выполниться до окончания времени до следующего фрейма.

ПЕ - подвижная единица со своими характеристиками (длина, вес, оси, тормозное нажатие, сила тяги (0 если нетяговая ПЕ) и т.д.)

Состав - несколько ПЕ, сцепленных вместе.

Секция пути - элемент пути с заданными характеристиками (длина, уклон, радиус кривой)

Узел пути - точка соединения секций пути (две для простого узла, три для стрелки).

Алгоритмика:

Движение поезда как материальной точки, можно рассмотреть по второму закону Нюьтона, т.е. ускорение, делённое на массу материальной точки. В общих чертах это нас вполне устроит. Зная ускорение и начальную скорость, мы всегда можем получить приращение координаты за фрейм. Собственно, физика за восьмой класс.

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

Раскладываем дальше. Результирующая сила для каждой ПЕ считается, как сумма силы тяги, силы основного сопротивления движению, силы сопротивления от профиля пути, сил дополнительного сопротивления от ветра, низких температур, подвагонных генераторов пассажирских вагонов, и, наконец, тормозной силы. Естественно, что сила тяги направлена по ходу движения, сила сопротивления от профиля всегда направлена вниз (вперёд на спуске, назад на подъёме). Остальные силы всегда смотрят назад.

В Правилах тяговых расчётов приводится более простая модель, где все силы рассматриваются для всего поезда сразу. Я пришёл к выводу, что для более точного моделирования необходимо применять силы к каждой ПЕ, и потом вычислять их результирующую. Такая модель более реально учитывает положение разных частей состава на разных элементах профиля пути. Особенно для разнородных по составу поездов.

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

Модель пути в подобном симуляторе составляется из отдельных элементов (секций пути), и узлов, их соединяющих. Каждая секция пути имеет направление (грубо говоря, от конца "один" к концу "два" - чтобы не запутаться при вычислении локальных координат), ну и собственные характеристики. Узел может соединять как две секции пути, так и три - это стрелка. Для стрелки может быть указано следующее состояние - направлена по основному пути, по боковому пути, либо не определено. Маршрут следования состава определяется последовательностью секций пути.

Локальные и глобальные координаты. Внутри каждой секции положение ПЕ учитывается в локальных координатах. Плюс необходимо задать направление внутри самой секции. Для линейных моделей пути это не требуется, но для моделей с петлями или треугольными развязками - необходимо, иначе может неправильно учитываться .воздействие профиля пути. Для указания пользователю глобальных координат необходима привязка концов секции к гломальным координатам. Для секий, параллельных направлению отсчёта коордимнат, разница между глобальными координатами будет соответствовать длине секции. Для секций, расположенных под углом к оси отсчёта (например, боковое направление стрелки), длина всегда будет больше разницы глобальных координат. Соответственно, при расчёте глобальных координат необходима пропорциональная поправка.

Собственно по математическому моделированию всё. Остальное - дело интерфейса и требований конечного пользователя.

Если Вашему программисту интересно, то могу выслать ему исходники программы на D7, условно моделирующую движение конкретного поезда по конкретному участку. Разработка этой программы мне была необходима на определённом этапе творческого развития. В настоящее время этот проект закрыт, и является лишь справочником по тому, как это вообще надо было делать. Комментариев, к сожалению, в тексте программы нет, я их никогда не пишу.
Timas вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Timas за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА