Система моделирования ФРУНД состоит из нескольких программных модулей, выполняющих различные функции при расчете динамики исследуемого объекта.
Список имен выполняемых модулей:
Програмы системы работают в операционной системе MS DOS, версии 5.0 и выше.
В систему входит также библиотека объектных модулей rashet32.lib. Кроме того, система для своей работы использует компилятор с языка ФОРТРАН и сборщик программ. В частности используется Microsoft FORTRAN PowerStation Version 1.0. Для моделирования колебаний транспортных средств могут поставляться файлы с значениями ординат микропрофиля некоторых дорожных покрытий, полученные прямыми замерами.
Все системные файлы ФРУНДа должны лежать в директории с именем UTILF. Для установки системных файлов, находясь в этой директории нужно набрать строку arj x -v utilf.arj Директория UTILF должна быть включена в PATH. В autoexec.bat требуется добавить строку «SET FRUND = dirname», где dirname - полное имя директории UTILF.
Перед первым запуском программы следует также поставить полное имя библиотеки rashet32.lib, которая находится в директории UTILF, в файле rashet32.bld.
Оболочка системы - bat файл с именем frund использует в работе редактор текстов, в качестве которого может применяться любой из имеющихся в распоряжении пользователя редакторов. Для настройки на требуемый редактор нужно внести имя его вызываемого модуля в файл editor.dat директории UTILF. По умолчанию используется редактор Multi-Edit - в файле editor.dat занесено "me".
Передача данных между программами системы осуществляется с помощью рабочих файлов, скрытых от пользователя.Информация о расчетной схеме и геометрии хранится в файлах с произвольными именами и запрашивается программами при необходимости. Система использует несколько файлов с постоянными именами в которых хранится управляющая информация для численного решения. При работе в оболочке система автоматически переименовывает необходимые управляющие файлы. При прямом вызове программ это должен учитывать сам пользователь. Соответствия между расширениями имен файлов в оболочке и файлами с постоянными именами следующие:
Программы, помеченные в п.п. 1.1 звездочкой, могут работать в двух режимах ввода данных - запрос входного файла с терминала и считывание имени входного файла из вспомогательного файла. Режим работы определяется управляющей переменной хранящейся в файле с именем *.cnt , где * - имя программы. Значение управляющей переменной 0 - ввод по запросу , 1 -считывание из файла *.tmp, где * имя программы.
Работа с системой может производиться непосредственно вызовом соответствующих программ или из сервисной оболочки. Работа из сервисной оболочки предполагает определенную дисциплину расширений имен файлов, которая представлена непосредственно в самой оболочке. Для работы без оболочки необходимо во всех файлах с расширением cnt в директории UTILF заменить число 1 на 0.
Ниже рассматривается работа каждого программного модуля совместно с пунктом меню оболочки, который ему соответствует. Работу с моделями рекомендуется проводить в индивидуальных директориях для каждой модели. Для вызова оболочки набирается команда frund, и далее работа ведется по пунктам меню.
Работа без оболочки производится вызовом соответствующих программ, но при этом нужно самостоятельно следить за именами файлов с данными и файлами с управляющей информацией.
Программная система функционально разбита на две части (два шага) - шаг МОДЕЛЬ и шаг РАСЧЕТ. На шаге МОДЕЛЬ создается численная модель заданной структуры. На шаге РАСЧЕТ производится интегрирование уравнений движения, обработка и вывод результатов решения. На шаге РАСЧЕТ может проводится многократная модификация численных значений параметров модели и повторные расчеты без изменения структуры модели.
Описание расчетной схемы производится на специальном языке - см. главу 2. Расчетная схема задается двумя частями - структурой и параметрами.Описание структуры расчетной схемы заносится в произвольный файл с расширением mdl, а описание параметров в файл с расширением ras. Эти файлы могут непосредственно набираться пользователем с помощью редактора текстов, или формироваться в из программы vizual - пункт меню оболочки - ’Редактирование геометрии и структуры’. При описании структуры расчетной схемы модели используются типы функций, определяющих силовую характеристику связей (соединительных элементов) и силы нагрузки (спец. силы) приведенные в главе 6.
Для описания тел используются существующие в библиотеке типы подсистем (тел) или, при необходимости, создаются новые - см. главу 7
Для упрощения описания расчетной схемы можно использовать существующие и создавать новые макроопределения - п.п. 2.6.
Ввод расчетной схемы проводится программой crmodel - пункт меню оболочки - ‘Ввод структуры расчетной схемы’. При инициировании этого пункта меню требуется указать файл с параметрами модели - файл с расширением mdl. В файл crmodel.ls дублируется содержимое входного файла с диагностикой ошибок. При работе из оболочки перед запуском программы ввода crmodel входной файл обрабатывается препроцессором, раскрывающим макроопределения. Результат работы препроцессора на шаге МОДЕЛЬ сбрасывается в файл с постоянным именем modelp.mdl. Если в расчетную схему входят упругие подсистемы, то после ввода расчетной схемы нужно обязательно нормировать их собственные формы в соответствии с системами единиц, которые использовались при расчете конечно-элементной модели и которые будут использоваться при расчете данной модели. Такая нормировка производится программой umnform - пункт меню оболочки - ‘Нормировка коэффициентов форм упругих тел’, для каждой подсистемы отдельно - см. главу 5.
После ввода структуры расчетной схемы образуются или обновляются следующие файлы:
default.mhl - файл с дополнительными данными о расчетной схеме, необходимый, например, при расчете больших движений - п.п. 9.3.
После ввода структуры расчетной схемы можно посмотреть геометрию всей модели программой vizual. Геометрия модели строится объединением изображений отдельных тел, которые хранятся в библиотеке тел. Файл с геометрией всей модели - ********.gmr.
Формирование уравнений и генерация программы их решения производится программой model32 - пункт меню оболочки - ‘Генерация модели - шаг МОДЕЛЬ’. При запуске этого пункта запрашивается файл с дополнительными данными для шага МОДЕЛЬ, как правило это файл default.mhl. После отработки этого пункта образуются следующие файлы:
Для программы model32 существует несколько файлов с ключами, задающими особенности генерирования уравнений движения. К таким файлам относятся - weight и signv. Учет изменения направления силы веса. При использовании уравнений малых перемещений не учитывается эффект ’маятника’, определяемый проекцией силы веса на плоскость XY (горизонтальную плоскость). В уравнениях малых движений это эквивалентно добавлению в уравнения движения тела по X и Y проекций ускорения свободного падения на эти оси от углов поворота тела вокруг этих же осей. Для включения во ФРУНДе этой возможности перед генерацией модели в файл WEIGHT нужно ввести 1. При отсутствии этого файла, эффект маятника не учитывается.
Указание направления перемещения профиля кинематического возмущения. По умолчанию предполагается, что микропрофиль под колесом двигается в отрицательном направлении оси X. Для задания движения в положительном направлении, в файл с именем signv заносится значение 2.
В случае моделирования больших движений тел перед запуском программы model32 готовится соответствующий файл modhelp - см. п.п. 9.3.1.
Сборка программы интегрирования производится пакетным файлом sbor32.bat - пункт меню оболочки - ‘Сборка программы решения уравнений модели’. Процедура производит компиляцию программ вычисления правых частей уравнений и сборку их с постоянными модулями процедур интегрирования (библиотека rashet32.lib). После окончания работы пакетного файла образуется программа (загрузочный модуль) с именем rashet32.exe, которая в дальнейшем используется для конкретных расчетов по данной расчетной схеме. После окончания работы процедуры sbor32 все объектные модули программы вычисления правых частей для данной модели автоматически уничтожаются.
Описание параметров уравнений движения производится на специальном языке - см. главу 2.
Описание параметров модели заносится в произвольный файл с расширением ras. Этот файл может непосредственно набираться пользователем с помощью редактора текстов, или формироваться в из программы vizual - пункт меню оболочки - .’Редактирование геометрии и структуры’. В случае необходимости готовятся также файлы со случайным микропрофилем - см. п.п. 5.1.
Ввод параметров математической модели производится программой crmodel аналогично шагу МОДЕЛЬ. В оболочке системы соответствующий пункт меню - ‘Ввод параметров расчетной схемы’. При инициировании этого пункта меню требуется указать файл с параметрами модели - файл с расширением ras. При работе из оболочки перед запуском программы ввода crmodel входной файл обрабатывается препроцессором, раскрывающим макроопределения. Результат работы препроцессора на шаге РАСЧЕТ сбрасывается в файл с постоянным именем rashetp.ras. После ввода структуры расчетной схемы образуются или обновляются следующие файлы:
Все пропущенные в файле описания параметров модели инерционные и геометрические параметры берутся из библиотеки. Другими словами блоки BL31 и BL32 могут быть опущены в описании параметров модели. Если геометрия тела была откорректирована и тело заново занесено в библиотеку со старым номером типа, то для учета этих изменений перед расчетом параметры модели вводятся заново.
Интегрирование уравнений движения производится программой rashet32, полученной на шаге МОДЕЛЬ. В оболочке системы соответствующий пункт меню - ‘Решение уравнений модели - шаг РАСЧЕТ’. При инициировании этого пункта меню требуется указать следующие файлы:
При наличии в расчетной схеме случайного возмущения программа запрашивает файлы с ординатами микропрофиля дороги. При использовании расчетных схем автомобилей с большими движениями тел, программа выдает запрос на учет в начальных условиях скорости движения. При утвердительном ответе начальные условия по первым производным увеличиваются на величину скорости движения автомобиля, а микропрофиль считается неподвижным. При отрицательном ответе микропрофиль перемещается со скоростью движения автомобиля. Начальные условия для интегрирования считаются нулевыми, если не заданы специально - см. п.п. 3.2.
При расчете собственных частот и форм колебаний системы дополнительная информация задается в файле с именем epsilst - см. п.п. 3.3.
После отработки программы интегрирования уравнений образуются следующие файлы:
Описание вывода требуемых параметров движения конструкции и их характеристик производится в файле с постоянным именем uprf - см. главу 4.
Обработка результатов интегрирования производится программой anaz по заданному в п.п. 1.4.3.описанию обработки. При работе в оболочке соответствующий пункт меню - ‘Обработка результатов решения’. При инициализации этого пункта меню требуется указать файл с описанием контрольных точек для обработки - расширение upr - п.п. 4.1.
Результаты обработки записываются в рабочий файл с именем rean. При обработке результатов производится только расчет тех или иных характеристик параметров движения модели и подготовка их к выводу.
Вывод результатов обработки производится программой viv. При работе в оболочке соответствующий пункт меню -‘Вывод результатов решения’. После отработки программы вывода результатов образуются следующие файлы:
Обработка и вывод результатов может задаваться и производиться многократно без повторного интегрирования уравнений.
Просмотр графиков производится программой benafin. При работе в оболочке соответствующий пункт меню -‘Просмотр графиков’. При инициализации этого пункта меню требуется указать файл с графиками - расширение bnf - п.п. 4.4.
Анимация движений производится программой multic. При работе в оболочке соответствующий пункт меню - ‘Анимация движений’. При инициализации этого пункта меню требуется указать файл для аниматора - расширение anc - п.п. 4.5.
При работе в оболочке существует возможность запоминать последовательность вызываемых пунктов меню и их аргументов, именовать эти последовательности и использовать в дальнейшем как одну команду - макро.
Для записи макро следует нажать клавишу ‘w’, внизу экрана появляется надпись ’Запись макро’. После этого можно вызвать несколько пунктов меню с указанием файлов данных, требуемых для работы с этими пунктами. При этом сами пункты не выполняются, а происходит только формирование bat файла с командами, необходимыми для выполнения этого пункта. Для окончания набора макро снова нажимается клавиша ‘w’.
Сформированное таким образом макро содержится в файле с именем frundmac.bat.
Для запуска макро нажимается клавиша ‘m’. Если макро предполагается использовать неоднократно, то файл frundmac.bat имеет смысл переименовать (оставив расширение bat), во избежание затирания его при записи другого макро.
Макро, содержащее пункт меню ‘Решение уравнений модели - шаг РАСЧЕТ’ может вводить необходимые исходные данные из файла rashet.inp, для чего эти данные нужно предварительно внести в указанный файл. К таким данным относятся имена файлов с микропрофилем и признак учета скорости движения транспортного средства в начальных условиях.
Кроме того, такое макро при запуске запрашивает варианты файлов с параметрами расчетной схемы (расширение ras). При нажатии клавиши Esc, происходит отказ от ввода вариантов и данные вводятся из файла, указанного при записи макро. В противном случае нужно указать на предварительно переименованные файлы с вариантами параметров, для которых макро проведет последовательные расчеты. При обработке результатов файлы с графиками будут иметь имена файлов с вариантами параметров с расширением bnf.
В данном разделе описан базовый формат описания структуры и параметров модели, полностью задающий схемы для расчета малых движений (колебаний) систем тел. Некоторые дополнения в описаниях моделей, необходимые для моделирования больших движений и систем с контурами управления приведены в ??.
0123456789+-. ABCDEFGHIJKLMNOPQRSTUVWXYZ,()*/;=
abcdefghijklmnopqrstuvwxyz :|‘йцукенгшщзхъфыва
проджлэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ
Примечание: Последовательность блоков данных определена в п.п. 2.3 - 2.4.
Примечание:
Здесь и далее в квадратных скобках указано то, чем может быть дополнена строка. Длина строки не должна превышать 80-ти знаков. Файл исходных данных является дисковым файлом, состоящим из строк (типы строк описаны нижеше).
Формат строки: LIN1 XXXX имя, где XXXX - код данных. Для шага МОДЕЛЬ XXXX=STPM, для шага РАСЧЕТ XXXX=STPR. Имя (имя задачи)- набор цепочек, заключенных в апострофы (количество знаков между апострофами не более 40). Эта строка должна быть первой в файле исходных данных. Строка для одной модели на шаге МОДЕЛЬ и на шаге РАСЧЕТ должна совпадать.
Пример: LIN1 STPR ’ВАЗ 2123, модель с упругим кузовом’
Формат строки: LIN2 имя [цепочки], где имя (имя кода задачи) - цепочка, заключенная в апострофы ( количество знаков между апострофами - 8 ); Эта строка должна быть второй в файле исходных данных. Строка для одной модели на шаге МОДЕЛЬ и на шаге РАСЧЕТ должна совпадать. Имя кода задачи используется для формирования некоторых вспомогательных имен файлов модели, поэтому в нем следует применять символы, допустимые в именах файлов для операционной системы.
Пример: LIN2 ’vaz2123u’
Формат строки: [делиметр] BLXX [цепочки], где XX - номер блока. Эта строка стоит перед строками данных.
Формат строки: $ [делиметр] [цепочки], знак ’$’ должен быть первым в строке. Эта строка может стоять в любом месте файла исходных данных после строк ’имя задачи’, ’код задачи’. Строка можетотсутствовать.
Формат строки: @ [делиметр] имя, знак ’@’ должен быть первым в строке, имя - набор цепочек, заключенных в апострофы (количество знаков между апострофами не более 40). Комментарии такого типа используются для формирования комментариев в программах, генерируемых системой. Строка может отсутствовать. В дальнейшем такой комментарий может называться ‘@’- комментарием.
Формат строки: A1 ... AN, где Ai - i-ая цепочка данных. Перед строкой ‘данные’ может стоять строка ‘комментарий для запоминания’ ).
Формат строки: ENDE [делиметр][цепочки], эта строка должна быть последней в файле данных.
Последовательность описания блоков данных, представленная ниже, определяет последовательность их расположения в файле данных.
Присутствие блока обязательно. Имя блока - BL14. Строка данных - состоит из 8 чисел :
Строк данных столько, сколько подсистем.
Номера подсистем 49 и 50 имеют специальный смысл - 49 - для задания кинематического возмущения от дороги, 50 - резервный. Поэтому их использование для других целей запрещено. При использовании подсистемы с номером 49 для задания кинематического возмущения от двухколейного пути, считается, что первые десять узлов крепления (1-10) принадлежат левой колее, вторые десять (11-20) правой. Сама подсистема номер 49 должна быть твердым телом со всеми запрещенными степенями свободы.
Если подсистемы заданного типа нет в библиотеке тел, то выдается предупреждение и считается, что такое тело имеет 20 узлов крепления с номерами 1-20.
Если в блоке были указаны твердые тела с большими поворотами, то для этих тел автоматически генерируется необходимая дополнительная информация (см. п.п. 9.3.1), которая записывается в файл default.mhl.
Присутствие блока обязательно. Имя блока - BL16. Строка данных - состоит из 6-и чисел:
Типы функций слагаемых - см. описание типов функций - п.п. 6.2, 6.3
Присутствие блока обязательно. Имя блока - BL17. Строка данных - состоит из 6-и чисел:
Строк данных столько сколько с. э..
Подсистемы соединяются в узлах крепления (узлах геометрии). В мостах можно соединять точку крепления с точкой контакта с дорогой (т.е. соединительный элемент расположен внутри моста, например, для моделирования свойств шины).
Блок может отсутствовать, если имеются мосты. Имя блока - BL18. Строка данных - состоит из 4-х чисел:
Спец. сила может содержать до шести составляющих. Спец. сил может быть не более 1000.
Блок может отсутствовать, если отсутствует BL18. Имя блока - BL19. Строка данных - состоит из 3-х чисел:
Строк столько, сколько спец. сил описано в BL18. Спец. сила может быть приложена только в узле крепления. Точка центр масс (Ц.М.) - всегда точка крепления. Спец. сила, имитирующая вес, может быть приложена только к подсистеме ’твердое тело’ в Ц.М.
Последовательность описания блоков данных, представленная ниже, определяет последовательность ввода.
Блок может отсутствовать, в этом случае данные будут взяты из библиотеки тел (подсистем). Имя блока - BL31. Строка данных - состоит из 5-ти чисел:
Строк данных столько, сколько подсистем.
Блок необходим только при изменении координат точек тел. При отсутствии описания координат точки тела в блоке данные будут взяты из библиотеки тел (подсистем). Имя блока - BL32. Строка данных - состоит из 5-ти чисел:
Строк данных столько, сколько точек крепления. Координаты задаются в локальной системе координат в метрах. Вводятся не сами координаты точек а смещения точек относительно ц. м. тела.
Присутствие блока обязательно. Имя блока - BL33. Строка данных - состоит из 4-х чисел:
В строках данных описывается сначала упругое слагаемое, а затем демпфирующее. В блоке должны быть описаны все характеристики соединительных элементов.
Блок может отсутствовать. Имя блока - BL34. Строка данных - состоит из 3-х чисел:
В строках должны быть описаны параметры всех специальных сил, заданных в блоке 19.
Блок может отсутствовать если в модели нет упругих тел. Имя блока - BL35. Строка данных - состоит из 5-ти чисел:
Строк данных столько, сколько упругих подсистем.
Блок может отсутствовать. Имя блока - BL36. Строка данных - состоит из 5-ти чисел:
Строк данных столько сколько мостов, не считая передний мост.
Блок может отсутствовать. Имя блока - BL37. Строка данных - состоит из 6-ти чисел:
Следующие пять чисел в зависимости от вида возбуждения имеют следующий смысл:
Строк данных 2 - левая и правая колеи.
Система не предопределяет жестко пользование только одной системой единиц. Однако, вся
выводимая информация сопровождается комментариями в системе СИ, поэтому предпочтительнее
пользоваться ею.
МАССА - кг (килограмм), ДЛИНА - м (метр), ВРЕМЯ - с (секунда), СИЛА - Н (ньютон).
Для упрощения описания структуры и параметров моделей, вводятся дополнительные возможности, которые обеспечиваются препроцессором. Программа препроцессора имеет имя crmodelm.exe для обработки данных шага МОДЕЛЬ и crmodelr.exe для обработки данных шага РАСЧЕТ. Имя входного файла для препроцессора содержится в файле с именем crmodelp.tmp. Выходной файл препроцессора имеет постоянное имя modelp.mdl для шага МОДЕЛЬ или rashetp.ras для шага РАСЧЕТ. Эти имена заносятся в файл crmodel.tmp из которого они считываютя при вводе. Рассмотрим основные возможности препроцессора.
Численные значения параметров уравнений движения могут задаваться с помощью имен-идентификаторов, которым предварительно присвоено значение. Имя может встречаться после своего определения произвольное количество раз. Синтаксис строки определения константы: имя = значение, где ‘имя’ - символьная строка без пробелов, ’значение’ - арифметическое выражение из констант и ранее определенных имен. В качестве символов для имени могут использоваться только буквы латинского алфавита. В выражении допускаются операции сложения, вычитания, умножения, деления, а также левая и правая круглые скобки. Кроме этого предусмотрены функции SIN, COS, SQRT (квадратный корень). Определенная константа может использоваться в строках блоков описания, например:
В режиме оптимизации последовательность определения параметров соответствует последовательности варьируемых параметров. Арифметические выражения могут использоваться не только в правой части присваивания, но и в любом месте исходного файла. Препроцессор различает целое и вещественное число по наличию или отсутствию десятичной точки.
В файле допускаются вставки. Для этого в первую позицию строки заносится символ #, за которым без пробела следует имя файла. Например:
#fn1.ras
Подразумевается, что в файле fn1.ras содержится какая-то информация для препроцессора. Если имя файла макро имеет расширение mhl (файл с дополнительной информацией для шага МОДЕЛЬ), то его содержимое после замены констант выводится в файл с постоянным именем modhelpp.mhl. Если имя файла макро имеет расширение rhl (файл с дополнительной информацией для шага РАСЧЕТ), то его содержимое после замены констант выводится в файл с постоянным именем rashelpp.rhl.
Препроцессор содержит условный оператор типа
Формат оператора:
Условие записывается в форме: выражение1 операция_сравнения выражение2.
Допускаются следующие операции сравнения:
== - равно,
!= - не равно,
> - больше,
< - меньше.
Пример:
Если выражение не определено, то его значение считается равным 0.
Макроопределения или просто макро - параметризованные фрагменты описания отдельных частей модели, позволяющие упростить описание сложных моделей. Синтаксис макро - аналогично вставке, только имя файла должно иметь расширение *.mac, за которым через пробелы должны быть перечислены фактические параметры макро. Например:
#rail.mac 1 a1 49 1 massa
Тексты макро хранятся в в одноименных файлах, которые собраны в директории
../UTILF/MACRO. Количество параметров макро и вложенность не ограничиваются. Формальные
параметры в тексте макро именуются идентификаторами вида pXX, где XX порядковый номер
формального параметра в обращении ( например p1, p12 и т.д.). Перед строкой вызова макро
должен стоять ’@’ комментарий, задающий имя уникальное имя данного экземпляра макро, и
который может использоваться в макро специальным образом - см. ниже. Вызов макро должен
стоять после описания всех блоков. Макро может содержать описания блоков как для шага
МОДЕЛЬ, так и РАСЧЕТ, смысл формальных параметров при этом различен для блоков разных
шагов. Все идентификаторы, объявленные в макро носят локальный характер и теряют свои
значения после выхода.
Для согласования нумерации основных типов элементов, применяемых для описания моделей во ФРУНДе, в макро и в основной программе (файле описания рсчетной схемы) используются системные переменные, значения которых автоматически вычисляются препроцессором. Такие системные переменные обозначаются идентификаторами, начинающимися со следующих символов:
npt - номера подсистем твердых или упругих тел; npu - номера подсистем объектов контуров управления; nmx - номера механических характеристик; nse - номера соединительных элементов; nss - номера сил нагрузок - спец. сил.
Например npt1, nmx22 и т.д.
Для выполнения некоторых специфических действий, в макро введены системные функции, которые для своей работы используют значения формальных параметров макро. Вызов функций производится заданием их имени в строке, начиная с первой позиции. Введены следующие функции:
w_mhl2 - запись в файл default.mhl строчки указания, что соединительный элемент является "пружиной в шарнирах". Функция использует 1 параметр: номер соединительного элемента.
w_mhl3 - запись в файл default.mhl строчки указания, о направлении оси вращения колеса и точки его контакта с доргой. Использует 4 параметра:
w_rhl3 - запись в файл default.rhl величины свободной длины пружины в шарнире. Функция использует 2 параметра:
w_ktcom - запись в файл defaulm.upr комментария к контрольной точке. Текст комментария должен задаваться как ’@’ комментарий в строчке, предшествующей вызову макро.
w_copyf - копирование файлов. Имена файлов задаются последовательно в ’@’ комментарии в строчке, предшествующей вызову макро. Первым задается имя файла который нужно скопировать, вторым имя файла в который копируется.
w_kt - запись в файл defaulm.upr контрольной точки описания выводимого параметра. Функция использует следующие параметры:
В стандартную конфигурацию ФРУНДа входят макро, необходимые для полного описания модели из файлов *.mdl и *.ras. К таким макро относятся:
tspring.mac - задание признака пружины в шарнире для шага МОДЕЛЬ. Макро имеет один параметр: номер соединительного элемента.
lspring.mac - задание свободной длины пружины в шарнире для шага РАСЧЕТ. Макро имеет два параметра:
Если данное макро вызывается из другого макро, то номер соединительного элемента определяется автоматически, а на месте фактического параметра может стоять любое значение.
wkt.mac - генерация контрольной точки для вывода результатов. Параметры - см. параметры системных функции w_kt и w_ktcom.
copyf.mac - копирование файлов. Имена файлов задаются последовательно в ’@’ комментарии в строчке, предшествующей вызову макро. Первым задается имя файла который нужно скопировать, вторым - имя файла в который копируется.
kkoleso.mac - запись в файл default.mhl строчки указания, о направлении оси вращения колеса и точки его контакта с дорогой. Использует 4 параметра:
Кроме указанных набор макро, хранящийся в директории ../UTILF/MACRO может содержать параметризованные описания специфических элементов - взаимодействие колесной пары с рельсом, листовую рессору и т.д. Описание которых содержится в комментариях, хранящихся в самих макро. Часть таких макро описана в главе 11.
Управляющая информация, необходимая для интегрирования уравнений математической модели, задается в файле с постоянным именем uprf, при работе в оболочке файлы с расширением upr. Первая строка указанного файла содержит значения управляющих переменных в свободном формате, вторая строка - обязательный комментарий (опускаться не может!) содержит, например, символическое обозначение управляющих переменных. Начиная с третьей строки могут задаваться описания контрольных точек для вывода результатов - см. главу 4.
В управляющие переменные для интегрирования уравнений введена переменная, от которой может зависеть возмущение конструкции, например, скорость движения транспортного средства или частота периодической силы. Далее такая переменная будет называться просто скоростью или частотой.
Управляющие переменные интегрирования задаются в одной первой строке в следующей последовательности:
Установлены следующие коды накопления:
1 - накапливаются все результаты интегрирования,
2 - накапливаются перемещения, скорости, ускорения обобщенных координат,
3 - накапливаются только перемещения обобщенных координат,
4 - накапливаются только скорости обобщенных координат,
5 - накапливаются только ускорения обобщенных координат,
6 - накапливаются относительные перемещения, скорости в с.э. и силы в них,
7 - накапливаются только те переменные, которые описаны в контрольных точках в файле uprf.
Этот способ требует минимального объема дисковой памяти.
В системе моделирование подключено две процедуры интегрирования - метод Рунге - Кутта четвертого порядка и метод Чанга - метод первого порядка. Оба метода явные. Неявные методы (метод Гира) не включены в стандартную конфигурацию пакета, поскольку при тестовых расчетах для больших моделей не показали преимуществ.
Тип процедуры интегрирования задается в коде расчета. При обычном задании кода расчета используется метод Рунге - Кутта. Для задания метода Чанга необходимо код расчета увеличить на 10. Например: код расчета 1 - метод Рунге Кутта, код расчета 11 - метод Чанга.
При расчете собственных частот и форм используется дополнительная информация, которая заносится в файл epsilst. В указанном файле в первой строке идут последовательно:
При отсутствии файла epsilst, берутся значения по умолчанию. При расчете собственных частот и форм для нелинейной модели строится линеаризованная матрица жесткости. Матрица жесткости из-за нелинейностей может получаться несимметричной, в этом случае она симметризуется взятием среднего арифметического симметричных членов. Однако нужно обращать внимание, что такой прием может приводить к сильному искажению решения, например, появлению отрицательных частот.
Укажем, что линеаризация нелинейности типа рессоры НАМИ (п.п. 6.2) производится по внешней характеристике на текущем участке. При построении матрицы жесткости программа запрашивает наличие в модели форм перемещений как твердого тела, и в случае утвердительного ответа запрашивает корректировочный множитель, который используется для корректировки матрицы. Корректировочный множитель имеет величину порядка низшей собственной ненулевой частоты колебаний. При выводе частоты приводятся к частотам исходной матрицы. Корректировка матрицы может производиться так же при наличии нулевых диагональных членов, такие члены в этом случае заменяются значениями равным минимальному диагональному коэффициенту, деленному на 100.
При наличии в системе кинематических связей, такие связи заменяются упругими связями, с жесткостями, равными максимальному диагональному коэффициенту, умноженному на коэффициент кратности (по умолчанию 100). При выводе частот в этом случае выводятся только частоты, соответствующие реальным степеням свободы системы. Если при расчете получается отрицательная собственная частота, то выдается соответствующее сообщение, а самой частоте присваивается малое положительное значение - 0.00008. Значения частот и соответствующие им формы можно посмотреть, построив анимацию для форм колебаний.
При интегрировании уравнений с кинематическими парами используется информация из файла epsilon.dat - см. главу 9, при работе в оболочке такие файлы имеют расширение int. Если не используется схема стабилизации решения (первые три числа в файле равны 0), то для получения допустимого по точности решения, следует задать только погрешность смещения в шарнирах - пятый параметр в файле. Рекомендуемое значение погрешности - 0.0001. В случае превышения смещения в шарнирах заданного расчет будет останавливаться с сообщением "раскрытие шарниров". В таких случаях следует использовать стабилизацию решения в соответствии с изложенным в главе 9.
При работе с моделями с кинематическими парами для начала решения необходимо знать
начальное положение механизма - начальные условия. Для их определения служит код расчета 8
- сборка механизмов. Для задания параметров сборки используется информация из
файла epsilon.dat - см. главу 9. При этом существенное значение имеют следующие
параметры:
1 - коэффициент стабилизирующих консервативных сил,
2 - коэффициент стабилизирующих диссипативных сил,
5 - максимальная допустимая погрешность в шарнирах,
6 - код схемы стабилизации, 1-улучшенная, 0-обычная,
9 - код интегрирования уравнений Эйлера,
10 - коэффициент условия прекращения сборки из-за несходимости (целое число >=
1),
12 - шаг времени пересчета погрешности в шарнирах,
13 - шаг подсоединения уравнений связей при сборке,
14 - условие печати вычисления погрешности в шарнирах (0 есть печать, 1 нет).
Алгоритмически сборка производится путем последовательного присоединения звеньев механизма или отдельных связей , что определяется 13-ым параметром файла epsilon.dat. Процесс сборки можно наблюдать, построив анимационное изображение движения системы при сборке. Сборка может не сходиться по двум причинам - из-за несобираемости самого механизма и из-за того, что в процессе сборки механизм попадает в особое положение, из которого не может выйти. Причина эта может быть установлена при просмотре процесса сборки на аниматоре. В первом случае исправляется расчетная схема модели или ее параметры. Во втором - строится модифицированная модель, обеспечивающая достижение одного из возможных положений реальной модели, но содержащая измененные кинематические пары, возможно и с избыточными связями. Например, при использовании только сферических шарниров сборка будет сходиться всегда (при условии собираемости самого механизма). Файл начальных условий, получаемый в конце сборки содержит одно из возможных начальных положений механизма, с которого можно начинать решение динамической задачи. Сборка может проводиться поэтапно, параллельно с усложнением модели, путем добавления в нее новых тел. При этом каждое конечное положение предыдущей модели служит начальным для последующей.
Начальные условия по умолчанию считаются нулевыми. Специально начальные условия могут задаваться из файлов с начальными условиями, при работе в оболочке - файлы с расширением ico.
В качестве исходного приближения начальных условий используется файл default.ico, который автоматически формируется после ввода структуры модели. Однако при моделировании больших движений такие начальные условия не всегда соответствуют собранному механизму. Поэтому для определения начальных условий следует применить процедуру сборки. После окончания интегрирования уравнений конечные значения переменных состояния запоминаются в файле initcond.ico. Этот файл можно использовать как начальные условия в следующих расчетах.
При каждом запуске rashet32 программа проверяет наличие файла с именем initcond.inp, и, если он существует, то считывает из него начальные условия, считая, что они записаны в формате файла initcond.ico. Другими словами, в файл initcond.inp копируется содержимое нужного файла initcond.ico. Файл initcond.ico содержит записи с номерами тел и начальными условиями для этих тел. Файлы указанного формата могут использоваться для разных моделей, если в этих моделях нумерация идентичных тел совпадает. То есть, начальные условия для более простой модели могут использоваться для более сложной модели, если эта простая модель целиком входит в сложную и имеет одинаковую нумерацию общих тел и совпадающие степени свободы у таких тел. Начальные условия для моделей с упругими телами находятся в два этапа. Сначала определяются начальные условия для модели в которой упругие тела описаны как твердые. Затем в полученном файле с начальными условиями модифицируются номера упругих тел - номера записываются со знаком минус. Такой модифицированный файл однократно используется для расчета модели с упругими телами. Полученные после такого расчета начальные условия можно в дальнейшем использовать при расчетах с упругими телами.
При расчетах систем с упругими элементами и нагруженных постоянными силами (силами веса) для начала расчета необходимо определять статическое положение системы. Для этого используется код расчета 9. Условием нахождения статического положения является уменьшение кинетической энергии системы в максимуме ниже пороговой величины, определяемой параметром 5 в файле epsilon.dat - п.п. 3.5. Статическое положение системы выводится в файл начальных условий - initcond.ico.
Описание вида обработки задается в постоянном файле uprf (файлы с расширением upr в оболочке), в котором содержится и управляющая информация для интегрирования уравнений. Задание вида обработки производится парами строк, начиная с третьей строки файла. Каждая пара строк идентифицирует один объект - контрольную точку. В первой строке каждой пары задается имя контрольной точки, содержащее не более сорока символов, во второй строке пары задаются последовательно следующие параметры:
Класс вывода определяет качественный вид параметра, характеристики которого следует обработать и вывести. Установлены следующие классы вывода:
Примечание: 7 и 8 классы действуют только для кодов вывода 1 и 2.
Код вывода определяет вид обработки тех или иных параметров движения системы. Установлены
следующие коды вывода:
Код вывода 1 - графики реализаций процессов. В позициях 18-20 задаются начальное, конечное
значение интервала времени, в котором необходимо построить график, и шаг абсциссы графика в
секундах.
Код вывода 2 - графики спектров мощности процессов в интересующем диапазоне частот. В
позициях 18-20 задаются начальная, конечная частота спектра и шаг (разрешение) спектра в
герцах. Размерность спектра - (размерность параметра)^2/Гц. Спектр вычисляется с помощью БПФ
(быстрого преобразования Фурье). Реализация разбивается на блоки с длиной кратной степени
двойки и наложением 75%. Результирующий спектр усредняется по блокам. Минимальное
разрешение спектра определяется длиной блока. Если заданный шаг разрешения меньше
минимального, то при выводе он назначается равным минимальному. Если заданный шаг
разрешения больше минимального, то он округляется до наименьшего целого. При вычислении
спектров используются временные окна. Длина блока под реализации и вид окна определяются в
файле windef в котором последовательно задаются код вида окна и степень двойки длины под
реализации. Определены следующие коды вида окон:
По умолчанию устанавливается окно Хэннинга и длина под реализации 1024 точки - степень двойки
10. Настройки, задаваемые в файле windef действуют на все коды вывода, использующие
БПФ.
Код вывода 3 - таблицы среднеквадратичных значений процессов во всем диапазоне частот. В
позициях 18-20 задаются нули.
Код вывода 4 - таблицы среднеквадратических значений скоростей и ускорений в треть октавных
полосах частот по сравнению с нормами. В позиции 18 задается число октавных полос(максимум
7), в позициях 19, 20 - нули.
Код вывода 5 - график функции когерентности двух процессов. В позициях 18 - 20 задаются
начальное, конечное значение частотного интервала и шаг по частоте. По данному коду каждая
функция когерентности описывается двумя парами строк, причем в каждой строке в позициях 5 -
10 и 11 - 13 должно стоять только по одному признаку. Комментарий будет выводиться только из
первой пары строк. Каждая пара определяет один из процессов, функции когерентности которых
определяются. Код вывода 6 - таблицы характеристик выбросов процессов за интересующий
уровень. В позиции 18 задается значение уровня, в позиции 19 - признак направления выброса
- положительное число - выброс вверх, отрицательное - вниз. В позиции 20 задается
нуль.
Код вывода 7 - графики спектров мощности процессов в интересующем диапазоне частот со
сглаживанием по треть октавам. Позиции 18-20 задаются аналогично коду 2.
Код вывода 8 - гистограммы распределения процессов. В позициях 18-20 задаются нули.
Код вывода 9 - таблицы мощностей, рассеиваемых в диссипативных элементах системы (только
для класса вывода 3). В позициях 18-20 задаются нули, в позициях 11 - 12 задаются всегда нули, в
позиции 13 - отличное от нуля число.
Код вывода 10 - графики мнимых и действительных частей амплитуд процессов при
периодическом возбуждении. В позициях 18-20 задаются нули. Этот код вывода следует
применять только при коде расчета 4.
Код вывода 11 - графики мнимых и действительных частей амплитуд процессов при
периодическом возбуждении. В позициях 18-20 задаются нули.
Код вывода 12 - фазовые портреты процессов. В позициях 18-20 задаются нули.
Код вывода 13 - графики среднеквадратических значений скоростей и ускорений в треть октавных
полосах частот по сравнению с нормами. В позициях 18 - 20 задаются значения, аналогичные коду
4.
Код вывода 14 - график двумерной плотности распределения вероятности двух процессов.
Возможна одновременная обработка только одной пары процессов. Описание пар - аналогично
коду 5.
Код вывода 15 - таблицы квантилей процессов. В позициях 18-20 задаются нули.
Код вывода 16 - таблицы спектров мощности скоростей и ускорений в треть октавных
полосах частот по сравнению с нормами. В позиции 18 задается число октавных полос,
в позициях 19, 20 - нули. Код вывода 17 - графики спектров мощности процессов в
треть октавных полосах частот. В позициях 18-20 задаются значения, аналогичные коду
16.
Код вывода 19 - подготовка данных для аниматора. В позициях 18-20 задаются начальное,
конечное значение интервала времени, и шаг по времени. Код работает только с классом вывода
1.
Код вывода 20 - подготовка данных для анимации сил. В позициях 18-20 задаются начальное,
конечное значение интервала времени, и шаг по времени. Код работает только с классом вывода
3.
Код вывода 21 - сброс необработанных реализаций в ASCII файлы для дальнейшей обработки
другими программами. Данные сбрасываются в файлы - fcN.dat, frN.dat, где N - номер класса
вывода. fcN.dat содержит имена процессов и названия размерностей. frN.dat - шаг дискретизации
(первое число), затем группы значений реализаций. Код работает для классов вывода
1,2,3.
Код вывода 25 - графики передаточной функции. Задание контрольных точек и параметров
аналогично коду вывода 5.
Код вывода 26 - графики фазы двух процессов. Задание контрольных точек и параметров
аналогично коду вывода 5.
Код вывода 27 - графики взаимных спектров. Задание контрольных точек и параметров
аналогично коду вывода 5.
Код вывода 33 - построение СКЗ процессов в зависимости от скорости.
Код вывода 38 - построение максимальных значений процессов в зависимости от скорости.
Код вывода 49 - подготовка данных для анимации собственных форм колебаний. В позиции 18
задается количество выводимых форм (по умолчанию все формы модели), в позиции
19-количество выводимых положений для одной формы (по умолчанию 2). Код вывода
применяется только для кода рас чета 7.
Программа визуализации benafin предназначена для построения графиков. Считается, что графики предварительно рассчитаны с помощью программы viv и соответствующие данные записаны в файле в требуемом формате - файлы с расширением bnf. Программа позволяет изображать одновременно один график из файла. В файле может быть до 50 графиков. К программе можно подключить до 10 файлов с данными (имена файлов могут повторяться).
В начале работы программа запрашивает имя файла с данными для построения графиков ( по умолчанию файл имеет имя benafi.bnf). Если необходимо отказаться от ввода имени файла то нужно ввести ^ Z. После ввода имени файла программа открывает его и полностью прочитывает (операция чтения файла занимает некоторое время), при этом происходит проверка правильности задания данных и, если будет обнаружена ошибка в данных, то весь файл закрывается как непригодный для работы. При просмотре графиков возможен переход к последующему графику и к предыдущему (PgDn и PgUp), а также установка на первый и последний графики в файле (Home и End). Для подключения еще одного файла с данными необходимо нажать клавишу [O/o], и ввести (выбрать) имя файла. Переключение между графиками осуществляется по вводу номера канала, к которому подсоединен файл (номера каналов 0...9), путем нажатия клавиши с цифрой номера канала. Информацию о том, к какому каналу подсоединен файл можно получить из таблицы подсказки, которая вызывается при нажатии клавиши [H/h].
Программа просмотра графиков обладает широким набором функций - наложение графиков, математические операции и т.д. В таблице подсказки приведен полный список операций и управляющих клавиш.
При просмотре графиков можно производить следующие операции:
клавиша | операция |
0...9 | переключение на канал номер 0 - 9, |
PgUp/PgDn | следующий/предыдущий график, |
Home/End | первый/последний график, |
A/a | наложить на текущий график другой график, |
W/w | построить зависимость функции первого графика от функции второго, |
P | сбросить график в файл формата HPGL, дополнительно в файл text.txt при этом, сбрасываются массивы абсцисс и ординат графика, которые можно использовать для редактирования другими программами, например Excel, |
p | сбросить график в файл в формате матричного принтера, |
R/r | записать график в файл с другим именем (расширением bnf), |
E/e | редактировать надписи комментариев графика, |
S/s | редактировать надписи осей графика, |
M/m | редактировать границы графика (масштаб), |
L/l | выдать координаты указанной точки графика, |
K/k | выдать кратные частоты указанной точки графика (команда применяется после команды L/l), |
H/h | выдать список команд, |
O/o | открыть новый файл с графиками по следующему каналу, |
G/g | логарифмический масштаб по обеим осям, |
C/c | линейный масштаб по обеим осям, |
D/d | интеграл/СКО графика, |
B/b | интеграл/СКО графика в указанном диапазоне, |
Z/z | нормированная свертка спектра вибраций по оси Z, |
x/y | нормированная свертка спектра вибраций по осям X/Y, |
N/n | определение параметров затухания свободных колебаний, |
^p | сжать поле графика, |
^n | разжать поле графика, |
^w | черно - белое/цветное изображение, |
+-*/ | арифметические операции с графиками, |
Alt q | квадратный корень из суммы квадратов двух графиков, |
Alt + Alt * | сложение/умножение графиков на константы, |
Alt c | умножение первого графика на косинус второго. При умножении передаточной функции на косинус фазы получаем коэффициент жесткости, |
Alt s | умножение первого графика на синус второго. При умножении передаточной функции на синус фазы получаем коэффициент вязкого сопротивления, |
F/f | умножение/деление на аргумент*6.2832, |
V/v | дифференцирование/интегрирование спектра, |
I/i | двойное дифференцирование/интегрирование спектра, |
Q/q | квадратный корень из графика, |
^o | закрыть текущий канал, |
^z | выйти из программы, |
Alt x | выйти из программы. |
Данные, необходимые для построения графика записаны в файл в следующем порядке (бесформатный вывод программой на языке FORTRAN):
Первая запись: символ ’%’, обозначающий начало каждого графика.
Вторая запись:
Третья запись: имя расчетной задачи (char *80).
Четвертая запись: имя контрольной точки (char *80).
Пятая запись: имя оси X (char *32).
Шестая запись: имя оси Y (char *32).
Первая запись: символ ’@’, обозначающий начало каждой кривой данного графика.
Вторая запись: имя кривой (char *80).
Третья запись:
В каждой записи файла задается 1 точка кривой. Формат зависит от типа кривой:
Число записей с координатами точек равно числу точек графика.
Данные для нескольких графиков располагаются в файле последовательно (для каждого графика задаются свои данные). В конце всего файла с графиками производится запись символа ‘#’.
Программа анимации multic предназначена для изображения пространственного движения систем твердых и упругих тел. Считается, что движение тел предварительно рассчитано с помощью любой проблемной программы и соответствующие данные представлены в требуемом формате. Программа позволяет изображать механическую систему, содержащую до 50 тел, а также показывать силы, действующие в точках тел. Для показа движения упругих тел используются данные по собственным частотами формам тела.
Входные данные для аниматора вводятся из единого файла, имя которого запрашивается на терминале. При работе программы crmodel для шага МОДЕЛЬ входной файл для аниматора и все необходимые для него файлы (кроме файлов с координатами тел и значениями сил) образуются автоматически. Входной файл в этом случае имеет расширение anc. Управление картинкой при просмотре осуществляется с помощью "горячих"клавиш. Последовательность расположения данных для аниматора во входном файле приводится на нижеследующем примере:
4 | количество тел в системе, |
sdvigd.dat | файл с начальным взаимным расположением тел, |
1 | признак наличия фона (неподвижного тела), 0 -нет фона, |
5 | число показываемых сил ( 0 - нет сил ), |
dsil.dat | файл с описанием изображаемых сил, |
sil.dat | файл со значениями сил, |
stanina.dat | файл с геометрией фона ( фон считается телом 1), |
geod4.dat | файл с геометрией второго тела, |
mov4.dat | файл с координатами второго тела, |
geod1.dat | файл с геометрией третьего тела, |
mov1.dat | файл с координатами третьего тела, |
geod3.dat | файл с геометрией четвертого тела, |
mov3.dat | файл с координатами четвертого тела. |
При визуализации одного тела файл с начальным расположением тел не вводится. При отсутствии изображения сил не вводятся файлы с описанием и значениями сил. Если какое-то тело необходимо исключить из показа, то перед именами файлов с геометрией и координатами этого тела ставится знак ’-’ (минус). Если для данной модели требуется автоматический запуск ”кино”, то имя файла ”кино” указывается последним. В качестве признака конца данных в файле для аниматора используется в случае необходимости символ ’&’.
При анимации можно производить следующие манипуляции с изображением:
клавиша | операция, |
x/X | поворот картинки вокруг оси x вперед/назад, |
y/Y | поворот картинки вокруг оси y вперед/назад, |
z/Z | поворот картинки вокруг оси z вперед/назад, |
l/L | уменьшение/увеличение масштаба линейных перемещений, |
u/U | уменьшение/увеличение масштаба угловых перемещений, |
v/V | уменьшение/увеличение скорости движения, |
s | остановка движения тел, |
b/B | возобновление движения тел, |
p/P | сброс картинки в файл для печати матричным принтером, |
^z | завершение работы, |
a/A | добавление шлейфа в изображение, |
d/D | снятие шлейфа в изображении, |
? | смещение картинки вверх, |
? | смещение картинки влево, |
? | смещение картинки вправо, |
? | смещение картинки вниз, |
r | обращение направления прокрутки времени, |
w/W | уменьшение/увеличение изображения, |
e/E | уменьшение/увеличение масштаба векторов сил, |
f/F | выкл/вкл изображения векторов сил, |
c | смена цвета фона экрана, |
C | установка режима сохранения следа, |
O/o | вкл/выкл режима раскраски тел различными цветами, |
K/k | вкл/выкл режима записи кино, |
G/g | вкл/выкл режима демонстрации кино, |
t/T | центровка изображение, |
n/N | переход к пред/след форме колебаний, |
^f | измерение изображаемых сил, |
M/m | перейти к следующей/предыдущей форме колебаний при показе перемещений упругого тела только от одной формы, |
^m | выключить режим показа перемещений упругого тела от одной формы, |
Q/q | перейти к следующей/предыдущей форме колебаний при показе форм колебаний упругого тела, |
^q | выключить режим показа форм колебаний упругого тела, |
i/I | перейти/выйти в систему координат тела, |
S | увеличить фрагмент изображения, |
T | измерить расстояние в плоскости экрана, |
D | измерить расстояние между точками, |
B | выдать координаты точки, |
A | измерить углы направляющих косинусов прямой, |
R | измерить угол развала колеса, |
P | измерить углы ориентации оси поворота колеса, |
1 | подготовить контрольные точки для вывода, |
^l/Alt l | увеличить/уменьшить масштаб показа упругих перемещений тел, |
^h | выкл/вкл показ комментариев, |
^i | выкл/вкл показ комментариев. |
Координаты положения тела задаются шестью величинами - перемещениями центра масс по трем неподвижным осям, и тремя углами поворота в подвижной системе последовательно относительно осей X, Y и Z. Координаты положения каждого тела записываются в отдельном файле в свободном формате следующим образом: первая строка - имя задачи - char *40, вторая строка - имя тела - char *40. Третья строка содержит вспомогательную информацию - признак варианта по частоте - отрицательное вещественное число, значение переменной варианта (частота), шаг приращения переменной варианта, четыре вещественных нуля(для твердого тела). После строки вспомогательной информации идут строки с координатами - первое число - время, затем шесть координат. Если по какой-то координате нет движения, то на ее место пишутся нули. При больших пространственных движениях тела после строки с координатами тела идет строка из 9 чисел с матрицей поворота тела. В одном файле может быть любое число вариантов по частоте.
Файлы описанного формата готовятся системой моделирования ФРУНД при обработке результатов решения по коду 19 и 49, классу вывода 1. Пример фрагмента файла с координатами твердого тела:
В данном файле заданы координаты движения тела для плоского случая.
Для визуализации движения системы тел каждое входящее в нее тело описывается самостоятельной геометрией, хранящейся в отдельном файле. Этот же формат используется программой vizual - пункт меню оболочки ‘Редактирование геометрии и структуры’.
Файл с геометрией имеет следующую структуру:
Число узлов - целое число, стоит в первой строке файла геометрии.Описание координат узлов - тройки чисел, задающие координаты узла в пространстве. Номер узла равен порядковому номеру тройки координат. Число троек координат должно строго равняться заданному в первой строке числу узлов. Описание элементов геометрии. Элементы геометрии задаются после описания координат узлов. Общий формат описания - тип геометрического элемента, параметры элемента. Ниже представлены существующие элементы геометрии.
Тип элемента - 2. Параметры:
Пример строки описания отрезка:
Тип элемента - 4. Параметры:
Пример строки описания окружности:
Тип элемента - 100. Параметры: номер узла геометрии, в котором расположен центр масс данного тела. Считается, что тело вращается относительно этого узла.
Пример строки описания центра масс:
Тип элемента - 300 или 999. Параметров нет. Пример строки описания конца задания геометрии:
Тип элемента - 6. Параметры:
Для аниматора существенными являются первый и шестой параметры.
Пример строки описания конца задания геометрии:
Тип элемента - 20. Параметры:
Пример строки описания конца задания геометрии:
В данном примере описаны две окружности и отрезок, соединяющий их центры.
Все силы, действующие на точки тел и которые необходимо визуализировать, записываются в одном файле, в одной строке для каждого момента времени. Первая строка такого файла содержит вспомогательную информацию аналогично п.п. 4.5.3. После строки вспомогательной информации идут строки со значениями сил для каждого момента времени. Строки со значениями сил должны быть записаны для тех же моментов времени что и координаты тел. В одном файле сил может быть любое число вариантов по скорости (частоте). Файлы такого формата готовятся системой моделирования ФРУНД при обработке результатов решения по коду 20 и классу вывода 3. После работы шага МОДЕЛЬ образуются файлы ANIMASIL.UPR с контрольными точками по коду 20. В этом файле все строки закомментированы символом ’$’ в первой позиции. Для показа нужных сил необходимо убрать комментарии с соответствующих контрольных точек в файле ANIMASIL.UPR. При обработке результатов решения по этому коду запрашивается имя файла для записи значений сил, и образуется файл с указанием точек приложения сил. Максимальное количество одновременно показываемых в аниматоре сил - 20. Пример фрагмента файла со значениями сил.
В данном файле записаны значения для пяти сил. Длина реализаций сил может быть любая.
При визуализации движения группы тел устанавливается начальное желаемое расположение тел друг относительно друга. Начальное положение задается сдвигом центров масс тел, описываемом в файле с произвольным именем. В указанном файле последовательно задаются трехмерные координаты начального положения ц. м. тел в том порядке, в котором тела будут вводится при чтении входного файла. Такая возможность может быть использована, например, для одновременного вывода двух или нескольких систем тел для сравнения их движения.
При анимации движения с изображением действующих сил, в отдельном файле задается описание точек приложения и направление действия сил. Каждая сила описывается тремя числами:
Номер тела может быть указан со знаком минус, что означает, что данная сила будет изображаться в системе координат связанной с телом, при положительном номере тела сила изображается в неподвижной системе координат. Порядок описания изображаемых сил соответствует порядку задания сил в файле представления значений сил (п.п. 4.5.5).
Аниматор дает возможность запоминания произвольной последовательности команд и последующего их воспроизведения, что позволяет создавать компьютерные фильмы. Режим работы ”кино” содержит две группы команд - запись кино - K/k и демонстрации кино - G/g. При включенном режиме записи кино все команды с клавиатуры и временные задержки сбрасываются в файл с именем kino.dat. После записи кино и выхода из программы аниматора, при необходимости следует переименовать этот файл, иначе после следующего сеанса работы программы он может быть изменен. Для автоматического запуска кино в конце файла данных для аниматора следует поставить имя файла кино. Клавиша G вызывает файл кино с именем kino.dat. В режиме демонстрации кино блокируются все клавиши кроме HELPа и выхода из режима демонстрации - g. Файл кино допускает редактирование для вставки комментариев и объединения файлов кино разных моделей. Структура файла кино - строки управляющей информации и строки команд. Строки управляющей информации начинаются с отрицательного целого числа -1,-2,-3,-4. Строки с кодами -1,-2 образуются автоматически. Строки с кодами -3,-4 служат для вставки комментариев и новых моделей. Код -3 задает новую модель, после кода строки идет имя файла для аниматора. После этой строки содержимое файла кино для данной модели копируется в сборный файл. Код -4 задает комментарии, которые появляются на экране во время демонстрации фильма. После кода строки задается количество строк комментария и в последующих строках сам текст комментария.Строки с кодами -3,-4 не могут стоять между строками с кодами -1,-2.
При анимации можно показать с помощью схемных изображений нужные соединительные элементы. Для этого в файле ********.sel (******** - код задачи) нужно раскомментировать соответствующие строки.
Файл с расширением sel состоит из закомментированных пар строк. Каждая пара относится к одному соединительному элементу. Первая строка в паре - имя соединительного элемента, служит для его указания. Вторая строка в паре содержит описание положения и схемы изображения.
Во второй строке пары последовательно перечисляются:
В зависимости от типа схемы изображения соединительного элемента параметры имеют различный смысл.
Винтовая пружина - первый параметр - диаметр пружины, второй - число витков.
Мышца - первый параметр - максимальный поперечный размер, второй свободный.
Амортизатор - первый параметр - минимальная длина амортизатора, второй - максимальная длина.
По умолчанию, при генерации файла ********.sel, все элементы показываются в виде пружин диаметром 55 мм с четырьмя витками.
Для показа соединительных элементов при анимации в файле *.sel нужно раскомментировать вторые строки пар нужных соединительных элементов и модифицировать, при необходимости, параметры этих строк.
Для расчетов динамики движения транспортных средств по неровностям дороги используются записи реализаций случайного микропрофиля, которые могут быть получены экспериментально, например, с помощью геодезической съемки, или сгенерированы с помощью численных алгоритмов. В состав системы входит программа подготовки микропрофиля, работающая с файлами экспериментальных ординат неровностей дорог трех типов автополигона НАМИ. Указанные экспериментальные файлы лежат в системной директории ФРУНДа - ../UTILF/DOROGI, а именно: bulglad - ровный булыжник; bwb1 - булыжник с выбоинами и буграми; dmd - динамометрическая дорога.
Подготовка микропрофиля производится специальной программой - obpron, которая центрирует экспериментальные ординаты высот неровностей и записывает их в необходимом виде в файл, который используется затем на шаге РАСЧЕТ. При работе из оболочки - пункт меню ‘Вспомогательные функции’, подпункт ‘Подготовка автомобильного микропрофиля’. Программа obpron работает с двумя файлами, имена которых запрашиваются с терминала. Первый файл содержит экспериментальные ординаты микропрофиля, записанные в свободном формате по 2 ординаты в строке (левая и правая колея). Первые 8 строк данного файла содержат обязательные комментарии. В качестве примера можно обратиться к поставляемым файлам bulglad, bwb1, dmd. Второй файл содержит результаты предварительной обработки микропрофиля и подается по запросу программы rashet32. Программа запрашивает также некоторые вспомогательные данные, смысл которых определяется в запросах. Более точное описание сглаживающей способности шины получается при подготовке микропрофиля под заданную скорость движения, на которой будет производиться расчет. Для пространственной модели готовятся файлы с микропрофилем, различные для каждой колеи. Для плоской модели на каждую колею можно подавать одинаковые файлы.
Если собственные формы упругих подсистем были рассчитаны в системе единиц отличной от той в которой в дальнейшем предполагается вести расчеты, то перед генерацией модели (программа model32), нужно произвести нормировку форм с учетом выбранной системы единиц. Нормировка форм производится программой umnform - пункт меню оболочки ‘Нормировка коэффициентов форм упругих тел’. Указанная программа за один вызов производит нормировку форм для одной упругой подсистемы, номер которой она запрашивает с терминала. Программа использует файл с постоянным именем mnogit, в котором перечислены нормировочные множители последовательно для всех форм. В первой строке файла mnogit указывается число форм в теле (может быть больше реального количества форм), затем в каждой строке два числа - коэффициент нормировки для перемещений и для углов, как правило эти строки одинаковые.
При моделировании упругих тел используются конечно - элементные модели таких тел, построенные с помощью существующих программ расчета МКЭ. При этом нужно учитывать два момента - нумерация узлов в КЭМ может не совпадать с нумерацией узлов в геометрии ФРУНДа и формат выдачи форм колебаний не соответствует входному формату ФРУНДа. Поэтому для связи с программами КЭМ могут использоваться специальные программы для согласования геометрии и формата передачи собственных форм. Такие программы разработаны для взаимодействия с МКЭ комплексом NASTRAN и BASYS. Рассмотрим эти программы.
Для перезаписи собственных частот и форм из формата NASTRAN в формат ФРУНД разработана программа nasf, которая осуществляет требуемое переформатирование. Для работы программы nasf требуются следующие файлы:
Программа nasf запрашивает перечисленные файлы и записывает собственные частоты и формы в формате ФРУНДа. Имя для выходного файла можно давать произвольное, рекомендуемое расширение - txt.
Программа nasf работает следующим образом. Из файла *.bdf считываются координаты узлов модели NASTRANа, а из файла *.geo считываются координаты узлов тела в модели ФРУНДа. Затем программа для каждого узла тела из геометрии ФРУНДа находит ближайший или совпадающий узел в геометрии NASTRANa. Далее записывает коэффициенты форм для ближайших узлов в выходной файл, сохраняя при этом нумерацию узлов геометрии ФРУНДа.
Геометрия для ФРУНДа может быть получена из геометрии конечно-элементной модели. Так как для расчета динамики во ФРУНДе не требуется столь точная геометрия, которая используется в NASTRANe, то необходимые узлы и контуры тела должны быть заданы в NASTRANе с помощью фиктивных стержневых элементов типа CROD. Для получения стержневой геометрии из NASTRANа в формате ФРУНДа разработана программа nrods. Для работы программы nrods требуется файл описания модели NASTRANа (расширение *.bdf) в котором обязательно описана упрощенная геометрия с помощью фиктивных стержневых элементов. После работы nrods образуется файл в формате *.geo, соответствующий геометрии фиктивных стержневых элементов.
При использовании в моделях упругих тел, как правило складывается ситуация, когда первоначально строится полностью твердотельная модель, а потом то или иное тело заменяется на упругое. В этом случае геометрия, полученная из NASTRANа с помощью программы nrods, будет обладать другой нумерацией узлов и, скорее всего, не точно совпадать со «старой» геометрией ФРУНДа. Поэтому для использования геометрии, полученной из NASTRANа, ее следует перенумеровать.
Для перенумерации геометрии служит программа renuzl. Эта программа в качестве исходных данных использует файл с геометрией тела в твердотельной модели (старую геометрию) и файл с геометрий тела, полученный из NASTRANа с помощью программы nrods (новую геометрию). Renuzl ищет в новой геометрии узлы, совпадающие (с заданной точностью)с узлами старой геометрии, и присваивает этим узлам номера старой геометрии.
Отметим, что для того чтобы использовать разные геометрии одного тела без изменения модели, такие геометрии должны обладать одинаковой нумерацией узлов, к которым подсоединяются соединительные элементы. Нумерация свободных узлов значения не имеет.
Поскольку комплекс NASTRAN может быть установлен не только на IBM совместимом компьютере, то тексты источников вышеперечисленных программ (язык C) приложены к системе ФРУНД и находятся в директории ../UTILF/NASTRAN.
basgeom - программа готовит по входному файлу системы BASYS файл геометрии в формате ФРУНДа (файл *.geo), а также файл соответствия номеров узлов в КЭМ и файле геометрии для ФРУНДа. При этом учитывается, что нумерация узлов во ФРУНДе сплошная, начиная с 1. Поэтому нумерация КЭМ изменяется в соответствии с этим а изменения записываются в файл соответствия номеров узлов.
renbas - программа готовит файл собственных форм с учетом новой нумерации узлов в геометрии ФРУНДа. Входными данными для нее являются файл собственных частот и форм, полученный из BASYSа, а также файл соответствия номеров узлов в КЭМ и ФРУНДе. После работы программы образуется файл собственных частот, который можно вводить в библиотеку ФРУНДа.
Собственные частоты и формы колебаний упругого тела могут получаться с помощью любой МКЭ программы, но для ввода в библиотеку тел они должны быть записаны в нужном формате. В файле для каждой частоты указывается ее номер, значение частоты, номера узлов и коэффициенты форм по шести направлениям. Такой формат проиллюстрируем примером:
Моделирование качения железнодорожного колеса по рельсовому пути с помощью многополюсника типа 420 - п.п. 12.4, использует данные по неровности рельсового полотна и профилю колеса и рельса. Подготовка профиля производится с помощью программы railway.exe. Программа использует три файла с постоянными именами:
В каждом из этих файлов данные хранятся в формате файлов с параметрами микропрофиля п.п. 5.1, только для левой и правой колеи заносятся одинаковые числа. Файлы с такой информацией могут быть получены из экспериментальных данных или случайные реализации в них сгенерированы численными методами. Файл spcdataz.txt должен присутствовать обязательно. При отсутствии spcdatac.txt левая и правая колея считаются одинаковыми. При отсутствии spcdatay.txt, в поперечном направлении профиль считается гладким. Выходной бесформатный файл имеет постоянное имя railway.dat и содержит суммарную информацию о неровностях.
Все реализации микропрофиля колей должны быть сгенерированы с одинаковым шагом, который задается в блоке 37 файла задания параметров расчетной схемы ФРУНДа, аналогично заданию шага дискретизации микропрофиля автомобильных дорог
Подготовка данных по профилям сечений рельса и колеса производится программой spectr.exe. Профили задаются плоскими кривыми с помощью встроенного графического редактора и хранятся в файлах с именами, задаваемыми пользователем. В настоящий момент подготовлены два файла:
С помощью соответствующей функции программы Spectr.exe подготавливаются текстовые файлы профилей в формате файлов wheelpt.dat, railpt.dat, необходимых для работы многополюсника типа 420. Рекомендуемый шаг дисретизации данных профилей - 0.5 мм.
Силы в соединительных элементах (с. э.) описываются суммой двух нелинейных, в общем случае, функций. Первое слагаемое - упругая сила, аргумент - относительное перемещение с. э. Второе слагаемое - диссипативная сила, аргумент - относительная скорость деформации с. э. При определении знаков аргументов сил в соединительных элементах, следует учитывать правило, что при сжатии соединительного элемента его относительная деформация будет положительной величиной, если первым в блоке BL17 был описан узел, положительное смещение которого вызывает сжатие соединительного элемента. В обратном случае при сжатии с. э. его деформация будет отрицательной величиной.
Рисунок 6. 1
На рис. 6.1. изображены две подсистемы 1 и 2, узлы 10 и 11 которых связаны соединительным элементом 20. Если в блоке BL17 первым был описан узел 10, т.е. строка блока имела вид
то, в этом случае, физическому сжатию соединительного элемента 20 будет соответствовать положительное значение его относительного смещения. При описании первым узла 11, его сжатию будет соответствовать отрицательное значение относительного смещения.
Такое правило справедливо при рассмотрении с. э. в случае малых движений тел и смещений в кинематических парах при больших движениях. Для с. э. типа «пружина в шарнирах» сжатию всегда соответствует положительное значение деформации, независимо от очередности описания узлов. Функция, описывающая каждое слагаемое, зависит от определенного числа параметров, задаваемых пользователем в соответствии с приводимыми ниже описаниями возможных в данной системе видов функций. Пользователь описывает вид функции силы в с. э. в исходных данных шага МOДЕЛЬ в блоке BL16, для каждого слагаемого отдельно. Затем значения параметров этих функций задаются в блоке BL33 шага РАСЧЕТ. Число параметров функции может быть больше числа вводимых параметров (в блоке BL33), поскольку некоторые параметры могут быть зависимыми и вычисляться внутри системы.
Тип номер 1 - линейная функция - рис. 6.2. Число параметров - 1. Число вводимых параметров - 1. Вводимые параметры: 1. коэффициент жесткости.
Рисунок 6. 2
Тип номер 2 - кусочно-линейная функция из двух участков, причем первый участок проходит через начало координат - Рис. 6.3. Число параметров - 4. Число вводимых параметров - 3. Вводимые параметры:
Здесь и далее участки номеруются слева направо.
Рисунок 6. 3
Тип номер 3 - кусочно-линейная функция из трех участков, причем функция на среднем участке проходит через начало координат рис. 6.4. Число параметров - 7. Число вводимых параметров - 5. Вводимые параметры:
Рисунок 6. 4
Тип номер 4 - кусочно-линейная функция из N участков - рис. 6.5. Число параметров -
(N+1)*2+1. Число вводимых параметров - (N+1)*2+1.Вводимые параметры:
1. число участков,
2. абсцисса первой точки,
3. ордината первой точки,
........................................,
(n+1)*2. - абсцисса N+1 точки,
((n+1)*2+1). - ордината N+1 точки.
Рисунок 6. 5
Тип номер 5 - симметричная кубическая парабола с линейным членом рис. 6.6. Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 6
Тип номер 7 - линейная функция, проходящая через начало координат с участком постоянного значения - рис. 6.7. Число параметров - 3. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 7
Тип номер 8 - зазор с односторонним линейным упором - рис. 6.8. Число параметров - 3. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 8
Тип номер 10 - кусочно - линейная функция с постоянным участком - рис. 6.9. Число параметров - 6. Число вводимых параметров - 4. Вводимые параметры:
Рисунок 6. 9
Тип номер 11 - кусочно - линейная функция с постоянным участком - рис. 6.10. Число параметров - 6. Число вводимых параметров - 4. Вводимые параметры:
Рисунок 6. 10
Тип номер 13 - линейная функция с постоянным смещением - рис. 6.11. Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 11
Тип номер 30 - модель рессоры НАМИ - рис. 6.12. Число параметров - 20. Число вводимых параметров - 20. Вводимые параметры:
Рисунок 6. 12
Тип номер 31 - линейный матричный упругий элемент с матрицей 3*3. Число параметров - 11. Число вводимых параметров - 11. Вводимые параметры:
1-9. значения элементов матрицы жесткости, задаваемые последовательно по столбцам,
10. угол поворота элемента вокруг оси X в градусах,
11. угол поворота элемента вокруг оси Y в градусах.
Матричный упругий элемент может применяться только для случая наличия трех составляющих сил в механической характеристике - по осям X,Y,Z, хотя реальная жесткость может присутствовать только по одной оси. Матрица жесткости задается в неподвижной системе координат, а реальная ее ориентация определяется двумя углами.
При описании механической характеристики матрица жесткости должна быть повторена в каждой составляющей. Матричный упругий элемент должен использоваться совместно с матричным демпфирующим элементом типа 61.
Тип номер 50 - линейная функция - линейное вязкое демпфирование - рис. 6.13. Число параметров - 1. Число вводимых параметров - 1. Вводимые параметры: 1. коэффициент демпфирования.
Рисунок 6. 13
Тип номер 51 - линейное вязкое демпфирование с сухим трением - рис. 6.14. Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 14
Тип номер 52 - кусочно-линейная функция из N участков. Число параметров - (N+1)*2+1.
Число вводимых параметров - (N+1)*2+1. Вводимые параметры:
1. число участков (N),
2. абсцисса первой точки,
3. ордината первой точки,
........................................,
(n+1)*2. - абсцисса N+1 точки,
((n+1)*2+1). - ордината N+1 точки.
Тип номер 53 - сухое трение с начальным вязким участком - рис. 6.15. Число параметров - 3. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 15
Тип номер 54 - кусочно - линейная функция из двух участков, проходящая через ноль - рис. 6.16.Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Рисунок 6. 16
Тип номер 55 - кусочно - линейная функция из четырех участков, проходящая через начало координат (автомобильный амортизатор) - рис.6.17. Число параметров - 8. Число вводимых параметров - 6. Вводимые параметры:
Рисунок 6. 17
Тип номер 56 - сухое трение с начальным вязким и ниспадающим основным участком - рис. 6.18.Число параметров - 5. Число вводимых параметров - 3. Вводимые параметры:
Рисунок 6. 18
Тип номер 58 - вязкое демпфирование, включающееся при ударе в односторонний ограничитель. Число параметров - 2. Число вводимых параметров -2. Вводимые параметры:
Данный тип является функцией двух переменных - относительной скорости и относительного смещения.
Тип номер 61 - матричный демпфирующий элемент с матрицей 3*3. Число параметров - 11.
Число вводимых параметров - 11. Вводимые параметры:
1 - 9.значения элементов матрицы демпфирования. Задаются последовательно по столбцам.
10.угол поворота элемента вокруг оси X в градусах.
11.угол поворота элемента вокруг оси Y в градусах.
Замечания - см. замечания к типу 31 упругой составляющей.
Специальная сила (с. с.) -это сила, зависящая от времени. Пользователь указывает вид функциональной зависимости с. с. в исходных данных шага МОДЕЛЬ. Различаются следующие типы функций с. с.:
Указанные функции применяются для моделирования сил, вызванных дисбалансом вращающихся масс.Функции, не требующие аргументов, могут относиться к любому типу.
Тип номер 1 - периодическое возбуждение. Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Тип номер 2 - постоянная сила. Число параметров - 1. Число вводимых параметров - 1. Вводимые параметры: величина силы.
Тип номер 3 - сила веса. Число параметров - 1. Число вводимых параметров - 1. Данный вид с.с. применяется для моделирования весовой нагрузки. Величина силы вычисляется автоматически по массе тела. Сила имеет отрицательный знак. Может действовать только на твердое тело по оси Z.
Тип номер 4 - периодическое импульсное воздействие синусообразной формы. Число параметров - 5. Число вводимых параметров - 4. Вводимые параметры:
Тип номер 12 - периодическое воздействие с переменной частотой. Число параметров - 4. Число вводимых параметров - 4. Вводимые параметры:
Тип номер 13 - Прямоугольный импульс. Число параметров - 3. Число вводимых параметров - 3. Вводимые параметры:
Тип номер 31 - дисбаланс вращающихся масс. Число параметров - 3. Число вводимых параметров - 3. Вводимые параметры:
Тип номер 32 - периодическое возмущение, с амплитудой, пропорциональной квадрату частоты. Число параметров - 2. Число вводимых параметров - 2. Вводимые параметры:
Примечание. Данный тип функции предназначен для моделирования сил от дисбаланса при коде расчета 4 (резонансные испытания). Тип номер 201 – скачок с косинусоидальными участками возрастания и убывания. Число параметров - 5. Число вводимых параметров - 5. Вводимые параметры:
Тип номер 202 – табличная периодическая функция. Число параметров - 3. Число вводимых параметров - 3. Вводимые параметры:
Данный тип функции использует таблицу значений ординат, хранящихся в файле с именем ss202N, где N – номер функции. Например имя файла для функции с номером 3 будет – ss2023. В файле с ординатами перечислены значения функции для равномерного шага за один период.
Система моделирования ФРУНД позволяет пользователю создавать свои произвольные типы зависимостей сил в податливых связях и нагрузках и использовать их в моделях ФРУНДа. Такая возможность реализуется путем написания пользователем своей подпрограммы вычисления силы и стандарта подсоединения такой подпрограммы в систему моделирования.
Свободно программируемые типы сил в соединительных элементах имеют зарезервированные номера типов начиная с 60. Такой номер типа относится к упругому слагаемому в механической характеристики. При описании механической характеристики в блоке 16, упругому слагаемому нужной составляющей присваивается свободный, выбранный пользователем тип, например 60. Количество параметров упругого слагаемого и их смысл определяется пользователем. Демпфирующее слагаемое в таком случае можно указывать любое (например линейное), в модели оно будет игнорироваться. Например:
Для вычисления значения силы пользователю необходимо написать подпрограмму на языке ФОРТРАН со стандартным именем и входом. Имя подпрограммы состоит из шести символов, первые три - FUN, последние три - номер типа функции. Так имя подпрограммы типа 60 имеет вид FUN060. Пользователь пишет подпрограмму :
Здесь X и Y - входные переменные - относительная деформация и скорость относительной деформации соединительного элемента. XO,YO,FUN - выходные переменные, значение упругой, демпфирующей и суммарной силы в связи. Значения XO и YO передаются для обеспечения дальнейшего вывода сил. В элементах массива P(1),P(2), ....., передаются параметры подпрограммы, смысл и значения которых определяются пользователем. Сами значения параметров задаются обычным путем - в блоке 33.
Свободно программируемые типы специальных сил (нагрузок) имеют зарезервированные номера типов начиная с 210. При описании спец. силы в блоке 18, нужной составляющей присваивается свободный, выбранный пользователем тип, например 210. Количество параметров и их смысл определяется пользователем. Например:
Для вычисления значения силы пользователю необходимо написать подпрограмму на языке ФОРТРАН со стандартным именем и входом. Имя подпрограммы состоит из шести символов, первые три - FUN, последние три - номер типа функции. Так имя подпрограммы типа 210 имеет вид FUN210. Пользователь пишет подпрограмму:
Здесь T и V - входные переменные - время и скорость движения, FUN - выходная переменная - значение силы. В элементах массива P(1),P(2), ....., передаются параметры подпрограммы, смысл и значения которых определяются пользователем. Сами значения параметров задаются обычным путем - в блоке 34.
Модели, содержащие свободные типы функций, должны при сборке исполнимого модуля подключать объектные модули пользовательских функций. Это достигается путем внесения имен файлов объектных модулей в сборочный файл RASHET32.BLD.
Для подключения, например, функции типа 60, в конец этого файла добавляется строка с именем объектного модуля: fun060.obj
Кинематическая пара - кинематическая связь задается соединительным элементом как обычная податливая связь. Указание на то, что связь является кинематической, производится в описании механической характеристике. Для этого служит специальный тип функции упругого слагаемого составляющей в механической характеристики - тип 15. Возможное количество параметров - 1,2,3,4, смысл которых раскрывается в главе 9. В случае задания у слагаемого силы такой упругой составляющей демпфирующее слагаемое игнорируется. При использовании кинематических пар параметры механической характеристики должны быть равны 0, если специально не моделируется податливая пара.
Наличие кинематической связи по некоторой степени свободы означает ,что в данном направлении ( поступательном или вращательном) в рассматриваемых точках тел перемещения или углы поворота одинаковы.Кинематические пары моделируются в предположении, что тела совершают большие движения. Для случая малых движений (колебательные задачи) учет кинематических связей не рассматривается, поскольку может более эффективно моделироваться другими способами, например, заданием больших жесткостей. Различными комбинациями кинематических связей по составляющим можно моделировать различные кинематические пары. Рассмотрим примеры задания кинематических пар.
Жесткую связь узлов 3 и 4 тел 1 и 2 - рис. 7.1 можно описать механической характеристикой.
Считая, что каждое тело имеет только одну степень свободы - перемещение вдоль X, такая связь обеспечит одинаковые перемещения тел 1 и 2.
Рисунок 7. 1
Если каждое тело на рис. 7.1 обладает тремя степенями свободы (совершает плоское движение), то связь 3 и 4 узлов с помощью следующей механической характеристики
обеспечивает вращательное движение одного тела относительно другого, т.е. моделируется плоский цилиндрический шарнир. На рис. 7.2 показан случай поступательной кинематической пары. Тело 1 может перемещаться вдоль поверхности тела 2 без отрыва по направлению X. Задание такой связи возможно с помощью двух соединительных элементов со следующей механической характеристикой:
Описание соединительных элементов выглядит при этом следующим образом
Рисунок 7. 2
Сферический шарнир в пространственном случае - рис. 7.3 моделируется с помощью трехмерной механической характеристики
Рисунок 7. 3
Цилиндрический шарнир в пространственном случае - рис. 7.4 моделируется двумя соединительными элементами с разными механическими характеристиками
Рисунок 7. 4
На рис. 7.4 приняты одинаковые номера узлов для обоих тел в точках цилиндрического шарнира. Соединительные элементы будут задаваться:
На аналогичном принципе может быть построено моделирование и поступательных пар в пространственном случае.
Геометрия модели задается в правой декартовой системе координат.
Для транспортных средств рекомендуется использовать ориентацию машины относительно системы координат, принятую в конструкторской документации. Для автомобилей:
Для железнодорожного транспорта:
Примечание. Данные условия необязательны, но целесообразны при работе с моделями транспортных средств.
Локальная система совпадает с глобальной с точностью до параллельного переноса, каждая подсистема (тело) может описываться в своей локальной системе координат. Начало системы координат выбирается произвольно (учитывается удобство задания координат узлов подсистем).
Программы ФРУНДа могут получать доступ к геометрии тел только через библиотеку тел. Поэтому для использования того или иного тела в модели нужно предварительно описать его геометрию и занести ее в библиотеку.
Описание геометрии можно производить двумя способами.
Можно задавать геометрию непосредственно в формате входного файла библиотеки и затем вносить ее в библиотеку с помощью программы avmodel, при работе из оболочки пункт меню ‘Ввод геометрии тел в библиотеку’. При инициализации этого пункта меню запрашивается имя фала с геометрией тела в формате библиотеки - расширение lba.
Более удобно описывать геометрию с помощью программы редактирования геометрии и модели - vizual, пункт меню в оболочке - ‘Редактирование геометрии и структуры’, из которой, затем ,можно ввести тело в библиотеку.
Геометрия каждого тела записывается в отдельный файл в следующем формате:
После описания геометрии узлов вводятся стержни подсистемы - парами узлов. Число стержней должно быть равно их числу, заданному в 6 строке. В конце файла можно вводить любое количество строк комментариев. Информация об инерционных параметрах и геометрии тела автоматически используется при расчете, в случае отсутствия ее в явном виде в файле описания параметров модели.
Редактирование геометрии тел производится с помощью программы vizual, пункт меню оболочки ‘Редактирование геометрии и структуры’. В том случае файлы геометрии тел имеют расширение geo. Программа vizual предлагает выбрать входной файл из списка или образовать новый.
Программа vizual позволяет редактировать файлы с геометрией в формате аниматора с расширением geo, а также просматривать и файлы с расширениями lba и gmr. Для файлов с расширением geo программа vizual делает автоматическое преобразование к формату библиотеки и ввод в библиотеку. Программа vizual позволяет выполнять следующие операции:
клавиша | операция |
f1 | подсказка к программе vizual, |
x/X | поворот картинки вокруг оси x вперед/назад, |
y/Y | поворот картинки вокруг оси y вперед/назад, |
z/Z | поворот картинки вокруг оси z вперед/назад, |
? | сместить картинку вверх, |
? | сместить картинку влево, |
? | сместить картинку вправо, |
? | сместить картинку вниз, |
n/N | показать/убрать номера узлов, |
l/L | тонкие/толстые линии, |
w/W | уменьшить/увеличить изображение, |
c | сменить цвет линий, |
C | сменить фон экрана, |
a/A | добавить новое тело, программа позволяет одновременно отображать несколько тел, последнее введенное тело считается текущим, |
o/O | выкл/вкл раскраску тел разными цветами, |
t/T | поместить изображение в центр, |
p | сбросить картинку в файл для печати, |
^Z | завершить работу, |
Esc | выход из подсказки, |
f/F | создать файл тела для библиотеки и ввести тело в библиотеку, |
e/E | редактировать файл с геометрией тела, по этой команде текущий файл с геометрией помещается в редактор текстов, в котором можно его редактировать, |
D | удалить последнее тело, |
S | выбрать и увеличить фрагмент изображения, |
P | приложить к телу весовую нагрузку (изменение структуры модели), |
u/U | выкл/вкл показ центров масс тел, |
M | подсоединить файл со структурой модели. При первом нажатии клавиши подсоединяется старый файл структуры расчетной схемы или организуется новый. При повторном нажатии файл помещается в редактор текстов, в котором можно производить ручное редактирование файла структуры, |
m | отсоединить файл структуры расчетной схемы, |
k/K | добавить в модель соединительный элемент, |
v/V | выкл/вкл показ соединительных элементов, |
R | подсоединить файл с параметрами модели. При нажатии клавиши подсоединяется старый файл структуры расчетной схемы или организуется новый. Файл помещается в редактор текстов, в котором можно производить ручное редактирование файла параметров, |
r | отсоединить файл параметров модели, |
b/B | добавить тело в файл структуры модели, |
Alt d | удалить тело из файла структуры, |
^d | вернуть тело в файл структуры, |
^k | сформировать контрольную точку для вывода кинематических параметров движения тела, |
^f | сформировать контрольную точку для вывода параметров сил и деформаций соединительных элементов, |
Alt s | сместить геометрию тела параллельно, |
Alt a | добавить новый узел в геометрию, |
Alt m | модифицировать координаты узла в геометрии, |
Alt l | добавить новый стержень в геометрию, |
Alt u | удалить существующий стержень, |
g/G | добавить макро в модель, |
Q/q | вкл/выкл показ макро в модели, |
Alt r | добавить окружность. |
Программа vizual позволяет одновременно визуализировать несколько тел, входящих в модель и редактировать структуру и параметры модели для изображаемых тел.
Под большими движениями понимаются, согласно общепринятой терминологии, такие движения тел, при которых углы их поворотов достаточно велики, и, поэтому, линеаризация матрицы поворота тела недопустима. В данной системе моделирования движение тела описывается поступательным движением его центра масс в неподвижной (инерциальной) системе координат и вращением относительно связанных с телом координат, совпадающих с главными центральными осями инерции тела (т. н. уравнения в квазискоростях). Направления осей неподвижной и связанной (подвижной) систем координат, если не задана отличная от единичной начальная матрица поворота тела, в нулевой момент времени совпадают.
Как везде, во ФРУНДе используется правая система координат. Система углов Эйлера - последовательный поворот вокруг осей X,Y,Z. Движение упругого тела описывается в нормальных координатах с учетом форм движения как твердого тела. Для вычисления матрицы поворота задается взаимное расположение трех любых узлов тела, не лежащих на одной прямой. Для моделирования динамики больших движений тел используются дополнительные типы элементов расчетных схем - кинематические пары и пружины в шарнирах - упруго - демпфирующие элементы, направление действия сил в которых совпадает с линией, соединяющей узлы двух тел.
Принцип описания кинематических пар заключается в приравнивании соответствующих проекций скоростей точек двух тел на некоторую вспомогательную систему координат, связанную с одним из тел. Такая вспомогательная система может совпадать с подвижной системой координат тела , или быть повернутой относительно последней на определенные углы.
Тип кинематической пары задается в механической характеристике. Код типа функции упругого слагаемого составляющей механической характеристики в этом случае должен быть равен 15 - кинематическая связь. Число параметров может принимать значения 1,2,3 или 4, смысл которых расписывается ниже.
В случае задания в механической характеристике по некоторому направлению такого упругого слагаемого демпфирующее слагаемое игнорируется.Принципы моделирования различных кинематических пар приведены в главе 7
Положение кинематической пары в модели задается путем описания соответствующего соединительного элемента со ссылкой на необходимую механическую характеристику. Для каждого соединительного элемента можно задавать свою вспомогательную систему координат - п.п. 9.3.1, 9.3.1,т.е. каждая кинематическая пара одного типа в модели может быть ориентирована произвольно. Считается, что такая вспомогательная система координат связана с первым телом, указываемом в соединительном элементе. Число параметров в типе упругого слагаемого 15 имеет следующий смысл:
Для полного описания моделей больших движений тел используются вспомогательные файлы с постоянными именами. Синтаксис такого дополнительного ввода носит упрощенный характер. Различаются строки комментариев и строки описаний. Строка комментариев начинается с символа "$ "в первой позиции. Строка описания содержит числовую информацию в свободном формате. Смысл строки определяется первым числом в строке - типом строки.
Вспомогательная информация для шага МОДЕЛЬ задается в файле с именем modhelp, для шага РАСЧЕТ - rashelp (в оболочке файлы с расширениями mhl и rhl). В указанных файлах должна содержаться информация об элементах расчетной схемы, необходимых для расчета больших движений. Если часть тел модели совершает малые движения, то соответствующие элементы не указываются в дополнительной информации . Если указанные вспомогательные файлы отсутствуют, то движения тел модели считаются малыми.
Тип строки - 1. Далее идут по порядку 8 целых чисел:
Для твердого тела вместо номеров узлов ставятся нули. Три узла, задаваемые для упругого тела, используются для пересчета начальных условий и расчета матрицы поворота. В качестве таких узлов выбираются любые узлы не лежащие на одной прямой и, желательно, максимально удаленные друг от друга.
Строки этого типа автоматически формируются в файле default.mhl при задании в блоке 14 признаков больших поворотов и номеров узлов в позициях признаков поступательных степеней свободы.
Тип строки - 2. Далее идут по порядку 5 чисел:
Признаки ориентации относительно осей могут задаваться только для кинематической пары. Признак ориентации означает, что система координат кинематической пары повернута относительно подвижной системы координат тела.
Строки с такой информацией для пружины в шарнирах автоматически заносятся в файл default.mhl при использовании макро tspring.mac.
Тип строки - 3. Далее идут по порядку 4 числа:
У заданной таким образом точки контакта колеса с дорогой координаты будут вычисляться из условия нахождения ее на вертикали, проходящей через центр колеса, и с учетом изменения радиуса шины.
Строки с такой информацией для точек контакта автоматически заносятся в файл default.mhl при использовании макро kkoleso.mac.
Тип строки -1. Далее идут по порядку 7 чисел:
Данная информация является не обязательной (берется автоматически из геометрии).
Тип строки -2. Далее идут по порядку 7 чисел:
Предназначено для приближенного задания первоначального положения тел при моделировании механизмов (больших движений).
Тип строки -3. Далее идут по порядку 7 чисел:
Данная информация может задаваться для кинематической пары или с. э. типа "пружина в шарнирах".
Для кинематической пары имеют значение углы поворота относительно осей. Такие углы определяют ориентацию местной системы координат кинематической пары и задаются в случае, если были заданы признаки поворота в п. п. 9.3.1
Для пружины в шарнирах имеет значение свободная длина соединительного элемента - которая равна длине пружины в несжатом состоянии. Если для пружины такой параметр не будет задан, то ее свободная длина считается равной нулю.
Строки с такой информацией для пружин в шарнирах автоматически заносятся в файл default.rhl при использовании макро lspring.mac.
При моделировании больших движений твердое тело может иметь любое сочетание степеней свободы по поступательным направлениям. По вращательным направлениям твердое тело может обладать или одной или тремя степенями свободы. Упругое тело, считается, всегда имеет шесть степеней свободы как твердое тело. Признак, что тело совершает большие вращения задается согласно п.п. 9.3.1.Разрешенные вращательные степени свободы в BL14 должны совпадать с разрешенными степенями согласно п.п. 9.3.1.
При моделировании с учетом больших движений является существенным взаимное начальное положение тел. В простейших случаях положение центра масс тела в неподвижной системе координат и начальные углы поворота согласно можно задать с помощью дополнительной информации - п.п. 9.3.2.Наиболее универсальный способ определения начальных условий - применение процедуры сборки см. главу 3.Для упругого тела начальные условия находятся так, как описано в п. п. 3.6. При расчете больших движений, программа расчета может сама корректировать начальные условия в соответствии с заданной в управляющей информации скоростью движения. Такая корректировка заключается в добавке к переменным скоростейтел по направлению X скорости движения со знаком минус, и производится по запросу программы. Необходимость в этом возникает, например, при моделировании движения автомобиля с различными скоростями. Автоматическое добавление к начальным условиям скорости, позволяет пользоваться одними начальными условиями, определенными в покое, для разных скоростей движения.
В случае больших движений тел предполагается, что силы от нагрузок - специальные силы в терминологии ФРУНДа, могут быть также приложены в любой точке тела. При этом считается, что силы действуют всегда в направлении неподвижной системы координат, а моменты - в системе координат, связанной с телом. Такое задание внешних сил удобно для задания весовых и инерционных нагрузок.
При моделировании динамики больших движений тел могут быть использованы, кроме кинематических пар, податливые связи двух типов. К таким связям относятся "пружина в шарнирах"и обычные для ФРУНДа многомерные податливые связи. Кроме того есть способ задания упругости в самой кинематической паре по выбранным направлениям.
Пружина в шарнирах представляет собой податливый элемент, соединяющий два узла разных тел, сила в котором зависит от относительного смещения и скорости этих узлов. Направление действия силы совпадает с линией, соединяющей узлы тел. Описание такой связи осуществляется обычным соединительным элементом, в механической характеристике которого специфицируется только одна составляющая - по оси X. В качестве типов функций упругого и демпфирующего слагаемых могут использоваться все типы функций, существующие во ФРУНДе.
Предполагается, что в начальный момент времени, ось такого элемента, определяется начальным положением тел, которые он соединяет. Деформация такого элемента определяется разницей текущего расстояния между узлами и свободной длиной элемента. Считается, что положительная деформация такого элемента происходит при сжатии, отрицательная - при растяжении. Пружина в шарнирах должна быть описана согласно п.п. 9.3.1, 9.3.2.
При больших движениях тел связи между телами можно задавать обычным образом - соединительным элементом, передающим силы и моменты по направлениям подвижной системы координат одного из тел.В таком случае принимается, что взаимные смещения тел друг относительно друга малы, и соединительный элемент считается "вмороженным"в первое тело, указанное в описании соединительного элемента. Если первое тело совершает малые движения или неподвижно, то программа считает первым то тело, которое совершает большие движения или подвижное тело. Для элементов такого типа не требуется описания дополнительной информации.
Податливость кинематических пар моделируется заданием ненулевых величин жесткости и демпфирования в описании параметров механической характеристики данной кинематической пары. В этом случае по направлениям с ненулевыми жесткостями и демпфированием кинематические пары считаются упругими.
Задание контакта с дорогой и связанного с ним кинематического возмущения задается как и для малых движений тел. Дорога описывается как подсистема с номером 49 - п.п. 2.3.1. Механическая характеристика должна описывать силы по трем поступательным направлениям - по X и Y линейной функцией с нулевыми параметрами, по Z нелинейной с учетом отрыва. Точка контакта с дорогой на колеса должна быть описана с помощью макро kkoleso.mac п.п. 9.3.1. Силы в плоскости дороги задаются с помощью макро tire.mac п.п. 12.1. Продольная сила, действующая в плоскости контакта, складывается из сил тяги или торможения и горизонтальной проекции радиальной силы в шине. Угол наклона радиальной силы определяется углом продольного наклона микропрофиля под колесом.
При расчете больших движений упругих тел, кроме форм колебаний, необходимо указать три узла, не лежащих на одной прямой, и, возможно дальше отстоящих друг от друга. Эти данные необходимы для вычисления матрицы поворота тела. Задание этих параметров производится согласно п.п. 9.3.1 и 9.3.2.
В случае больших движений твердого тела перемещения, скорости и ускорения ц. м. тела выводятся по классу вывода 1. Выводятся как линейные величины, так и угловые. Угловые скорости и ускорения выводятся в проекции на связанную с телом систему координат.
Отметим, что в случае пространственного движения, углы поворотов являются интегралами от проекций угловых скоростей на связанную с телом систему координат, и четкого физического смысла не имеют. Для больших движений упругих тел результаты выводятся по классу вывода 6.
В настоящей версии модуля анализа выводятся только абсолютные скорости точек. Остальные параметры определяются некорректно.
Реакции в кинематических парах выводятся как силы в соединительных элементах. Для кинематической пары определено только упругое слагаемое, которое и представляет реакцию в кинематической паре по соответствующему направлению.
Для кинематических пар может выводиться относительное смещение и скорость по какому-либо направлению, которые представляют собой погрешность вычисления и служат для контроля точности вычислений. Указанные величины выводятся как относительные перемещения и скорости соединительного элемента.
Для обеспечения точности и устойчивости решения моделей с кинематическими парами используются корректирующие множители. Смысл корректирующих множителей - введение консервативных и диссипативных сил, пропорциональных погрешности в кинематической паре. При интегрировании уравнений с кинематическими парами используется дополнительная управляющая информация, задаваемая в файле epsilon.dat (файлы с расширением int при работе из оболочки). В указанном файле в начале каждой строки заносятся:
Первые два вещественных числа задают соответственно коэффициент жесткости и коэффициент вязкости стабилизирующих сил. Рекомендуемое значение коэффициента вязкости - 2 - 5 процента от коэффициента жесткости. Максимальное значение коэффициента жесткости ограничивается шагом интегрирования уравнений движения. Для шага 0.01 - 0.0025 сек. Коэффициент жесткости 10000.-100000.
Третье число задает коэффициент пропорциональности по ускорениям. Рекомендуемое значение - 0.
Четвертое число задает величину минимального коэффициента матрицы связей, при котором он исключается при решении линейных уравнений.
Пятое вещественное число задает границу погрешности в кинематических парах, при превышении которой вычисление прекращается из - за потери точности. Физический смысл указанного параметра - линейное или угловое смещение в кинематической паре.
Шестое число - способ определения ускорений при интегрировании, связано с особенностями алгоритма интегрирования. Рекомендуемое значение - 1. Другое значение - 0.
Седьмое число - 0.
Восьмое число в файле epsilon.dat задает коэффициент частоты триангуляции матрицы уравнений связи. Так при значении этого коэффициента 1 разложение матрицы происходит при каждом вычислении правых частей уравнений. При значении 4 - разложение происходит на каждом четвертом вычислении правых частей. Такой прием позволяет уменьшать время интегрирования при приемлемом снижении точности интегрирования.
Девятое число задает код способа интегрирования кинематических уравнений Эйлера - 1 - с помощью кватернионов, 2- напрямую, методом Рунге Кутта с поворотом в особых точках.
Десятое число задает целый коэффициент, определяющий условие прекращения выполнения сборки механизма из-за несходимости. Чем больше коэффициент, тем меньше величина скорости сходимости, при которой вычисления прекращаются. Рекомендуемое значение - 100 - 200.
Одиннадцатое число задает вещественный коэффициент (0.0 - 1.), произведение которого на допустимую погрешность в шарнирах дает границу начала триангуляции матрицы уравнений связей. Отличное от 0 значение этого коэффициента включает алгоритм автоматического слежения за точностью решения уравнений связей при непошаговой триангуляции матрицы. Рекомендуемое значение - 0.
Двенадцатое число задает шаг времени выдачи погрешности в шарнирах при наличии контрольной печати.
Тринадцатое число задает шаг по количеству уравнений связей, по которым одновременно производится сборка, рекомендуемое значение 1 - 3.
Четырнадцатое число задает код печати погрешности в шарнирах при точном пересчете: 0 -есть печать, 1 - нет. Пример файла:
Для моделирования механических систем с контурами управления используются подсистемы, производящие безинерционные преобразования входных сигналов. Номера таких подсистем (элементов цепей управления) во ФРУНДе назначаются в диапазоне 500-999. Вид преобразования, осуществляемого такими элементами, определяется его типом (см. п.п. 10.2). Элементы цепей управления задаются в BL14 файла исходных данных для шага МОДЕЛЬ. Номер элемента задается номером подсистемы, тип элемента - типом подсистемы, признаки наличия степеней свободы - любые числа. Элемент контура управления не требует занесения никакой информации в библиотеку тел. Каждый элемент контура управления может иметь несколько входов и несколько выходов. Одноименный выход элемента может быть связан со входами нескольких элементов.
Связи в контурах управления задаются как соединительные элементы или как специальные силы.
Соединительный элемент описывает пару что - куда, т.е. что и откуда подается на вход элемента, и куда (на какой вход элемента управления) подается. В качестве ”что” (первой пары номер подсистемы, номер узла) может фигурировать:
В качестве ”куда” (второй пары номер подсистемы, номер узла) может фигурировать:
Специальная сила используется для задания источников воздействия в контуре управления. Специальная сила в этом случае описывается обычным образом, а при указании точек приложения задается подсистема типа элемента контура управления.
Элементы контуров управления производят безинерционные преобразования входных сигналов. Инерционные звенья моделируются телами с одной степенью свободы. Вид преобразования определяется типом элемента, задаваемым при описании соответствующей подсистемы.
К двухполюсным типам элементов относятся элементы, для которых порядок подсоединения входов несущественен, т. е. все входы элемента заданного типа неразличимы, а выход один. Типы элементов делятся на две группы.
К первой группе относятся все типы функций, существующие во ФРУНДе и служащие для задания механических характеристик соединительных элементов. Номера типов таких элементов соответствуют номерам механических характеристик, в которых описана нужная функция. В такой механической характеристике учитывается только упругое слагаемое.
Ко второй группе относятся дополнительные типы, коды которых представлены ниже. Номера кодов этой группы больше 100.
Вводятся следующие типы элементов:
101 - суммирование входов, число входов не более 4.
102 - перемена знака сигнала на противоположный, число входов - 1.
103 - вычисление обратной величины (1/вход), число входов - 1.
104 - умножение - число входов 2.
105 - взятие знака (сигнатуры), число входов - 1.
106 - евклидова норма - корень квадратный из суммы квадратов, число входов от 2 до
3.
107 - взятие синуса, число входов - 1.
108 - взятие косинуса, число входов - 1.
109 - вычисление корня квадратного, число входов - 1.
110 - возведение в квадрат, число входов - 1.
111 - фиктивный элемент, не производит никакого преобразования входа, число входов -
1.
120 - узел стока, наложение алгебраического условия равенства нулю суммы переменных входящих
в узел.
Входом в элемент от тела может быть только перемещение (линейное или угловое) и скорость центра масс тела.
Элементы логического типа выполняют соответствующие логические операции над аргументом и могут принимать два значения - 1 ”истинно”, 0 - ”ложно”. Выходы таких элементов могут подаваться на входы как логических элементов так и обычных (алгебраических).
Вводятся следующие типы логических элементов:
201 - величина на входе строго больше 0, число входов - 1.
204 - величина на входе меньше либо равна 0, число входов - 1.
207 - логическое "и число входов - 2.
208 - логическое "или число входов - 2.
Элементы типа конечные автоматы выполняют те или иные предписания в зависимости от своего состояния, определяемого соответствующим входом. Двоичный автомат имеет два входа, на один из которых подается выход с элемента логического типа и который определяет состояние автомата, а на второй подается выход от алгебраического элемента, над которым производятся соответствующие преобразования.
Вводятся следующие типы конечных автоматов:
301 - при значении логического входа ”истина” присваивает выходу алгебраического значение
входа. При значении логического входа ”ложно” присваивает выходу последнее алгебраического
значение входа, при котором логический вход еще имел значение ”истина”.
В многополюсных типах элементов каждый вход или выход имеет определенное значение и несет дополнительную смысловую нагрузку. Входы и выходы элементов в этом случае имеют цифровую нумерацию начиная с 1. Номер входа задается номером узла во второй паре номер тела, номер узла при описании соответствующего соединительного элемента, а номер выхода - номером узла в первой паре соединительного элемента. Номера типов функций многополюсников больше 400.
Типы функций многополюсников могут задаваться непосредственно при описании подсистем, или через ссылку на механическую характеристику - согласно п.п. 10.2.1. Задание с помощью механической характеристики используется для многополюсников обладающих параметрами. В описании соответствующей механической характеристики для типа упругого слагаемого указывается номер типа функции многополюсника и число его параметров.
В качестве примера приведем описание многополюсника типа 401: 401 - функция запоминания первого значения передаваемой величины, и выдача при последующих обращениях разницы между текущим и начальным значениями. Количество входов - 1, количество выходов -1.
Входы: 1 - текущее значение входной переменной;
Выходы: 1 - разница между текущим и начальным значением входной переменной.
В моделях с контурами управления могут использоваться многополюсники свободного типа, задаваемые пользователем. Такие многополюсники задаются следующим образом - номер типа многополюсника должен лежать в диапазоне 460 - 490. Многополюсник может иметь до 20 входов и выходов и любое количество параметров. Контроль за количеством входов и выходов осуществляется пользователем.
Программа, выполняющая нужные для данного многополюсника вычисления, пишется самим пользователем.
Заголовок программы имеет вид: SUBROUTINE FMxxx(A1,..,AN,B1,...,BN,P,K) где xxx - номер многополюсника, например 460, A1 - AN - входы, B1 - BN - выходы, P - вектор параметров, K - номер экземпляра многополюсника в модели - вспомогательный параметр. Подпрограмма FMxxx пишется пользователем и собирается с моделью после внесения ее имени в файл rashet32.bld.
Для моделирования движения точки тела по заданной траектории используются свободно программируемые многополюсники с номерами типов > 600. Предварительно, каждая точка тела, движение которой нужно задать связывается шарниром с любой неподвижной точкой (землей) модели. Кинематический шарнир должен связывать степени свободы по тем направлениям, по которым требуется принудить точку двигаться по желаемой траектории. Затем для каждой точки тела описывается свой многополюсник с номером типа > 600. На вход многополюсника подаются относительные перемещения соединительного элемента рассматриваемой точки по всем направлениям шарнира. Многополюсник имеет 1 фиктивный выход, который можно не использовать, но обязательно нужно описывать.
Задание траектории осуществляется в программе, которая пишется пользователем и имеющей следующий заголовок: SUBROUTINE FMxxx(CU1,CU2,CU3,OUT,P,N). Здесь xxx - типа многополюсника, например 602, CU1 - выходной массив из трех элементов, содержащих последовательно перемещение, скорость, ускорение точки по одному направлению. CU2, CU3 - то же по другим направлениям. Количество таких выходных массивов может меняться от 1 до 3, соответственно числу описанных входов в многополюсник. OUT - выходная скалярная величина, используется в случае необходимости. P - вектор вещественных параметров. N - номер экземпляра данного многополюсника - вспомогательная величина. Время T, при написании подпрограммы можно брать из COMMONа: COMMON /UGR/ KGR1,KGR2,T
Вывод параметров элементов контуров управления производится аналогично выводу сил в соединительных элементах. Значению выхода элемента контура управления соответствует упругое слагаемое соединительного элемента, в котором интересующий элемент (подсистема) указан как выход , т.е. во второй паре номер подсистемы номер узла.
Для многополюсников значения выходов неопределены непосредственно и для их вывода нужно использовать фиктивные элементы - тип 111. При задании контрольной точки признак направления указывается равным номеру направления в поле описания механической характеристики соответствующего соединительного элемента.
Для решения задач оптимизации и идентификации, система моделирования ФРУНД содержит файл frundop.bat, который реализует необходимую передачу данных из MOVI и обратно, а также производит однократный расчет модели ФРУНДа и вычисление значений критериев.
Для вызова задач ФРУНДа из MOVI имя задачи в MOVI должно быть frundop, а директория, в
которой производится работа, должна содержать файл frundop.bat. Запуск расчета критериев
производится не из оболочки MOVI а из операционной системы командой
solve frundop
Протокол одного прогона пакета frundop.bat содержится в файле frundop.lst, который можно
просматривать при отладке задачи для чтения сообщений об ошибках.
Для решения задачи оптимизации ФРУНД использует файл с постоянным именем - OPKRI, который содержит описание способов вычисления значений критериев оптимизации. Варьируемые параметры описываются символическими именами в файле параметров для шага РАСЧЕТ (расширение RAS) - см. описание препроцессора.
Варьируемые параметры описываются символическими именами в файле параметров для шага РАСЧЕТ. Порядок следования имен при их описании соответствует порядку задания параметров в оболочке системы оптимизации MOVI. В файле данных шага РАСЧЕТ может использоваться имен больше, чем число варьируемых параметров. В этом случае предполагается, что первыми перечисляются варьируемые параметры.
Файл содержит строки описания способов вычисления критериев оптимизации. Структура файла - файл может содержать необязательные строки комментариев, которые начинаются с символа ’$’ в первой позиции, и строки описания критериев.
Формат строки описания критериев - 3 целых и одно вещественное число:
Если число аргументов функции не равно 0, то в следующей строке перечисляются значения аргументов. Номера критериев перечисляются строго последовательно, начиная с первого, например:
Функции вычисления значений критериев предназначены для обработки результатов анализа (т.е. данных, полученных после отработки пункта АНАЛИЗ) и расчета на их основе величин критериев.
Во ФРУНДе реализованы следующие типы функций для расчета критериев:
Для использования 10 кода расчет должен производиться с кодом 7 (расчет собственных частот), а контрольные точки должны быть описаны с кодом обработки 49.
Для вычисления критериев необходимо задать контрольные точки (файл *.upr) на основе которых они будут рассчитаны. Контрольные точки должны быть перечислены таким образом, чтобы порядок их следования соответствовал последовательности описания критериев в MOVI и файле OPKRI. Кроме того, типы результатов, получаемые после обработки (после работы пункта АНАЛИЗ) должны быть согласованы с входным типом для данного кода вычисления критерия (файл OPKRI).
Для построения моделей объектов, включающих в себя различные специфические взаимодействия, например, качение эластичной шины, управляющие воздействия водителя автомобиля и т.д., в систему моделирования ФРУНД введены встроенные многополюсники, позволяющие реализовать построение таких моделей. В данном разделе рассматриваются особенности описания таких взаимодействий с использованием встроенных многополюсников.
Для исследования управляемого движения автомобиля, ФРУНД содержит модель качения эластичного колеса (шины), которая учитывает три силы в контакте с дорогой и момент относительно вертикальной оси. Контакт с дорогой принимается точечным, его положение определяется линией пересечения плоскости продольной симметрии колеса, проходящей через центр колеса перпендикулярно его оси вращения, и вертикальной плоскости, проходящей через ось вращения колеса. Положение точки контакта на этой линии зависит от свободного радиуса колеса и деформации шины.
Поверхность дороги в точке контакта может иметь наклон в продольной плоскости, определяемый параметрами микронеровностей дороги (случайным профилем). В поперечном направлении плоскость контакта наклона не имеет. Вертикальная сила в контакте определяется нелинейной упруго - демпфирующей характеристикой шины.
При расчетах может использоваться как ровная поверхность, так и случайный микропрофиль. Боковая реакция шины и ее стабилизирующий момент зависят от вертикальной нагрузки на шину, величины угла увода и текущего угла развала. Мгновенные значения боковой силы и стабилизирующего момента вычисляются как произведение боковой и угловой жесткости шины на, соответственно, поперечную и угловую деформацию шины. Если боковая сила или стабилизирующий момент, вычисленные таким образом, оказываются больше, чем максимально возможные при такой вертикальной нагрузке и угле увода, то они принимаются равными этим предельным значениям с соответствующим знаком. Предельные значения боковой силы и стабилизирующего момента берутся из экспериментальных зависимостей.
Поперечная деформация шины определяется проекцией на поперечное направление колеса смещения некоторой точки на недеформируемой шине, относительно условной точки на пятне контакта. Считается, что при отсутствии поперечных и угловых, относительно вертикальной оси, перемещений колеса, указанные две точки совпадают, или совпадают их проекции на горизонтальную плоскость (плоскость качения). При определении положения характерной точки на пятне контакта учитывается проскальзывание шины.
Угловая деформация шины относительно вертикальной оси определяется по следу пересечения вертикальной плоскости колеса и плоскости дороги, также с учетом проскальзывания в пятне контакта. Продольная сила в контакте (тормозящая или сила тяги) задается извне, а затем корректируется (уменьшается) с учетом вертикальной и боковой сил, если по условиям сцепления она не может быть реализована.
Для определения динамических реакций, возникающих в точке контакта шины с дорогой используется многополюсник типа 406. Входы многополюсника:
Выходы многополюсника:
Параметры многополюсника:
Такие экспериментальные зависимости задаются в файлах с произвольными именами в
следующем формате:
1 строка - число вариантов кривых по вертикальной нагрузке, целое число;
2 строка - число точек в каждой кривой, целое число;
3 строка - шаг по углу увода задания точек кривых, начальное значение угла увода считается
нулевым.
В последующих строках задаются последовательно в свободном формате:
- значения вертикальных нагрузок для которых будут задаваться зависимости боковой силы и
момента; - номер варианта по вертикальной нагрузке зависимости боковой силы или
момента;
- величины силы или момента в точках дискретизации текущего варианта зависимости.
В файле должно быть задано столько вариантов зависимостей, сколько вариантов вертикальной нагрузки было задано в первой строке файла. Имена файлов с экспериментальными характеристиками шины перечисляются в файле с фиксированным именем tire.cnt. В первой строке задается файл с зависимостями боковой силы, во второй - стабилизирующего момента. Наличие непустого файла tire.cnt является признаком моделирования качения шины и вызывает инициализацию соответствующих программ.
Пример файла описания экспериментальной зависимости боковой силы от угла увода:
На рис. 11.1, 11.2 показаны графики экспериментальных зависимостей боковой силы и стабилизирующего момента для шины БЛ85.
Рисунок 11. 1
Рисунок 11. 2
Подпрограмма многополюсника вычисления сил в шине имеет имя fm406.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
При использовании данного многополюсника, точки контакта колеса с дорогой должны быть описаны в соответствии с п.п. 9.3.1.
Включение модели шины в расчетную схему более удобно производить с помощью макро, которое имеет имя tire.mac.
На шаге МОДЕЛЬ макро имеет следующие параметры:
Пример задания макро на шаге МОДЕЛЬ:
На шаге РАСЧЕТ макро имеет следующие параметры:
Пример задания макро на шаге РАСЧЕТ:
Макро записывает в файл defaulm.upr контрольные точки для вывода угла увода и развала в колесе и продольной и поперечной сил. Текст макро можно найти в Приложении B.
Моделирование движения автомобиля по заданной траектории производится с помощью модели рулевых воздействий водителя (пилота). Такая модель реализована в многополюснике типа 451.
Пилот может находиться в трех состояниях - выключенном, движение по кругу , выполнение маневра переставка.
Пилот вычисляет угол поворота рулевого колеса, для обеспечения движения по заданной траектории. Угол поворота рулевого колеса складывается из программного угла, который определяется приблизительно с помощью кинематических соотношений, и корректировочных слагаемых от рассогласований по боковому смещению от заданной траектории, по отклонению вектора направления скорости, по ограничению на величину бокового ускорения, по интегралу от бокового смещения.
Соответствующие коэффициенты по рассогласованиям должны находиться подбором при расчетах модели. Подпрограмма многополюсника такого пилота имеет имя fm451.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
Для модели пилота разработано макро pilot.mac, поэтому ,приведем только описание параметров макро.
На шаге МОДЕЛЬ макро pilot.mac имеет следующие параметры:
Пример задания макро на шаге МОДЕЛЬ:
На шаге РАСЧЕТ макро pilot.mac имеет следующие параметры:
Пример задания макро pilot.mac на шаге РАСЧЕТ:
Макро записывает в файл defaulm.upr контрольные точки для вывода бокового смещения от заданной окружности и угол смещения от касательного направления к окружности. Текст макро pilot.mac можно найти в Приложении B.
Модель распределения тяговых сил по колесам используется при расчет разгона или торможения автомобиля и охватывает четырехколесные схемы. Такая модель реализована в многополюснике типа 453.
Модель трансмиссии в случае имитации разгона может находиться в трех режимах - ведущий передний мост, ведущий задний мост и оба моста ведущие.
Модуль трансмиссии вычисляет силы тяг на колесах при заданной мощности двигателя, определяя наименее нагруженное вертикальной силой колесо и учитывая потери в дифференциалах.
В режиме торможения вычисляются максимально реализуемые силы на каждом колесе.
Модуль имеет специальный режим работы, в котором определяет значения сил для компенсации дрейфовых ускорений, например, тормозящих ускорений от неровностей микропрофиля.
Подпрограмма многополюсника такого пилота имеет имя fm453.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
Для модели трансмиссии разработано макро dfrnc4.mac, поэтому ,приведем только описание параметров макро.
На шаге МОДЕЛЬ макро dfrnc4.mac имеет следующие параметры:
Пример задания макро на шаге МОДЕЛЬ:
На шаге РАСЧЕТ макро dfrnc4.mac имеет следующие параметры:
Пример задания макро dfrnc4.mac на шаге РАСЧЕТ:
Макро записывает в файл defaulm.upr контрольные точки для вывода вычисленных значения сил тяги или торможения на всех колесах. Текст макро dfrnc4.mac можно найти в Приложении B.
Для исследования динамики железнодорожных экипажей, ФРУНД содержит модель качения конического твердого колеса по рельсу заданного поперечного сечения, которая учитывает три силы в контакте. Для определения динамических реакций, возникающих в точке контакта колеса с рельсом используется многополюсник типа 420.
Входы многополюсника:
Выходы многополюсника:
Параметры многополюсника:
Кроме указанных параметров программа расчета сил в колесной паре использует данные по
геометрии поперечного сечения рельса и колеса, а также по неровностям рельсового пути,
находящиеся в файлах с постоянными именами:
wheelpt.dat - профиль колеса,
railpt.dat - профиль рельса,
railway.dat - профиль неровностей правого и левого рельсов в вертикальном и горизонтальном
направлениях.
Подготовку указанных файлов см. в п.п. 5.4. Точки контакта колес с рельсом должны быть описаны как контакты колеса с дорогой (дорога - подсистема номер 49), с линейными механическими характеристиками по оси z. При этом значения жесткостей и демпфирования при расчете должны быть нулевыми.
Подпрограмма многополюсника вычисления сил в имеет имя fm420.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
Для исследования движения железнодорожных экипажей в кривых, ФРУНД содержит многополюсник, определяющий величины переносного ускорения экипажа и смещения профиля пути, вызванное кривизной пути и возвышением одного из рельсов.
Входы многополюсника - отсутствуют. Передача вычисленных переносных ускорений во ФРУНД осуществляется через общую область (COMMON). При генерации модели (программа model32) в управляющем файле weight должна стоять 1. Это вызовет учет переносных ускорений в уравнениях движения.
Выходы многополюсника:
Параметры многополюсника:
Подпрограмма многополюсника движения в кривых имеет имя fm426.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
Подпрограмма расчета движения в кривых работает совместно с подпрограммой вычисления контактных сил в колесе и использует все ее данные. При использовании расчета в кривых многополюсник 426 должен быть описан в данных первым.
Моделирование динамических свойств виброизолирующих гидроопор производится с помощью многополюсника типа 403. Подпрограмма многополюсника такой гидроопоры имеет имя fm403.f32, ее текст можно найти в системной директории ФРУНДА ../UTILF/FREEFUNC.
Для модели гидроопоры разработано макро gidroop2.mac, поэтому ,приведем только описание параметров макро.
На шаге МОДЕЛЬ макро gidroop2.mac имеет следующие параметры:
Пример задания макро на шаге МОДЕЛЬ:
На шаге РАСЧЕТ макро gidroop2.mac имеет следующие параметры:
Пример задания макро gidroop2.mac на шаге РАСЧЕТ:
В примере строка записи макро перенесена.
Макро записывает в файл defaulm.upr контрольные точки для вывода силы в гидроопоре.
Текст макро gidroop2.mac можно найти в Приложении B.