$***********************************************************
$ макро задает соединительный элемент - гпр с двумя пневмокамерами
$ реализуется 4 жесткости гпр.
$ реализуется активное демпфирование и динамическое изменение клиренса
$***********************************************************
$       формальные параметры шага МОДЕЛЬ
$ p1  - номер тела 1 крепления
$ p2  - номер узла 1 крепления
$ p3  - номер тела 2 крепления
$ p4  - номер узла 2 крепления
$
BL14  NPDS  TPDS  LX  LY  LZ  UX  UY  UZ
@  'поршень интегратора'
       npt1   npt1+300  0   0   1   0   0   0
@  'земля'
       npt2   npt2+300  0   0   0   0   0   0
@  'поршень интегратора' 2
       npt3   npt3+300  0   0   1   0   0   0
@  'вычислитель силы в амортизаторе'
       npu1   nmx1   0   0   0   0   0   0
@  'фиктивное звено'
       npu2   111    0   0   0   0   0   0
@  'фиктивное звено'
       npu3   111    0   0   0   0   0   0
@  'фиктивное звено'
       npu4   111    0   0   0   0   0   0
@  'фиктивное звено'
       npu5   111    0   0   0   0   0   0
@  'фиктивное звено'
       npu6   111    0   0   0   0   0   0
@  'фиктивное звено'
       npu7   111    0   0   0   0   0   0
BL16 NMX PRSOST TUF KPAR TDF KPAR
@   'вычислитель силы в амортизаторе'
      nmx1    1   471   24    50  1
@   ' характеристика буфера actgpr'
      nmx2    1   1    1  50    1
@   ' пружина и демпфер поршня интегратора'
      nmx3    3   1     1     50  1
BL17  NSE NPDS1  NUZ1 NPDS2  NUZ2  NMX
@   'пружина в шарнирах actgpr'
      nse1    p1    p2    p3    p4   nmx2
@   'пружина поршня'
      nse2    npt2  1     npt1  1    nmx3
@   'ход амортизатора - вычислитель'
      nse3    nse1  -1    npu1  1    1
@   'скорость амортизатора - вычислитель'
      nse4    nse1  -2    npu1  2    1
@   'velocity поршня - вычислитель'
      nse5    npt1  1     npu1  3   -3
@   'сила на поршень - ф.з.'
      nse6    npu1  1     npu2  1    1
@   'сила в амортизаторе- ф.з.'
      nse7    npu1  2     npu3  1    1
@   'ф.з. - ф.з.'
      nse8    npu2  1     npu4  1    1
@   'ф.з. - ф.з.'
      nse9    npu3  1     npu5  1    1
@   'ф.з. - поршень'
      nse10   npu4  1     npt1  1    3
@   'ф.з. - амортизатор'
      nse11   npu5  1     nse1 -1    1
@   'integral displacement - вычислитель'
      nse12    npt3  1     npu1  4   -3
@   'сила на поршень  2 - ф.з.'
      nse13    npu1  3     npu6  1    1
@   'ф.з. - ф.з.'
      nse14    npu6  1     npu7  1    1
@   'ф.з. - поршень 2'
      nse15    npu7  1     npt3  1    3
@ 'пружина в шарнирах actgpr'
#tspring.mac  nse1
@ 'сила в gpr actgpr'
#wkt.mac 3 1 nse7  1  1  1
@ 'displacement в gpr actgpr'
#wkt.mac 2 1 nse1  1  1  1
@ 'VELOSITY в gpr actgpr'
#wkt.mac 2 1 nse1  1  1  2
@ 'integral of velosity в gpr actgpr'
#wkt.mac 1 1 1  npt1  3  2
@ 'rashod в gpr actgpr'
#wkt.mac 1 1 1  npt1  3  3
@ 'integral of DISPLACEMENT в gpr actgpr'
#wkt.mac 1 1 1  npt3  3  2
$***********************************************************
$       формальные параметры шага РАСЧЕТ
$***********************************************************
$     P(1)  - зарядный объем пневмокамеры 1
$     P(2)  - зарядное давление пневмокамеры 1
$     P(3)  - площадь поршня (предполагается что все поршни имеют одинаковую площадь)
$     P(4)  - коэффициент адиабаты
$     P(5)  - зарядный объем пневмокамеры 2
$     P(6)  - зарядное давление пневмокамеры 2
$     P(7)  - режим работы гпр (1 - 4, 5 - управление)
$     P(8)  - усилие срабатывания предохранительного клапана 1 пневмокамеры
$     P(9)  - усилие срабатывания предохранительного клапана 2 пневмокамеры
$     P(10)  - длина гпр
$     P(11)  - усилие срабатывания возвратного клапана 1 пневмокамеры
$     P(12)  - усилие срабатывания возвратного клапана 2 пневмокамеры
$     P(13)  - статическая сила в ГПР
$     P(14)  - сила нагнетания насоса (давление насоса на площадь поршня )
$     P(15)  - коэффициент обратной связи по давлению
$     P(16)  - коэффициент обратной связи по скорости
$     P(17)  - коэффициент обратной связи по ускорению
$     P(18)  - коэффициент обратной связи по ускорению колеса
$
BL31 NPDS    MAS     JNX     JNY     JNZ
@  'поршень интегратора'
       npt1   1    1   1    1
@  'земля'
       npt2   1      1   1    1
@  'поршень интегратора 2'
       npt3   1    1   1    1
BL33    NXAR    PRSOST    PRSL      KSTROK
@   'вычислитель силы в амортизаторе'
      nmx1       1       1     6
      p1     p2    p3     p4
      p5     p6    p7    p8
      p9     p10   p11   p12
      p13    p14   p15   p16
      p17    p18   p19   p20
      p21    p22   p23   p24
      nmx1        1        2          1
      0.0    0.0   0.0    0.0
@   ' характеристика буфера actgpr'
      nmx2        1        1          1
      0.001   0.0000001  9000000.0 -0.0000001
      nmx2        1        2          1
      0.0    0.0   0.0    0.0
@   ' пружина и демпфер поршня интегратора'
      nmx3   3    1    1
      0.0   0.0       0.0    0.
      nmx3   3    2    1
      0.0    0.0   0.0    0.0
@ 'пружина в шарнирах actgpr'
#lspring.mac  nse1 p10