Home > リソース > MBDynモデル集 > 27. 乗り心地検討用車両モデル
<<前へ | 次へ>>
MBDynモデル集

27. 乗り心地検討用車両モデル

アニメーション



入力ファイル

car_ride.mbd
# car_ride.mbd

#-----------------------------------------------------------------------------
# [Data Block]

begin: data;
   problem: initial value;
end: data;

#-----------------------------------------------------------------------------
# [ Block]

begin: initial value;
   initial time:   0.;
   final time:     12.;
   time step:      1.e-3;
   max iterations: 100;
   tolerance:      1.e-6;
   
   derivatives tolerance:      1.e-4;
   derivatives max iterations: 100;
end: initial value;

#-----------------------------------------------------------------------------
# Design Variables
set: real L_WheelBase = 2.8; #[m] Wheel base
set: real L_Front     = 1.2; #[m] Londitudinal distance from front axle to sprung mass cg
set: real H_CG        = 0.8; #[m] Vertical distance from front axle to sprung mass cg

set: real L_Tread_Fr = 1.5; #[m] Front tread
set: real L_Tread_Rr = 1.5; #[m] Rear tread

set: real m_Sprung       = 1400.; #[kg]     Sprung mass
set: real I_Sprung_roll  = 430.;  #[kg m^2] Sprung mass moment of inertia
set: real I_Sprung_pitch = 1100.; #[kg m^2] Sprung mass moment of inertia
set: real I_Sprung_yaw   = 1150.; #[kg m^2] Sprung mass moment of inertia

set: real m_Unsprung_Fr = 40.;  #[kg] Front unsprung mass (at wheel center)
set: real m_Unsprung_Rr = 40.;  #[kg] Rear unsprung mass (at wheel center)

set: real L_SwingArm_Fr = 1.5; #[m] Front swing arm length
set: real L_SwingArm_Rr = 1.5; #[m] Rear swing arm length

set: real K_Spring_Fr = 3.e4; #[N/m] Front spring stiffness
set: real K_Spring_Rr = 5.e4; #[N/m] Rear spring stiffness

set: real C_Damper_Fr = 3.e3; #[Ns/m] Front damper viscosity coefficient
set: real C_Damper_Rr = 3.e3; #[Ns/m] Rear damper viscosity coefficient

set: real K_Tire_Fr = 5.e5; #[N/m] Front tire stiffness
set: real K_Tire_Rr = 5.e5; #[N/m] Rear tire stiffness

set: real C_Tire_Fr = 1.e2; #[Ns/m] Front tire viscosity coefficient
set: real C_Tire_Rr = 1.e2; #[Ns/m] Rear tire viscosity coefficient

set: real V = 60; #[km/h] Speed of the car

set: real g = 9.81; #[m/s^2] Gravity acceleration

#-----------------------------------------------------------------------------
# [Control Data Block]

begin: control data;
   use: rigid bodies, gravity, in assembly;
   output meter: meter, 0., forever, steps, 10;
   structural nodes: 1  # Sprung mass
                    +4  # Unsprung mass
                    +4  # Road input rig
                     ;
   rigid bodies:     1  # Sprung mass
                    +4  # Unsprung mass
                     ;
   joints:           4  # Revh - Arm
                    +4  # Dfmd - Spring & Damper
                    +4  # Dfmd - Tire
                    +4  # Totp - Road input rig
                     ;
   gravity;
end: control data;

#-----------------------------------------------------------------------------
# Reference Labels
set: integer Ref_WheelCenter_FrLh = 1;
set: integer Ref_WheelCenter_FrRh = 2;
set: integer Ref_WheelCenter_RrLh = 3;
set: integer Ref_WheelCenter_RrRh = 4;

set: integer Ref_JoRevh_SwingArm_FrLh = 11;
set: integer Ref_JoRevh_SwingArm_FrRh = 12;
set: integer Ref_JoRevh_SwingArm_RrLh = 13;
set: integer Ref_JoRevh_SwingArm_RrRh = 14;

# Node Labels
set: integer NoDyn_Sprung = 1;

set: integer NoDyn_Unsprung_FrLh = 11;
set: integer NoDyn_Unsprung_FrRh = 12;
set: integer NoDyn_Unsprung_RrLh = 13;
set: integer NoDyn_Unsprung_RrRh = 14;

set: integer NoDyn_Road_FrLh = 21;
set: integer NoDyn_Road_FrRh = 22;
set: integer NoDyn_Road_RrLh = 23;
set: integer NoDyn_Road_RrRh = 24;

# Body Labels
set: integer Body_Sprung = 1;

set: integer Body_Unsprung_FrLh = 11;
set: integer Body_Unsprung_FrRh = 12;
set: integer Body_Unsprung_RrLh = 13;
set: integer Body_Unsprung_RrRh = 14;

# Joint Labels
set: integer JoRevh_SwingArm_FrLh = 1;
set: integer JoRevh_SwingArm_FrRh = 2;
set: integer JoRevh_SwingArm_RrLh = 3;
set: integer JoRevh_SwingArm_RrRh = 4;

set: integer JoDfmd_SpringDamper_FrLh = 11;
set: integer JoDfmd_SpringDamper_FrRh = 12;
set: integer JoDfmd_SpringDamper_RrLh = 13;
set: integer JoDfmd_SpringDamper_RrRh = 14;

set: integer JoDfmd_Tire_FrLh = 21;
set: integer JoDfmd_Tire_FrRh = 22;
set: integer JoDfmd_Tire_RrLh = 23;
set: integer JoDfmd_Tire_RrRh = 24;

set: integer JoTotp_RoadInput_FrLh = 31;
set: integer JoTotp_RoadInput_FrRh = 32;
set: integer JoTotp_RoadInput_RrLh = 33;
set: integer JoTotp_RoadInput_RrRh = 34;

#-----------------------------------------------------------------------------
# Scalar Functions     
include: "sf_Road_LH.sub";
include: "sf_Road_RH.sub";

#-----------------------------------------------------------------------------
# Intermediate Variables
set: real L_Rear = L_WheelBase - L_Front;

set: real Preload_Spring_Fr = L_Rear/L_WheelBase * m_Sprung * g /2.;
set: real Preload_Spring_Rr = L_Front/L_WheelBase * m_Sprung * g /2.;

set: real Preload_Tire_Fr = Preload_Spring_Fr + m_Unsprung_Fr * g;
set: real Preload_Tire_Rr = Preload_Spring_Rr + m_Unsprung_Rr * g;

#-----------------------------------------------------------------------------
# References
reference: Ref_WheelCenter_FrLh,
   0., L_Tread_Fr/2., 0., # absolute position
   eye,                   # absolute orientation
   null,                  # absolute velocity
   null;                  # absolute angular velocity
   
reference: Ref_WheelCenter_FrRh,
   0., -L_Tread_Fr/2., 0., # absolute position
   eye,                    # absolute orientation
   null,                   # absolute velocity
   null;                   # absolute angular velocity
   
reference: Ref_WheelCenter_RrLh,
   -L_WheelBase, L_Tread_Rr/2., 0., # absolute position
   eye,                             # absolute orientation
   null,                            # absolute velocity
   null;                            # absolute angular velocity
   
reference: Ref_WheelCenter_RrRh,
   -L_WheelBase, -L_Tread_Rr/2., 0., # absolute position
   eye,                              # absolute orientation
   null,                             # absolute velocity
   null;                             # absolute angular velocity
   
reference: Ref_JoRevh_SwingArm_FrLh,
   reference, Ref_WheelCenter_FrLh, 0., -L_SwingArm_Fr, 0., # absolute position
   reference, Ref_WheelCenter_FrLh, euler, 0., pi/2., 0.,   # absolute orientation
   reference, Ref_WheelCenter_FrLh, null,                   # absolute velocity
   reference, Ref_WheelCenter_FrLh, null;                   # absolute angular velocity
   
reference: Ref_JoRevh_SwingArm_FrRh,
   reference, Ref_WheelCenter_FrRh, 0., L_SwingArm_Fr, 0., # absolute position
   reference, Ref_WheelCenter_FrRh, euler, 0., -pi/2., 0., # absolute orientation
   reference, Ref_WheelCenter_FrRh, null,                  # absolute velocity
   reference, Ref_WheelCenter_FrRh, null;                  # absolute angular velocity
   
reference: Ref_JoRevh_SwingArm_RrLh,
   reference, Ref_WheelCenter_RrLh, 0., -L_SwingArm_Rr, 0., # absolute position
   reference, Ref_WheelCenter_RrLh, euler, 0., pi/2., 0.,   # absolute orientation
   reference, Ref_WheelCenter_RrLh, null,                   # absolute velocity
   reference, Ref_WheelCenter_RrLh, null;                   # absolute angular velocity
   
reference: Ref_JoRevh_SwingArm_RrRh,
   reference, Ref_WheelCenter_RrRh, 0., L_SwingArm_Rr, 0., # absolute position
   reference, Ref_WheelCenter_RrRh, euler, 0., -pi/2., 0., # absolute orientation
   reference, Ref_WheelCenter_RrRh, null,                  # absolute velocity
   reference, Ref_WheelCenter_RrRh, null;                  # absolute angular velocity

#-----------------------------------------------------------------------------
# [Nodes Block]

begin: nodes;

   #-----------------------------------------------------------------------------
   # Structural Nodes
   structural: NoDyn_Sprung, dynamic,
      -L_Front, 0., H_CG, # absolute position
      eye,                # absolute orientation
      null,               # absolute velocity
      null;               # absolute angular velocity
      
   structural: NoDyn_Unsprung_FrLh, dynamic,
      reference, Ref_WheelCenter_FrLh, null, # absolute position
      reference, Ref_WheelCenter_FrLh, eye,  # absolute orientation
      reference, Ref_WheelCenter_FrLh, null, # absolute velocity
      reference, Ref_WheelCenter_FrLh, null; # absolute angular velocity
      
   structural: NoDyn_Unsprung_FrRh, dynamic,
      reference, Ref_WheelCenter_FrRh, null, # absolute position
      reference, Ref_WheelCenter_FrRh, eye,  # absolute orientation
      reference, Ref_WheelCenter_FrRh, null, # absolute velocity
      reference, Ref_WheelCenter_FrRh, null; # absolute angular velocity
      
   structural: NoDyn_Unsprung_RrLh, dynamic,
      reference, Ref_WheelCenter_RrLh, null, # absolute position
      reference, Ref_WheelCenter_RrLh, eye,  # absolute orientation
      reference, Ref_WheelCenter_RrLh, null, # absolute velocity
      reference, Ref_WheelCenter_RrLh, null; # absolute angular velocity
      
   structural: NoDyn_Unsprung_RrRh, dynamic,
      reference, Ref_WheelCenter_RrRh, null, # absolute position
      reference, Ref_WheelCenter_RrRh, eye,  # absolute orientation
      reference, Ref_WheelCenter_RrRh, null, # absolute velocity
      reference, Ref_WheelCenter_RrRh, null; # absolute angular velocity
      
   structural: NoDyn_Road_FrLh, dynamic,
      reference, Ref_WheelCenter_FrLh, null, # absolute position
      reference, Ref_WheelCenter_FrLh, eye,  # absolute orientation
      reference, Ref_WheelCenter_FrLh, null, # absolute velocity
      reference, Ref_WheelCenter_FrLh, null; # absolute angular velocity
      
   structural: NoDyn_Road_FrRh, dynamic,
      reference, Ref_WheelCenter_FrRh, null, # absolute position
      reference, Ref_WheelCenter_FrRh, eye,  # absolute orientation
      reference, Ref_WheelCenter_FrRh, null, # absolute velocity
      reference, Ref_WheelCenter_FrRh, null; # absolute angular velocity
      
   structural: NoDyn_Road_RrLh, dynamic,
      reference, Ref_WheelCenter_RrLh, null, # absolute position
      reference, Ref_WheelCenter_RrLh, eye,  # absolute orientation
      reference, Ref_WheelCenter_RrLh, null, # absolute velocity
      reference, Ref_WheelCenter_RrLh, null; # absolute angular velocity
      
   structural: NoDyn_Road_RrRh, dynamic,
      reference, Ref_WheelCenter_RrRh, null, # absolute position
      reference, Ref_WheelCenter_RrRh, eye,  # absolute orientation
      reference, Ref_WheelCenter_RrRh, null, # absolute velocity
      reference, Ref_WheelCenter_RrRh, null; # absolute angular velocity
      
end: nodes;

#-----------------------------------------------------------------------------
# [Elements Block]

begin: elements;

   #-----------------------------------------------------------------------------
   # Bodies
   body: Body_Sprung, NoDyn_Sprung,
      m_Sprung,                                          # mass
      null,                                              # relative center of mass
      diag, I_Sprung_roll, I_Sprung_pitch, I_Sprung_yaw; # inertia matrix
      
   body: Body_Unsprung_FrLh, NoDyn_Unsprung_FrLh,
      m_Unsprung_Fr,             # mass
      null,                      # relative center of mass
      diag, 1.e-3, 1.e-3, 1.e-3; # inertia matrix
      
   body: Body_Unsprung_FrRh, NoDyn_Unsprung_FrRh,
      m_Unsprung_Fr,             # mass
      null,                      # relative center of mass
      diag, 1.e-3, 1.e-3, 1.e-3; # inertia matrix
      
   body: Body_Unsprung_RrLh, NoDyn_Unsprung_RrLh,
      m_Unsprung_Rr,             # mass
      null,                      # relative center of mass
      diag, 1.e-3, 1.e-3, 1.e-3; # inertia matrix
      
   body: Body_Unsprung_RrRh, NoDyn_Unsprung_RrRh,
      m_Unsprung_Rr,             # mass
      null,                      # relative center of mass
      diag, 1.e-3, 1.e-3, 1.e-3; # inertia matrix

   #-----------------------------------------------------------------------------
   # Joints
   joint: JoRevh_SwingArm_FrLh, 
      revolute hinge, 
         NoDyn_Sprung,
            reference, Ref_JoRevh_SwingArm_FrLh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_FrLh, eye, # relative axis orientation
         NoDyn_Unsprung_FrLh,
            reference, Ref_JoRevh_SwingArm_FrLh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_FrLh, eye; # relative axis orientation
            
   joint: JoRevh_SwingArm_FrRh, 
      revolute hinge, 
         NoDyn_Sprung,
            reference, Ref_JoRevh_SwingArm_FrRh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_FrRh, eye, # relative axis orientation
         NoDyn_Unsprung_FrRh,
            reference, Ref_JoRevh_SwingArm_FrRh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_FrRh, eye; # relative axis orientation
            
   joint: JoRevh_SwingArm_RrLh, 
      revolute hinge, 
         NoDyn_Sprung,
            reference, Ref_JoRevh_SwingArm_RrLh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_RrLh, eye, # relative axis orientation
         NoDyn_Unsprung_RrLh,
            reference, Ref_JoRevh_SwingArm_RrLh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_RrLh, eye; # relative axis orientation
            
   joint: JoRevh_SwingArm_RrRh, 
      revolute hinge, 
         NoDyn_Sprung,
            reference, Ref_JoRevh_SwingArm_RrRh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_RrRh, eye, # relative axis orientation
         NoDyn_Unsprung_RrRh,
            reference, Ref_JoRevh_SwingArm_RrRh, null,       # relative offset
            hinge, reference, Ref_JoRevh_SwingArm_RrRh, eye; # relative axis orientation     
            
   joint: JoDfmd_SpringDamper_FrLh,
      deformable displacement joint,
         NoDyn_Sprung,
            reference, Ref_WheelCenter_FrLh, null, # relative offset
         NoDyn_Unsprung_FrLh, 
            reference, Ref_WheelCenter_FrLh, null, # relative offset
         linear viscoelastic generic,
            diag, 0., 0., K_Spring_Fr,             # stiffness
            diag, 0., 0., C_Damper_Fr,             # viscosity coefficient
         prestress, 0., 0., Preload_Spring_Fr;
         
   joint: JoDfmd_SpringDamper_FrRh,
      deformable displacement joint,
         NoDyn_Sprung,
            reference, Ref_WheelCenter_FrRh, null, # relative offset
         NoDyn_Unsprung_FrRh, 
            reference, Ref_WheelCenter_FrRh, null, # relative offset
         linear viscoelastic generic,
            diag, 0., 0., K_Spring_Fr,             # stiffness
            diag, 0., 0., C_Damper_Fr,             # viscosity coefficient
         prestress, 0., 0., Preload_Spring_Fr;
         
   joint: JoDfmd_SpringDamper_RrLh,
      deformable displacement joint,
         NoDyn_Sprung,
            reference, Ref_WheelCenter_RrLh, null, # relative offset
         NoDyn_Unsprung_RrLh, 
            reference, Ref_WheelCenter_RrLh, null, # relative offset
         linear viscoelastic generic,
            diag, 0., 0., K_Spring_Rr,             # stiffness
            diag, 0., 0., C_Damper_Rr,             # viscosity coefficient
         prestress, 0., 0., Preload_Spring_Rr;
         
   joint: JoDfmd_SpringDamper_RrRh,
      deformable displacement joint,
         NoDyn_Sprung,
            reference, Ref_WheelCenter_RrRh, null, # relative offset
         NoDyn_Unsprung_RrRh, 
            reference, Ref_WheelCenter_RrRh, null, # relative offset
         linear viscoelastic generic,
            diag, 0., 0., K_Spring_Rr,             # stiffness
            diag, 0., 0., C_Damper_Rr,             # viscosity coefficient
         prestress, 0., 0., Preload_Spring_Rr;
         
   joint: JoDfmd_Tire_FrLh,
      deformable displacement joint,
         NoDyn_Unsprung_FrLh,
            reference, Ref_WheelCenter_FrLh, null, # relative offset
         NoDyn_Road_FrLh, 
            reference, Ref_WheelCenter_FrLh, null, # relative offset
         linear viscoelastic generic,
            diag, K_Tire_Fr, K_Tire_Fr, K_Tire_Fr, # stiffness
            diag, C_Tire_Fr, C_Tire_Fr, C_Tire_Fr, # viscosity coefficient
         prestress, 0., 0., Preload_Tire_Fr;
         
   joint: JoDfmd_Tire_FrRh,
      deformable displacement joint,
         NoDyn_Unsprung_FrRh,
            reference, Ref_WheelCenter_FrRh, null, # relative offset
         NoDyn_Road_FrRh, 
            reference, Ref_WheelCenter_FrRh, null, # relative offset
         linear viscoelastic generic,
            diag, K_Tire_Fr, K_Tire_Fr, K_Tire_Fr, # stiffness
            diag, C_Tire_Fr, C_Tire_Fr, C_Tire_Fr, # viscosity coefficient
         prestress, 0., 0., Preload_Tire_Fr;
         
   joint: JoDfmd_Tire_RrLh,
      deformable displacement joint,
         NoDyn_Unsprung_RrLh,
            reference, Ref_WheelCenter_RrLh, null, # relative offset
         NoDyn_Road_RrLh, 
            reference, Ref_WheelCenter_RrLh, null, # relative offset
         linear viscoelastic generic,
            diag, K_Tire_Rr, K_Tire_Rr, K_Tire_Rr, # stiffness
            diag, C_Tire_Rr, C_Tire_Rr, C_Tire_Rr, # viscosity coefficient
         prestress, 0., 0., Preload_Tire_Rr;
         
   joint: JoDfmd_Tire_RrRh,
      deformable displacement joint,
         NoDyn_Unsprung_RrRh,
            reference, Ref_WheelCenter_RrRh, null, # relative offset
         NoDyn_Road_RrRh, 
            reference, Ref_WheelCenter_RrRh, null, # relative offset
         linear viscoelastic generic,
            diag, K_Tire_Rr, K_Tire_Rr, K_Tire_Rr, # stiffness
            diag, C_Tire_Rr, C_Tire_Rr, C_Tire_Rr, # viscosity coefficient
         prestress, 0., 0., Preload_Tire_Rr;
                        
   joint: JoTotp_RoadInput_FrLh,
      total pin joint,
         NoDyn_Road_FrLh,
            position, reference, Ref_WheelCenter_FrLh, null, # relative offset
            position, reference, Ref_WheelCenter_FrLh, null, # absolute position
         position constraint,
            active, active, active,
            single, 0., 0., 1., string, "model::sf::SF_Road_LH(V/3.6*Time) * 1.e-2",
         orientation constraint,
            active, active, active,
            null;
            
   joint: JoTotp_RoadInput_FrRh,
      total pin joint,
         NoDyn_Road_FrRh,
            position, reference, Ref_WheelCenter_FrRh, null, # relative offset
            position, reference, Ref_WheelCenter_FrRh, null, # absolute position
         position constraint,
            active, active, active,
            single, 0., 0., 1., string, "model::sf::SF_Road_RH(V/3.6*Time) * 1.e-2",
         orientation constraint,
            active, active, active,
            null;
            
   joint: JoTotp_RoadInput_RrLh,
      total pin joint,
         NoDyn_Road_RrLh,
            position, reference, Ref_WheelCenter_RrLh, null, # relative offset
            position, reference, Ref_WheelCenter_RrLh, null, # absolute position
         position constraint,
            active, active, active,
            single, 0., 0., 1., string, "model::sf::SF_Road_LH(V/3.6*Time-L_WheelBase) * 1.e-2",
         orientation constraint,
            active, active, active,
            null;
            
   joint: JoTotp_RoadInput_RrRh,
      total pin joint,
         NoDyn_Road_RrRh,
            position, reference, Ref_WheelCenter_RrRh, null, # relative offset
            position, reference, Ref_WheelCenter_RrRh, null, # absolute position
         position constraint,
            active, active, active,
            single, 0., 0., 1., string, "model::sf::SF_Road_RH(V/3.6*Time-L_WheelBase) * 1.e-2",
         orientation constraint,
            active, active, active,
            null;

   #-----------------------------------------------------------------------------
   # Gravity
   gravity: 0., 0., -1., const, g;
                       
end: elements;

サブファイル(路面データ)

sf_Road_LH.sub
# sf_Road_LH.sub

scalar function: "SF_Road_LH",
   cubic spline, do not extrapolate,
/* Distance (m), Road Height (cm) */
0.,0.,
0.803213,-0.561798,
2.81124,0.561798,
4.61847,1.68539,
6.62651,2.80899,
8.43373,1.68539,
9.83936,-1.68539,
11.4458,-6.17978,
13.0522,-8.42697,
15.0602,-8.98876,
16.8675,-6.17978,
18.4739,-3.37079,
20.4819,-2.24719,
22.2892,-3.93258,
24.0964,-6.17978,
26.1044,-7.30337,
27.9116,-5.61798,
29.5181,-2.24719,
30.7229,2.24719,
31.9277,6.74157,
33.5341,10.1124,
35.3414,11.236,
37.1486,8.98876,
38.5542,4.49438,
39.5582,0,
40.7631,-4.49438,
42.3695,-8.42697,
44.1767,-10.1124,
45.9839,-9.55056,
47.7912,-7.30337,
49.5984,-5.05618,
51.6064,-3.93258,
53.4137,-2.80899,
55.0201,0.561798,
56.8273,3.93258,
58.6345,5.61798,
60.4418,3.37079,
61.6466,-1.1236,
63.0522,-5.05618,
64.4578,-8.98876,
65.8635,-12.3596,
67.6707,-15.1685,
69.6787,-16.8539,
71.6867,-16.8539,
73.494,-16.2921,
75.502,-15.1685,
77.3092,-12.9213,
79.1165,-10.6742,
80.9237,-7.30337,
82.3293,-3.93258,
83.7349,0,
85.1406,3.93258,
86.9478,6.74157,
88.9558,8.42697,
90.7631,8.42697,
92.7711,6.74157,
94.5783,3.93258,
95.9839,0.561798,
97.3896,-3.93258,
98.5944,-7.86517,
100.201,-11.7978,
102.008,-14.0449,
103.815,-14.6067,
105.622,-12.3596,
107.229,-8.98876,
108.835,-5.61798,
110.643,-2.80899,
112.45,-0.561798,
114.458,-0.561798,
116.064,-3.37079,
117.871,-5.61798,
119.88,-6.17978,
121.687,-4.49438,
123.494,-2.24719,
125.502,-1.68539,
127.51,-2.80899,
129.317,-5.05618,
131.124,-7.86517,
132.731,-10.6742,
134.538,-12.9213,
136.546,-14.6067,
138.554,-14.6067,
140.562,-13.4831,
142.369,-11.236,
143.976,-8.42697,
145.582,-4.49438,
146.988,-0.561798,
148.394,2.80899,
150.201,5.61798,
152.008,7.30337,
153.815,6.74157,
155.622,6.74157,
157.631,7.30337,
159.639,7.86517,
161.647,7.86517,
163.655,6.74157,
165.261,4.49438,
166.867,0.561798,
168.072,-3.93258,
169.277,-7.86517,
170.683,-12.3596,
172.088,-16.2921,
173.494,-20.2247,
175.1,-23.5955,
176.908,-26.4045,
178.715,-27.5281,
180.723,-26.9663,
182.731,-26.4045,
184.739,-25.8427,
186.546,-24.7191,
188.353,-22.4719,
189.96,-19.1011,
191.165,-14.6067,
192.369,-10.1124,
193.775,-6.17978,
195.181,-1.68539,
196.787,0.561798,
198.795,2.80899;

sf_Road_RH.sub
# sf_Road_RH.sub

scalar function: "SF_Road_RH",
   cubic spline, do not extrapolate,
/* Distance (m), Road Height (cm) */
0.,0.,
0.803213,0,
2.61044,1.70455,
4.41767,3.97727,
6.4257,5.68182,
7.83133,2.84091,
9.23695,-1.13636,
11.0442,-3.40909,
12.8514,-5.11364,
14.8594,-5.68182,
16.6667,-3.40909,
18.2731,0,
20.2811,-0.568182,
21.8876,-3.40909,
23.6948,-6.25,
25.502,-8.52273,
27.51,-8.52273,
28.9157,-5.11364,
30.3213,-0.568182,
31.5261,3.97727,
32.9317,7.95455,
34.739,9.65909,
36.747,8.52273,
38.3534,5.11364,
39.759,1.13636,
41.1647,-2.84091,
42.7711,-5.68182,
44.5783,-7.38636,
46.5863,-6.25,
48.3936,-3.97727,
50.2008,-1.70455,
52.2088,-1.13636,
54.0161,0.568182,
55.8233,2.84091,
57.8313,4.54545,
59.6386,3.40909,
61.245,0,
62.6506,-3.97727,
64.0562,-7.95455,
65.8635,-10.7955,
67.6707,-11.9318,
69.6787,-13.0682,
71.6867,-13.0682,
73.6948,-13.0682,
75.7028,-11.9318,
77.51,-10.2273,
79.3173,-7.38636,
80.9237,-3.97727,
82.3293,0,
83.7349,3.97727,
85.3414,7.38636,
86.9478,10.2273,
88.9558,11.3636,
90.7631,10.2273,
92.5703,7.38636,
94.1767,4.54545,
95.5823,0.568182,
96.988,-3.40909,
98.1928,-7.95455,
99.7992,-11.3636,
101.606,-13.0682,
103.614,-11.9318,
105.422,-9.09091,
107.028,-6.25,
108.835,-3.40909,
110.643,-1.70455,
112.651,-1.13636,
114.458,-3.40909,
116.265,-6.25,
118.072,-7.95455,
120.08,-7.38636,
121.888,-5.11364,
123.695,-3.40909,
125.703,-2.84091,
127.51,-4.54545,
129.317,-6.81818,
131.124,-9.65909,
132.932,-12.5,
134.739,-14.7727,
136.546,-15.9091,
138.554,-15.9091,
140.562,-14.2045,
142.369,-11.9318,
143.976,-9.09091,
145.582,-5.68182,
146.787,-1.13636,
147.791,3.97727,
149.197,7.95455,
151.004,9.09091,
153.012,9.09091,
155.02,8.52273,
157.028,7.95455,
159.036,7.38636,
161.044,7.38636,
162.851,6.81818,
164.659,4.54545,
166.064,0.568182,
167.269,-3.97727,
168.474,-8.52273,
169.88,-13.0682,
171.285,-16.4773,
173.092,-19.3182,
174.9,-21.5909,
176.908,-23.2955,
178.916,-23.2955,
180.723,-22.7273,
182.731,-22.7273,
184.739,-22.1591,
186.747,-21.5909,
188.554,-19.8864,
189.96,-16.4773,
191.365,-11.9318,
192.57,-7.38636,
193.976,-3.40909,
195.582,0,
197.39,2.27273,
199.197,3.97727;