2. ФОРМАТ ОПИСАНИЯ РАСЧЕТНОЙ СХЕМЫ


2.1 Общие замечания


В данном разделе описан базовый формат описания структуры и параметров 
модели, полностью задающий схемы для расчета малых движений (колебаний) систем 
тел. Некоторые дополнения  в описаниях моделей, необходимые для моделирования 
больших движений и систем с контурами управления приведены в РАЗДЕЛах 9,10.


2.2 Синтаксис языка описания моделей


2.2.1 Допустимые знаки


0123456789+-. ABCDEFGHIJKLMNOPQRSTUVWXYZ,()*/;=
abcdefghijklmnopqrstuvwxyz{}~:|`йцукенгшщзхъфыва
проджлэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ


2.2.2 Определения


1. Алфавитно-цифровая цепочка (цепочка) - набор допустимых знаков, 
исключая знак 'пробел'.
2. Цепочка  данных - цепочка, состоящая  из  знаков 0123456789+-. ( то есть 
цепочка есть  целое  или  вещественное число ).
3. Разделительный знак (делиметр) - разделительный знак применяется для 
разделения цепочек между собой. Он состоит из одного или нескольких 
знаков "пробел".
4. Строка - набор цепочек, разделенных делиметром.


2.2.3 Структура файла исходных данных


? строка 'имя задачи'
? строка 'код задачи'
? блок данных
? ............
? блок данных
? строка 'конец файла данных'
Примечание: Последовательность блоков данных определена в п.п. 2.3.-2.4.


2.2.4 Структура блока данных


? Строка 'имя блока' ( первая и единственная в блоке данных )
? Строка 'комментарий' ( строка может быть опущена )
? Строка 'комментарий для запоминания' ( строка может быть опущена )
? Строка 'данные'
? Строка 'комментарий' ( строка может быть опущена )
? Строка 'комментарий для запоминания' ( строка может быть опущена )
? Строка 'данные'
Примечание:
? Строка 'имя блока' в каждом  блоке  данных различна.
? Строка 'комментарий' в блоке  данных  может стоять перед любой 
строкой.
? Строка 'комментарий для запоминания' в блоке данных требует после 
себя наличия строки данных.


2.2.5 Типы строк в файле исходных данных


Здесь и далее в квадратных скобках указано то, чем может быть дополнена 
строка. Длина строки не должна превышать 80-ти знаков. Файл исходных данных 
является дисковым файлом, состоящим из строк (типы строк описаны нижеше).


2.2.5.1 Строка 'имя задачи'


Формат строки:
LIN1 XXXX имя ,
где XXXX - код данных. Для шага МОДЕЛЬ XXXX=STPM, для шага РАСЧЕТ 
XXXX=STPR. Имя (имя задачи)- набор цепочек, заключенных в апострофы 
(количество знаков между апострофами не более 40).
Эта строка должна быть первой в файле исходных данных. Строка для одной 
модели на шаге МОДЕЛЬ и на шаге РАСЧЕТ должна совпадать. Пример:
LIN1 STPR 'ВАЗ 2123, модель с упругим кузовом'


2.2.5.2 Строка 'код задачи'


Формат строки:
LIN2 имя [цепочки],
где имя (имя кода задачи) - цепочка, заключенная в апострофы ( количество знаков 
между апострофами - 8 ); Эта строка должна быть второй в файле исходных данных. 
Строка для одной модели на шаге МОДЕЛЬ и на шаге РАСЧЕТ должна совпадать.
Имя кода задачи используется для формирования некоторых вспомогательных 
имен файлов модели, поэтому в нем следует применять символы, допустимые в 
именах файлов для операционной системы.
Пример:
LIN2 'vaz2123u'

2.2.5.3 Строка 'имя блока'


Формат строки:
[делиметр] BLXX [цепочки],
где XX - номер блока.
Эта строка стоит перед строками данных.


2.2.5.4 Строка 'комментарий'


Формат строки:
$ [делиметр] [цепочки],
знак '$' должен быть первым в строке. Эта строка может стоять в любом месте файла 
исходных данных после строк 'имя задачи', 'код задачи'. Строка может отсутствовать.


2.2.5.5 Строка 'комментарий для запоминания'


Формат строки:
@ [делиметр] имя,
знак '@' должен быть первым в строке, имя - набор цепочек, заключенных в 
апострофы (количество знаков между апострофами не более 40). Комментарии такого 
типа используются для формирования комментариев в программах, генерируемых 
системой. Строка может отсутствовать. В дальнейшем такой комментарий может 
называться ‘@’- комментарием.


2.2.5.6 Строка 'данные'


Формат строки:
A1 ... AN,
где Ai - i-ая цепочка данных. Перед строкой ‘данные’ может стоять строка 
‘комментарий для запоминания’ )


2.2.5.7 Строка 'конец файла'


Формат строки:
ENDE [делиметр][цепочки],
эта строка должна быть последней в файле данных.


2.3 Формат описания структуры расчетной  схемы модели


Последовательность описания блоков данных, представленная ниже, 
определяет последовательность их расположения в файле данных.


2.3.1 Блок описания подсистем (тел) модели


Присутствие блока обязательно.
Имя блока - BL14.
Строка данных - состоит из 8 чисел :
? Номер подсистемы (целое число (ц. ч.)), номер подсистемы 
может принимать значения от 1 до 5000,
? Тип подсистемы ( ц. ч. ), см. п.п. 8.2.
? Признак наличия степени свободы по оси X (ц. ч.),
0 - степень подавлена,
1 - степень разрешена,
N - номер узла упругого тела. Задаваемые таким образом 
три узла упругого тела, используются для пересчета 
начальных условий и расчета матрицы поворота. В 
качестве таких узлов выбираются любые узлы не лежащие 
на одной прямой и, желательно, максимально удаленные 
друг от друга.
? Признак наличия степени свободы по оси Y (ц. ч.),
? Признак наличия степени свободы по оси Z (ц. ч.),
? Признак наличия поворота вокруг оси X (ц. ч.),
0 - поворот подавлен,
1 - поворот разрешен, малые движения,
3 - поворот разрешен, большие движения,
? Признак наличия поворота вокруг оси Y (ц. ч.),
?  Признак наличия поворота вокруг оси Z (ц. ч.).
Строк данных столько, сколько подсистем.
Номера подсистем 49 и 50 имеют специальный смысл - 49 - для задания 
кинематического возмущения от дороги, 50 - резервный. Поэтому их использование 
для других целей запрещено.
При использовании подсистемы с номером 49 для задания кинематического 
возмущения от двухколейного пути, считается, что первые десять узлов крепления (1-
10) принадлежат левой колее, вторые десять (11-20) правой. Сама подсистема номер 
49 должна быть твердым телом со всеми запрещенными степенями свободы.
Если подсистемы заданного типа нет в библиотеке тел, то выдается 
предупреждение и считается, что такое тело имеет 20 узлов крепления с номерами 1-
20.
Если в блоке были указаны твердые тела с большими поворотами, то для этих 
тел автоматически генерируется необходимая дополнительная информация (см. п.п. 
9.3.1), которая записывается в файл default.mhl.


2.3.2 Блок описания характеристик соединительных элементов


Присутствие блока обязательно.
Имя блока - BL16.
Строка данных - состоит из 6-и чисел:
? Номер характеристики (ц. ч.),
? Номер (направление) составляющей (ц. ч.),
1 - вдоль оси X,
2 - вдоль оси Y,
3 - вдоль оси Z,
4 - поворот вокруг оси X,
5 - поворот вокруг оси Y,
6 - поворот вокруг оси Z,
(если нет составляющей - нет и соответствующей строки),
? Номер типа упругой составляющей функции (0 - упругая 
составляющая отсутствует ,
? Число параметров упругой составляющей функции,
? Номер типа демпфирующей составляющей функции (0 - 
демпфирующая составляющая отсутствует),
? Число параметров демпфирующей составляющей.
Типы функций слагаемых - см. описание типов функций - п.п. 6.2,6.3.


2.3.3 Блок описания соединительных элементов (с. э.)


Присутствие блока обязательно.
Имя блока - BL17.
Строка данных - состоит из 6-и чисел:
? Номер соединительного элемента (ц. ч.),
? Номер первой подсистемы (ц. ч.),
? Номер узла крепления первой подсистемы (ц. ч.),
? Номер второй подсистемы (ц. ч.),
? Номер узла крепления второй подсистемы (ц. ч.),
? Номер механической характеристики.
Строк данных столько сколько с. э..
Подсистемы соединяются в узлах крепления (узлах геометрии). В мостах можно 
соединять точку крепления с точкой контакта с дорогой (т.е. соединительный элемент 
расположен внутри моста, например, для моделирования свойств шины).


2.3.4 Блок описания специальных сил (с.с.)


Блок может отсутствовать, если имеются мосты.
Имя блока - BL18.
Строка данных - состоит из 4-х чисел:
? Номер специальной силы (ц. ч.),
? Номер (направление) составляющей (ц. ч.),
1 - вдоль оси X,
2 - вдоль оси Y,
3 - вдоль оси Z,
4 - поворот вокруг оси X,
5 - поворот вокруг оси Y,
6 - поворот вокруг оси Z,
? Номер типа функции составляющей (ц. ч.),
? Число параметров функции.
Спец. сила может содержать до шести составляющих. Спец. сил может быть не 
более 1000 )


2.3.5 Блок задания узлов действия специальных сил


Блок может отсутствовать, если отсутствует BL18.
Имя блока - BL19.
Строка данных - состоит из 3-х чисел:
? Номер специальной силы (ц. ч.),
? Номер подсистемы (ц. ч.),
? Номер узла крепления подсистемы (ц. ч.).
Строк столько, сколько спец. сил описано в BL18. Спец. сила может быть 
приложена только в узле крепления. Точка центр масс (Ц.М.) - всегда точка 
крепления. Спец. сила, имитирующая вес, может быть приложена только к подсистеме 
'твердое тело' в Ц.М.


2.4 Формат описания параметров расчетной схемы модели


Последовательность описания блоков данных, представленная ниже, 
определяет последовательность ввода.


2.4.1 Блок описания инерционных параметров подсистемы твердое тело


Блок может отсутствовать, в этом случае данные будут взяты из библиотеки тел 
(подсистем).
Имя блока - BL31.
Строка данных - состоит из 5-ти чисел:
? Номер подсистемы (ц. ч.),
? Масса тела (вещественное число (в. ч.)),
? Главный центральный момент инерции относительно оси X,
? Главный центральный момент инерции относительно оси Y,
? Главный центральный момент инерции относительно оси Z.
Строк данных столько, сколько подсистем.


2.4.2 Блок геометрических параметров точек крепления подсистемы твердое 
тело


Блок необходим только при изменении координат точек тел. При отсутствии 
описания координат точки тела в блоке данные будут взяты из библиотеки тел 
(подсистем)
Имя блока - BL32.
Строка данных - состоит из 5-ти чисел:
? Номер подсистемы (ц. ч.),
? Номер узла крепления в подсистеме (ц. ч.),
? Координата X точки крепления (в. ч.),
? Координата Y точки крепления (в. ч.),
? Координата Z точки крепления (в. ч.).
Строк данных столько, сколько точек крепления. Координаты задаются в 
локальной системе координат в метрах. Вводятся не сами координаты точек а 
смещения точек относительно ц. м. тела.


2.4.3 Блок описания параметров функций сил в механической характеристике


Присутствие блока обязательно.
Имя блока - BL33.
Строка данных - состоит из 4-х чисел:
? Номер механической характеристики (ц. ч.),
? Номер (направление) составляющей (ц. ч.),
1 - вдоль оси X,
2 - вдоль оси Y,
3 - вдоль оси Z,
4 - поворот вокруг оси X,
5 - поворот вокруг оси Y,
6 - поворот вокруг оси Z,
? Признак составляющей функции (ц. ч.)
1- упругая составляющая
2- демпфирующая составляющая
? Количество строк по 4 в. ч. в строке, которые вводятся после 
описанной строки. В этих строках задаются параметры 
функции. Если число параметров не кратно 4 , то последняя 
строка дополняется нулями.
	В строках данных описывается сначала упругое слагаемое, а затем 
демпфирующее. В блоке должны быть описаны все характеристики соединительных 
элементов.


2.4.4 Блок описания параметров функции специальных сил


Блок может отсутствовать.
Имя блока - BL34.
Строка данных - состоит из 3-х чисел:
? Номер специальной силы (ц. ч.),
? Номер (направление) составляющей (ц. ч.),
1 - вдоль оси X,
2 - вдоль оси Y,
3 - вдоль оси Z,
4 - поворот вокруг оси X,
5 - поворот вокруг оси Y,
6 - поворот вокруг оси Z,
? Количество строк по 3 в. ч. в строке, которые вводятся после 
описанной строки. В этих строках заданы параметры функции. 
Если число параметров не кратно трем, то последняя строка 
дополняется нулями.
	В строках должны быть описаны параметры всех специальных сил, заданных в 
блоке 19.


2.4.5 Блок описания коэффициентов демпфирования по формам подсистемы 
упругое тело


Блок может отсутствовать если в модели нет упругих тел.
Имя блока - BL35.
Строка данных - состоит из 5-ти чисел:
? Номер подсистемы (ц. ч.),
? Количество строк по 5 в. ч. в строке ,которые вводятся после 
описанной строки. В этих строках заданы коэффициенты 
демпфирования по формам колебаний тела. Если число 
коэффициентов демпфирования не кратно 5, то последняя 
строка дополняется нулями,
? Число вводимых коэффициентов демпфирования (ц. ч.),
? Любое целое число,
? Любое целое число.
Строк данных столько, сколько упругих подсистем.


2.4.6 Блок задания расстояния между первым и  последующим мостом


Блок может отсутствовать.
Имя блока - BL36.
Строка данных - состоит из 5-ти чисел:
? Номер подсистемы передний мост (ц. ч.),
? Номер узла контакта с дорогой переднего моста (ц. ч.),
? Номер подсистемы следующий мост (ц. ч.),
? Номер узла контакта с дорогой следующего моста (ц. ч.),
? Расстояние между этими мостами (в. ч.).
Строк данных столько сколько мостов, не считая передний мост.


2.4.7 Блок описания параметров колеи


Блок может отсутствовать.
Имя блока - BL37.
Строка данных - состоит из 6-ти чисел:
? Признак колеи ( ц. ч. )
1 - левая колея
2 - правая колея
Следующие пять чисел в зависимости от вида возбуждения имеют следующий 
смысл:
а) случайный профиль.
? Шаг дискретизации реализации микропрофиля (в метрах),
? Величина радиального биения шины (в метрах),
? Радиус качения шины (в метрах),
? Фаза радиального биения шин передних колес,
? Фаза радиального биения шин задних колес.
б) периодический профиль (все параметры задаются в метрах):
? Амплитуда волны,
? Длина волны,
? Фаза волны,
? Любое вещественное число,
? Любое вещественное число.
в) единичная неровность (все параметры задаются в метрах).
? Высота неровности,
? Длина подъема неровности,
? Длина спуска неровности,
? Длина пути до наезда на неровность,
? Длина горизонтального участка неровности.
Строк данных 2 - левая и правая колеи.


2.5 Размерность вводимых данных


Система не предопределяет жестко пользование только одной системой единиц. 
Однако, вся выводимая информация сопровождается комментариями в системе СИ, 
поэтому предпочтительнее пользоваться ею.

МАССА            - кг (килограмм),
ДЛИНА            - м  (метр),
ВРЕМЯ            - с  (секунда),
СИЛА             - Н  (ньютон),


2.6 Препроцессор ввода описания модели


Для упрощения описания структуры и параметров моделей, вводятся 
дополнительные возможности, которые обеспечиваются препроцессором. Программа 
препроцессора имеет имя crmodelm.exe для обработки данных шага МОДЕЛЬ и 
crmodelr.exe для обработки данных шага РАСЧЕТ.
Имя входного файла для препроцессора содержится в файле с именем 
crmodelp.tmp. Выходной файл препроцессора имеет постоянное имя modelp.mdl для 
шага МОДЕЛЬ или rashetp.ras для шага РАСЧЕТ. Эти имена заносятся в файл 
crmodel.tmp из которого они считываютя при вводе.
Рассмотрим основные возможности препроцессора.


2.6.1 Глобальные переменные


Численные значения параметров уравнений движения могут задаваться с 
помощью имен-идентификаторов, которым предварительно присвоено значение. Имя 
может встречаться после своего определения произвольное количество раз. Синтаксис 
строки определения константы:
имя = значение,
где ‘имя’ - символьная строка без пробелов, ’значение’ - арифметическое выражение 
из констант и ранее определенных имен. В качестве символов для имени могут 
использоваться только буквы латинского алфавита. В выражении допускаются 
операции сложения, вычитания, умножения, деления, а также левая и правая круглые 
скобки. Кроме этого предусмотрены функции SIN, COS, SQRT (квадратный корень).
Определенная константа может использоваться в строках блоков описания, 
например:
.................................................
$ параметры оптимизации
 ad=2
 massa_kol_pary  = ad*1650.
 jxz_kol_pary    = 1800.
.................................................
BL31 NPDS  MAS           JNX     JNY     JNZ
$   '1 колесная пара'
  1 massa_kol_pary  jxz_kol_pary 200. jxz_kol_pary
$   '2 колесная пара'
  2 massa_kol_pary  jxz_kol_pary 200. jxz_kol_pary*0.5
.................................................
В режиме оптимизации последовательность определения параметров 
соответствует последовательности варьируемых параметров.
Арифметические выражения могут использоваться не только в правой части 
присваивания, но и в любом месте исходного файла.
Препроцессор различает целое и вещественное число по наличию или 
отсутствию десятичной точки.


2.6.2 Вставки


В файле допускаются вставки. Для этого в первую позицию строки заносится 
символ #, за которым без пробела следует имя файла.
Например:
#fn1.ras
Подразумевается, что в файле fn1.ras содержится какая-то информация для  
препроцессора.
Если имя файла макро имеет расширение mhl (файл с дополнительной 
информацией для шага МОДЕЛЬ), то его содержимое после замены констант 
выводится в файл с постоянным именем modhelpp.mhl.
Если имя файла макро имеет расширение rhl (файл с дополнительной 
информацией для шага РАСЧЕТ), то его содержимое после замены констант 
выводится в файл с постоянным именем rashelpp.rhl.


2.6.3 Условный оператор


Препроцессор содержит условный оператор типа if-then-else.
Формат оператора:
if условие then
  (then  часть)
else
  (else часть)
endif
Условие записывается в форме:
выражение1 операция_сравнения выражение2.
Допускаются следующие операции_сравнения:
== - равно,
!= - не равно,
>  - больше,
<  - меньше.
Пример:
a=1.
b=2.
if a*2==b then
  c=10.
else
  c=20.
endif
Если выражение не определено, то его значение считается равным 0.
2.6.4 Макроопределения


Макроопределения или просто макро - параметризованные фрагменты 
описания отдельных частей модели, позволяющие упростить описание сложных 
моделей. Синтаксис макро - аналогично вставке, только имя файла должно иметь 
расширение *.mac, за которым через пробелы должны быть перечислены фактические 
параметры макро. Например
#rail.mac   1   a1    49   1    massa
Тексты макро хранятся в в одноименных файлах, которые собраны в 
директории ..\UTILF\MACRO.
Количество параметров макро и вложенность не ограничиваются.
Формальные параметры в тексте макро именуются идентификаторами вида 
pXX, где XX порядковый номер формального параметра в обращении ( например p1, 
p12 и т.д.).
Перед строкой вызова макро должен стоять '@' комментарий, задающий имя 
уникальное имя данного экземпляра макро, и который может использоваться в макро 
специальным образом - см. ниже.
Вызов макро должен стоять после описания всех блоков.
Макро может содержать описания блоков как для шага МОДЕЛЬ, так и 
РАСЧЕТ, смысл формальных параметров при этом различен для блоков разных шагов.
Все идентификаторы, объявленные в макро носят локальный характер и теряют 
свои значения после выхода.


2.6.4.1 Системные переменные макро


Для согласования нумерации основных типов элементов, применяемых для 
описания моделей во ФРУНДе, в макро и в основной программе (файле описания 
рсчетной схемы) используются системные переменные, значения которых 
автоматически вычисляются препроцессором. Такие системные переменные 
обозначаются идентификаторами, начинающимися со следующих символов:
npt - номера подсистем твердых или упругих тел;
npu - номера подсистем объектов контуров управления;
nmx - номера механических характеристик;
nse - номера соединительных элементов;
nss - номера сил нагрузок - спец. сил.
Например npt1, nmx22 и т.д.


2.6.4.2 Системные функции макро


Для выполнения некоторых специфических действий, в макро введены 
системные функции, которые для своей работы используют значения формальных 
параметров макро. Вызов функций производится заданием их имени в строке, начиная 
с первой позиции. Введены следующие функции:
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 контрольной точки описания выводимого 
параметра. Функция использует следующие параметры -
? класс вывода;
? код вывода;
? номер узла тела или соединительного элемента;
? номер тела;
? признак направления (1-6);
? признак величины (1-3).


2.6.4.3 Стандартные макро


В стандартную конфигурацию ФРУНДа входят макро, необходимые для 
полного описания модели из файлов *.mdl и *.ras. К таким макро относятся:
tspring.mac - задание признака пружины в шарнире для шага МОДЕЛЬ. Макро 
имеет один параметр:
? номер соединительного элемента.
lspring.mac - задание свободной длины пружины в шарнире для шага РАСЧЕТ. 
Макро имеет два параметра:
? номер соединительного элемента,
? длина пружины в свободном состоянии.
Если данное макро вызывается из другого макро, то номер соединительного 
элемента определяется автоматически, а на месте фактического параметра может 
стоять любое значение.
wkt.mac - генерация контрольной точки для вывода результатов. Параметры - 
см. параметры системных функции w_kt и w_ktcom.
copyf.mac - копирование файлов. Имена файлов задаются последовательно в '@' 
комментарии в строчке, предшествующей вызову макро. Первым задается имя файла 
который нужно скопировать, вторым - имя файла в который копируется.
kkoleso.mac - запись в файл default.mhl строчки указания, о направлении оси 
вращения колеса и точки его контакта с дорогой. Использует 4 параметра:
? номер подсистемы тела колесо,
? номер узла контакта колеса с дорогой,
? номер узла на оси колеса в плоскости колеса,
? номер узла на оси колеса.
Кроме указанных набор макро, хранящийся в директории ..\UTILF\MACRO 
может содержать параметризованные описания специфических элементов - 
взаимодействие колесной пары с рельсом, листовую рессору и т.д. Описание которых 
содержится в комментариях, хранящихся в самих макро. Часть таких макро описана в 
РАЗДЕЛЕ 11.


2-1





