Adams Car Package > Adams Driveline > Running Analyses > Setting up model for Adams Car SDI full vehicle analyses

Setting up model for Adams Car SDI full vehicle analyses

In this section, more detailed information is given about how to setup the powertrain/driveline model for an Adams Car full vehicle SDI analysis, including a Quasi-Static setup. The demo model in the shared Adams Driveline database, JEEP_RWD_SDI.asy, will serve as an example. The following topics will be discussed:

Powertrain/driveline communicators in SDI testrig

In order to communicate with the Adams Car full vehicle SDI testrig, a number of input communicators has to be fed to it. In the section “Working with Communicators”, all input communicators to the SDI testrig are listed, but in Table 1 only those that are related to the powertrain/driveline are presented. The last column shows the communicators which are the minimum requirement for running Driving Machine closed loop events (referred to as “machine” controlled events). The other communicators are only needed for the Driving Machine SmartDriver events. In these events a low degree of freedom (DOF) vehicle model pre-calculates a speed trajectory profile based on the vehicle limit values. The low DOF vehicle model needs additional information about the full vehicle and powertrain properties.
Table 1 SDI testrig powertrain/driveline communicators
 
The input communciator:
Belongs to the class:
From minor role:
Receives:
Min. requirement for Driving machine closed loop events:
cis_crankshaft_ratio
parameter_real
any
 
 
cis_diff_ratio
parameter_real
any
Real parameter variable for final drive ratio, from the powertrain subsystem.
 
cis_drive_torque_bias_front
parameter_real
any
 
 
cis_engine_idle_rpm
parameter_real
any
 
 
cis_engine_revlimit_rpm
parameter_real
any
 
 
cis_engine_rpm
solver_variable
any
Adams Solver variable for engine revolute speed, in rotations per minute, from the powertrain subsystem.
yes
cis_engine_speed
solver_variable
any
Adams Solver variable for engine revolute speed, in radians per second, from the powertrain subsystem.
yes
cis_engine_map
spline
any
Engine torque map from powertrain subsystem.
yes
cis_max_engine_braking_torque
solver_variable
any
Engine torque at zero throttle
yes
cis_max_engine_driving_torque
solver_variable
any
Engine torque at full throttle (100%)
yes
cis_max_engine_speed
parameter_real
any
Output from powertrain subsystem (maximum engine rpm value).
yes
cis_max_gears
parameter_integer
any
Output from powertrain (maximum number of allowed gears).
yes
cis_min_engine_speed
parameter_real
any
Output from powertrain subsystem (minimum engine rpm value, used for shifting strategy).
yes
cis_transmission_efficiency
parameter_real
any
 
 
cis_transmission_input_omega
solver_variable
any
The transmission input engine variable from the powertrain template. Expressed in radians per second
yes
cis_transmission_spline
spline
any
Spline for transmission gears (output from powertrain: reduction ratios for every gear).
 

General information about Quasi-Static setup analysis in Adams Car

The objectives of a Quasi-Static setup analysis are to calculate the initial throttle demand and wheel speed of the driven wheels. The throttle demand should result in an engine torque that balances the different vehicle resistance forces (tire rolling resistance, aerodynamic drag, and so on.) at the specified initial vehicle speed and gear position.
In the dynamic simulation, the engine torque is calculated from a three-dimensional engine map spline where the two independent parameters are throttle demand and engine speed. The throttle demand signal is received from the Driving Machine while the engine speed can be measured in the engine model by using standard Adams Solver expressions. The engine speed can for example be evaluated by using the WZ function when a rotating crank shaft part exists in the engine model or with the VARVAL function when the engine speed is calculated in a state variable.
In the Quasi-Static setup simulation, the throttle demand is instead calculated by using a differential equation and the engine speed is calculated from the quasi-static wheel speeds and the different known ratios in the driveline (gear ratio, differential ratio, and so on.). With these two quantities calculated, the static engine torque can be derived by using the very same engine map spline that is used in the dynamic simulation.
So, how is the Quasi-Static steady state wheel speed calculated? During the static equilibrium analysis, the wheels are prevented from rotating relative to ground by using perpendicular primitive joints and the body is constrained to ground with an inline primitive joint. The throttle demand differential equation and the tire general state equations strives to zero out the reaction torque/force in these joints (since there should be no accelerations for a constant velocity). The result is that the drive torque gets balanced by the longitudinal tire forces which are dependent on the longitudinal wheel slips. Once the slip is calculated by the static solver and the initial velocity of the vehicle speed is known, the wheel speed can be evaluated. During the static solver iterations, the only unknown states are the wheel longitudinal slips of the driven wheels. All other states such as wheel speeds, engine speed, engine torque and throttle demand are therefore directly or indirectly dependent on these slip values.
Since wheel speeds can not be accessed directly in the static equilibrium analysis by using standard Adams Solver expressions, these speed values can be evaluated by using the Adams Solver VARSUB subroutine, VAR1004. Besides the information about I and J markers, the routine needs also information about which tire (slip) to evaluate. The call to the subroutine is done in the brake templates in the Adams Car and Adams Driveline shared database models. In the Adams Driveline SDI model, JEEP_RWD_SDI.asy, the wheel speeds are also published to other subsystems via output communicators. More information about the implementation done in that shared model can be found in the section Implementation in shared Adams Driveline SDI vehicle model.”

Preparing Adams Driveline model for Quasi-Static setup

The approach to support Quasi-Static setup for an Adams Driveline model that uses an ac_dyno element to apply the engine torque, is to modify the state variable rpm_input. This state variable calculates the engine speed in revolutions per minute and is normally used when calculating the engine torque in a dynamic analysis. But if the requirements below are satisfied, the torque calculations also become valid in Quasi-Static setup equilibrium analyses.
There are in total three requirements that need to be fulfilled in order to support Quasi-Static setup analysis when using an ac_dyno to drive the engine:
1. There can only be one active ac_dyno present in the assembly
2. The ac_dyno element is required to be setup as per below:
Dyno type =           Torque
Function type =     Throttle Demand
3. An output communicator with the matching name “engine_rpm_sse” (engine rpm steady state equilibrium) has to exist in the model, as noted below.
Table 2 Required output communicator for the ac_dyno
 
The input communciator:
Belongs to the class:
From minor role:
Receives:
Transmitts:
cos_engine_rpm_sse
solver_variable
any
engine_rpm_sse
Adams Solver variable for (back) calculated engine speed, in revolutions per minute, in the Quasi-Static (steady state) equilibrium phase
The output communicator above has to point to a state variable which calculates the engine speed during the quasi-static equilibrium analysis. The engine speed during this analysis type can be calculated as in the equation below:
engine_speed = total_drive_line_ratio * wheel_speed     (1)
Where the wheel_speed is the Quasi-Static speed of the wheels that can be accessed via a VAR1004 call. The total driveline ratio should be calculated as the ratio of engine speed and wheel speed for the given gear position and it includes all ratios in the model such as gear ratio, differential reduction ratio, etc.
If the requirements above are satisfied, the expression of rpm_input state variable in the ac_dyno element gets automatically adjusted for the Quasi-Static setup analysis, as explained below:
Standard expression of rpm_input state variable:
WZ(ac_dyno.i_marker,ac_dyno.j_marker,ac_dyno.j_marker)*60/(2*PI)
Modified expression of rpm_input state variable to suit a Quasi-Static setup analysis:
(IF(MODE-5:0,1,0)+IF(MODE-6:0,1,0))*
VARVAL(cos_engine_rpm_sse_adams_id)
+
(IF(MODE-4:1,1,0)+IF(MODE-6:0,0,1))*
WZ(ac_dyno.i_marker,ac_dyno.j_marker,ac_dyno.j_marker)*60/(2*PI)
It is only during mode 5 and 6 (static equilibrium and quasi-static equilibrium) that the value from the engine_rpm_sse output communicator is used. For all other simulation modes, the original expression is kept.
When running an Adams Car SDI analysis with a Quasi-Static setup, the following message is shown in the Message Window if the setup of the ac_dyno worked properly:
Setting up rpm_input variable in dyno (name of ac_dyno)
to support Quasi-Static Straight-Line Setup...
Setup of dyno is completed.
If an ac_dyno is not used in the assembly, that is, you have modeled your own engine torque implementation, you are still able to use the Quasi-Static setup capability if the following conventions are applied:
1. The engine torque has to be dependent on throttle demand and engine speed. Throttle demand value of 100 should produce maximum engine torque for the specific engine speed.
2. Engine speed expression used in the engine torque calculation needs to be setup in a way that it is still valid in the Quasi-Static setup analysis. The user can use the modified rpm_input state variable expression shown previously as an example. A recommendation is also to use the wheel speeds that are calculated in the way that is done in the shared Adams Driveline brake system template.
Lastly, it is required that the different powertrain/driveline components properly inherit the calculated Quasi-Static wheel speeds in the initial velocity analysis. This can be accomplished by correctly setting up the initial condition motions. More information can be found in the section “Setting up Initial Condition Motions Activity Analyses” and in section “Setting up Initial-Velocity Analyses.”

Implementation in shared Adams Driveline SDI vehicle model

In the Adams Driveline shared database, the full vehicle assembly JEEP_RWD_SDI.asy is prepared for Adams Car SDI analysis. The used engine, driveline, gearbox and brake subsystems and templates in that assembly are listed below:
Table 3 Systems in JEEP_RWD_SDI.asy assembly which are involved in the Powertrain/Driveline SDI testrig and Quasi-Static setup communication.
 
System
Subsystem file:
Template file:
Brake system
JEEP_brake_system.sub
_brake_4Wdisk_adriveline.tpl
Driveline
RWD_driveline.sub
_RWD_driveline.tpl
Gearbox
gearbox_longitudinal_syncro.sub
_gearbox_longitudinal_syncro.tpl
Engine
engine_02.sub
_engine.tpl
In the Figure 1 an overview of these systems in the assembly is shown. The powertrain/driveline related communication from and to the full vehicle SDI testrig and the internal communication used for the Quasi-Static setup is presented as well. The green “In” arrows shows communicators to a certain subsystem while the blue “Out” arrows lists the information sent from the subsystem.
Figure 1 Overview of powertrain/driveline in assembly JEEP_RWD_SDI.asy
Most of the SDI testrig input communicators listed in table 1 are matched in this configuration and the required output communicator “engine_rpm_sse” for the Quasi-Static setup is here located in the engine system. The total_driveline_ratio in equation [2] is here divided into two parameters, gear_ratio and diff_ratio, and can be expressed as below:
total_driveline_ratio = gear_ratio [gear position] * diff_ratio      (2)
Next, the powertrain/driveline related communication between the different systems and the parameters such as those above are described in more detail.

Brake system

Starting from the brake system, calls are made to the VAR1004 subroutine that calculates the wheel speeds values during the Quasi-Static setup equilibrium phase. These speed values are then published to other subsystem via the output communicators listed below:
left_front_wheel_omega
right_front_wheel_omega
left_rear_wheel_omega
right_rear_wheel_omega
The inputs to the brake system are mainly brake_demand (received from the SDI testrig) and the tire forces (from the wheel templates). The id’s of the tire forces are passed as parameters in the VAR1004 calls, see Table 6.
Figure 2 Brake template: _brake_system4W_disk_acdriveline.tpl
This template originates from the shared Adams Car template _brake_system_4Wdisk.tpl. The only difference is that the Adams Driveline version publishes the wheel speeds.
More complete brake system information about entities related to SDI testrig and Quasi-Static setup are shown in the tables below:
Table 4 Input communicators in brake system which are related to SDI testrig and Quasi-Static setup
Communicators:
The input communicator:
Belongs to class:
Minor role:
Matching name:
cis_brake_demand
solver_variable
any
brake_demand
cil_rear_tire_force
force
rear
tire_force
cil_front_tire_force
force
front
tire_force
Table 5 Output communicators in brake system which are related to SDI testrig and Quasi-Static setup
The output communicator:
Belongs to class:
Minor role:
Matching name:
Points to entity:
cos_left_rear_wheel_omega
solver_variable
any
left_rear_wheel_omega
left_rear_wheel_omega
cos_right_rear_wheel_omega
solver_variable
any
right_rear_wheel_omega
right_rear_wheel_omega
cos_left_front_wheel_omega
solver_variable
any
left_front_wheel_omega
left_front_wheel_omega
cos_right_front_wheel_omega
solver_variable
any
right_front_wheel_omega
right_front_wheel_omega
Table 6 States variables in brake system which are related to SDI testrig and Quasi-Static setup
State variables:
The state variable:
Subroutine parameter:
Parameter value:
left_front_wheel_omega
 
 
 
par1
par2
par3
par4
par5
1004
(mtl_front_rotor_to_wheel.ptl_actuator_i_1.adams_id)
(mtl_front_suspension_upright.ptl_actuator_j_1.adams_id)
(mtl_front_suspension_upright.ptl_actuator_j_1.adams_id)
(cil_front_tire_force_adams_id)
right_front_wheel_omega
 
 
 
par1
par2
par3
par4
par5
1004
(mtr_front_rotor_to_wheel.ptr_actuator_i_1.adams_id)
(mtr_front_suspension_upright.ptr_actuator_j_1.adams_id)
(mtr_front_suspension_upright.ptr_actuator_j_1.adams_id)
(cir_front_tire_force_adams_id)
left_rear_wheel_omega
 
 
 
par1
par2
par3
par4
par5
1004
(mtl_rear_rotor_to_wheel.ptl_actuator_i_2.adams_id)
(mtl_rear_suspension_upright.ptl_actuator_j_2.adams_id)
(mtl_rear_suspension_upright.ptl_actuator_j_2.adams_id)
(cil_rear_tire_force_adams_id)
right_rear_wheel_omega
 
 
 
par1
par2
par3
par4
par5
1004
(mtr_rear_rotor_to_wheel.ptr_actuator_i_2.adams_id)
(mtr_rear_suspension_upright.ptr_actuator_j_2.adams_id)
(mtr_rear_suspension_upright.ptr_actuator_j_2.adams_id)
(cir_rear_tire_force_adams_id)

Driveline

This rear-wheel drive model uses the rear wheel speeds from the brake system to calculate the transmission output speed to be used in the Quasi-Static setup analysis phase, as per the equation below:
transmission_output_omega_sse = (left_rear_wheel_omega+right_rear_wheel_omega)/2*diff_ratio      (3) 
The transmission output shaft speed is then communicated to other subsystems (used in the engine system in this case). Another output from this system is the diff_ratio which is used by SDI testrig. The diff_ratio parameter value is taken from the reduction gear ratio set in the differential gear arrangement; see Figure 3.
Figure 3 Driveline template: _RWD_driveline.tpl
Note that the transmission output speed (that is, the speed of the input propeller shaft) in equation [3] is not used in any dynamic analysis, where the speed is instead determined by dynamic torque from the gearbox, resistance torque from the differential gear parts, inertia and compliance effects of the propeller shaft, different lash effects, and so on.
More complete driveline information about entities related to SDI testrig and Quasi-Static setup are shown in the tables below:
Table 7 Input communicators in driveline system which are related to SDI testrig and Quasi-Static setup
Communicators:
The input communicator:
Belongs to class:
Minor role:
Matching name:
cis_left_rear_wheel_omega
solver_variable
any
left_rear_wheel_omega
cis_right_rear_wheel_omega
solver_variable
any
right_rear_wheel_omega
Table 8 Output communicators in driveline system which are related to SDI testrig and Quasi-Static setup
The output communicator:
Belongs to class:
Minor role:
Matching name:
Points to entity:
cos_diff_ratio
parameter_real
inherit
diff_ratio
grsred_pinion_drive_to_ring.reduction_ratio
cos_transmission_output_omega_sse
solver_variable
inherit
transmission_output_omega_sse
VAR_transmission_output_omega_sse
Table 9 State variables in driveline system which are related to SDI testrig and Quasi-Static setup
State variables:
The state variable:
Function:
VAR_transmission_output_omega_sse
(VARVAL(cis_left_rear_wheel_omega_adams_id)+ VARVAL(cis_right_rear_wheel_omega_adams_id))/2*grsred_pinion_drive_to_ring.reduction_ratio
Table 10 Reduction Gears in the driveline system which are related to SDI testrig and Quasi-Static setup
Reduction gears:
The reduction gear:
Joint1:
Joint2:
Default ratio:
grsred_pinion_drive_to_ring
josrev_diff_input
josrev_diff_case_body
2.6

Gearbox

The gearbox model uses the transmission_demand and clutch_demand from the SDI testrig and publishes to the testrig the gear ratios for all gear positions (transmission_spline), highest gear position number (max_gears) and a scalar value between 0 and 1 which represent a transmission efficiency value. This value is used in (Driving Machine) SmartDriver events. The gearbox input shaft speed (transmission_input_omega) is published to the SDI testrig as well.
Figure 4 Gearbox template: _gearbox_longitudinal.tpl
Since this gearbox can not switch gears during the simulation, the transmission_demand information is only used to calculate the gear ratio value (gear_ratio) for the initial gear position; see expression in Table 15. This value is used in the Quasi-Static setup analysis by the engine subsystem.
More complete gearbox information about entities related to SDI testrig and Quasi-Static setup are shown in the tables below:
Table 11 Input communicators in gearbox system which are related to SDI testrig and Quasi-Static setup
 
 
Communicators:
The input communicator:
Belongs to class:
Minor role:
Matching name:
cis_clutch_demand_1
solver_variable
inherent
clutch_demand
cis_clutch_demand_2
solver_variable
inherent
clutch_demand
cis_transmission_demand
solver_variable
inherit
transmission_demand
Table 12 Input communicators in gearbox system which are related to SDI testrig and Quasi-Static setup
The output communicator:
Belongs to class:
Minor role:
Matching name:
Points to entity:
cos_max_gears
parameter_integer
inherit
max_gears
pvs_max_gears
cos_transmission_efficiency
parameter_real
inherit
transmission_efficiency
pvs_transmission_efficiency
cos_transmission_spline
spline
inherit
transmission_spline
gear_ratio_spline
cos_transmission_input_omega
solver_variable
inherit
transmission_input_omega
VAR_transmission_input_omega
cos_gear_ratio
parameter_real
inherit
gear_ratio
gear_ratio
Table 13 State variables in gearbox system which are related to SDI testrig and Quasi-Static setup
State variables:
The state variable:
Function:
VAR_transmission_input_omega
WZ(ges_input_shaft.jxs_joint_i_9,mts_body.jxs_joint_j_9, mts_body.jxs_joint_j_9)
Table 14 Splines in gearbox system which are related to SDI testrig and Quasi-Static setup
Splines:
The spline:
Spline values:
gear_ratio_spline
 
 
 
 
 
-3.0 (dummy value)
0.0
(ues_gear1.ratio)
(ues_gear2.ratio)
(ues_gear3.ratio)
(ues_gear4.ratio)
(ues_gear5.ratio)
Table 15 Parameter and variables in gearbox system which are related to SDI testrig and Quasi-Static setup
Parameters / variables:
The parameter/variable name:
Type:
Units:
Default value / parameterisation:
pvs_max_gears
integer
 
5
pvs_transmission_efficiency
real
no_units
1.0
gear_ratio
real
 
VALAT(gear_ratio_spline.xs, gear_ratio_spline.ys, cis_transmission_demand.object_value.initial_condition)

Engine

The engine template has in this case the largest portion of the powertrain/driveline related communication with the SDI testrig. The input from the SDI testrig to the engine is the throttle demand (throttle_ demand) while it publishes information different dynamic engine speed and engine torque quantities, as in Figure 5 and Table 16 below. In the Quasi-Static setup analysis, the engine speed is calculated as below:
engine_rpm_sse = gear_ratio * transmission_output_omega_sse      (4)
where the gear_ratio parameter value is received from the gearbox subsystem and the Quasi-Static speed of the transmission output shaft (transmission_output_omega_sse) comes from the driveline subsystem.
Figure 5 Engine template: _engine.tpl
More complete engine information about entities related to SDI testrig and Quasi-Static setup are shown in the tables below:
Table 16 Input communicators in engine system which are related to SDI testrig and Quasi-Static setup
Communicators:
The input communicator:
Belongs to class:
Minor role:
Matching name:
cis_throttle_demand
solver_variable
any
throttle_demand
cis_gear_ratio
parameter_real
inherit
gear_ratio
cis_transmission_output_omega_sse
solver_variable
any
transmission_output_omega_sse
Table 17 Output communicators in engine system which are related to SDI testrig and Quasi-Static setup
The output communicator:
Belongs to class:
Minor role:
Matching name:
Points to entity:
cos_engine_map
spline
inherit
engine_map
ues_engine_torque.gss_spline
cos_engine_rpm
solver_variable
inherit
engine_rpm
VAR_ENGINE_RPM
cos_engine_speed
solver_variable
inherit
engine_speed
VAR_ENGINE_OMEGA
cos_default_downshift_rpm
parameter_real
inherit
min_engine_speed
pvs_engine_idle_speed
cos_engine_idle_rpm
parameter_real
inherit
engine_idle_rpm
pvs_engine_idle_speed
cos_default_upshift_rpm
parameter_real
inherit
max_engine_speed
pvs_engine_rev_limit
cos_engine_max_rpm
parameter_real
inherit
engine_revlimit_rpm
pvs_engine_rev_limit
cos_max_engine_braking_torque
solver_variable
inherit
engine_maximum_braking_torque
VAR_max_braking_torque
cos_max_engine_driving_torque
solver_variable
inherit
engine_maximum_driving_torque
VAR_max_driving_torque
cos_engine_rpm_sse
solver_variable
inherit
engine_rpm_sse
VAR_ENGINE_RPM_SSE
Table 18 Ac dyno in the engine system which is related to SDI testrig and Quasi-Static setup
Dynos:
The Dynos:
I Part:
J Part:
ues_engine_torque
ges_crankshaft
ges_engine_block
Table 19 State variables in engine system which are related to SDI testrig and Quasi-Static setup
State variables:
The state variable:
Function:
ues_engine_torque.rpm_input
WZ(ues_engine_torque.i_marker,ues_engine_torque.j_marker,ues_engine_torque.j_marker)
*60/(2*PI)
VAR_ENGINE_RPM
ABS(wz(ges_crankshaft.jxs_joint_i_8,ges_engine_block.jxs_joint_j_8, ges_engine_block.jxs_joint_j_8)*60/(2*PI))
VAR_ENGINE_OMEGA
VARVAL(VAR_ENGINE_RPM)*PI/30
VAR_ENGINE_RPM_SSE
VARVAL(cis_transmission_output_omega_sse_adams_id)*cis_gear_ratio*30/PI
VAR_max_braking_torque
AKISPL(MAX(0,VARVAL(ues_engine_torque.rpm_input)),0,ues_engine_torque.gss_spline)
VAR_max_driving_torque
AKISPL(MAX(0,VARVAL(ues_engine_torque.rpm_input)),1,ues_engine_torque.gss_spline)
Table 20 Splines in engine system which are related to SDI testrig and Quasi-Static setup
Splines:
The spline:
Spline values:
ues_engine_torque.gss_spline
 
3D dimensional engine map spline:
Input parameter 1: Throttle (0->100)
Input parameter2: engine speed (rpm)
Output: engine torque
Table 21 Parameters in engine system which are related to SDI testrig and Quasi-Static setup
Parameters:
The parameter:
Type:
Units:
Default value:
pvs_engine_idle_speed
real
no_units
1000.0
pvs_engine_rev_limit
real
no_units
6000.0