Main Content

Transfer Case

Differential as a planetary bevel gear

Since R2021b

  • Transfer Case block

Libraries:
Powertrain Blockset / Drivetrain / Final Drive Unit
Vehicle Dynamics Blockset / Powertrain / Drivetrain / Final Drive Unit

Description

The Transfer Case block implements a differential as a planetary bevel gear train. The block matches the driveshaft bevel gear to the crown (ring) bevel gear. You can specify:

  • Carrier-to-driveshaft ratio

  • Crown wheel location

  • Viscous and damping coefficients for the axles and carrier

Use the Transfer Case block to:

  • Dynamically couple the post-transmission driveshaft to the wheel axles or universal joints

  • Model simplified or older drivetrains when optimal traction control does not require passive or active torque vectoring

  • Model mechanical power splitting in generic gearbox and drive line scenarios

The block is suitable for use in hardware-in-the-loop (HIL) and optimization workflows. All the parameters are tunable.

Efficiency

To account for the block efficiency, use the Efficiency factors parameter. This table summarizes the block implementation for each setting.

SettingImplementation

Constant

Constant efficiency that you can set with the Constant efficiency factor, eta parameter.

Driveshaft torque, temperature and speed

Efficiency as a function of base gear input torque, air temperature, and driveshaft speed. Use these parameters to specify the lookup table and breakpoints:

  • Efficiency lookup table, eta_tbl

  • Efficiency torque breakpoints, Trq_bpts

  • Efficiency speed breakpoints, omega_bpts

  • Efficiency temperature breakpoints, Temp_bpts

For the air temperature, you can either:

  • Select Input ambient temperature to create an input port.

  • Set a Ambient temperature, Tamb parameter value.

To select the interpolation method, use the Interpolation method parameter. For more information, see Interpolation Methods.

Power Accounting

For the power accounting, the block implements these equations.

Bus Signal DescriptionEquations

PwrInfo

PwrTrnsfrd — Power transferred between blocks

  • Positive signals indicate flow into block

  • Negative signals indicate flow out of block

PwrDriveshft

Mechanical power from driveshaft

ηTdωd

PwrAxl1

Mechanical power from axle 1

ηT1ω1

PwrAxl2

Mechanical power from axle 2

ηT2ω2

PwrNotTrnsfrd — Power crossing the block boundary, but not transferred

  • Positive signals indicate an input

  • Negative signals indicate a loss

PwrMechLoss

Total power loss

W˙loss= (Pt+Pd)+PsPt=ηTdωd+ηT1ω1+ηT2ω2

PwrDampLoss

Power loss due to damping

Pd=(b1|ω1|+b2|ω2|+bd|ωd|)

PwrStored — Stored energy rate of change

  • Positive signals indicate an increase

  • Negative signals indicate a decrease

PwrStoredShft

Rate change of stored internal energy

Ps=(ω1ω˙1J1+ω2ω˙2J2+ωdω˙dJd)

Dynamics

The Transfer Case block implements these differential equations to represent the mechanical dynamic response for the crown gear, front axle, and rear axle.

Mechanical Dynamic ResponseDifferential Equation
Crown Gear

ω˙dJd=ηTd-ωdbd-Ti

Front Axle

ω˙1J1=ηT1-ω1b1-Ti1

Rear Axle

ω˙2J2=ηT2-ω2b2-Ti2

The equations use these variables.

N

Carrier-to-driveshaft gear ratio

Jd

Rotational inertia of the crown gear assembly

bd

Crown gear linear viscous damping

ωd

Driveshaft angular speed

η

Differential efficiency

J1

Axle 1 rotational inertia

b1

Axle 1 linear viscous damping

ω1

Axle 1 speed

J2

Axle 2 rotational inertia

b2

Axle 2 linear viscous damping

ω2

Axle 2 angular speed

Td

Driveshaft torque

T1

Axle 1 torque

T2

Axle 2 torque

Ti

Driveshaft internal resistance torque

Ti1

Axle 1 internal resistance torque

Ti2

Axle 2 internal resistance torque

Ports

Inputs

expand all

Applied input torque, typically from the engine crankshaft, in N·m.

Axle 1 torque, T1, in N·m.

Axle 2 torque, T2, in N·m.

Temperature, in K.

Dependencies

To enable this port:

  • Set Efficiency factors to Driveshaft torque, speed and temperature.

  • Select Input temperature.

Front axle torque split ratio.

Dependencies

To enable this port, select Input front axle torque split ratio, TrqSplitRatio.

Axle speed lock.

Dependencies

To enable this port, select Input axle speed lock, SpdLock.

Output

expand all

Bus signal containing these block calculations.

SignalDescriptionUnits

Driveshft

DriveshftTrq

Driveshaft torque

N·m

DriveshftSpd

Driveshaft speed

rad/s

Axl1

Axl1Trq

Axle 1 torque

N·m

Axl1Spd

Axle 1 speed

rad/s

Axl2

Axl2Trq

Axle 2 torque

N·m

Axl2Spd

Axle 2 speed

rad/s

PwrInfo

PwrTrnsfrd

PwrDriveshft

Mechanical power from driveshaft

W

PwrAxl1

Mechanical power from axle 1

W

PwrAxl2

Mechanical power from axle 2

W

PwrTrnsfrd

PwrMechLoss

Total power loss

W

PwrDampLoss

Power loss due to damping

W

PwrStored

PwrStoredShft

Rate change of stored internal energy

W

Driveshaft angular speed, ωd, in rad/s.

Axle 1 angular speed, ω1, in rad/s.

Axle 2 angular speed, ω2, in rad/s.

Parameters

expand all

Block Options

To account for the block efficiency, use the Efficiency factors parameter. This table summarizes the block implementation for each setting.

SettingImplementation

Constant

Constant efficiency that you can set with the Constant efficiency factor, eta parameter.

Driveshaft torque, temperature and speed

Efficiency as a function of base gear input torque, air temperature, and driveshaft speed. Use these parameters to specify the lookup table and breakpoints:

  • Efficiency lookup table, eta_tbl

  • Efficiency torque breakpoints, Trq_bpts

  • Efficiency speed breakpoints, omega_bpts

  • Efficiency temperature breakpoints, Temp_bpts

For the air temperature, you can either:

  • Select Input ambient temperature to create an input port.

  • Set a Ambient temperature, Tamb parameter value.

To select the interpolation method, use the Interpolation method parameter. For more information, see Interpolation Methods.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: DiffEffModelPopup
Values: Constant (default) | Driveshaft torque, speed and temperature
Data Types: character vector

For more information, see Interpolation Methods.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: InterpMethod
Values: Flat | Nearest | Linear point-slope | Linear Lagrange | Cubic spline
Data Types: character vector

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Select to create input port Temp for the temperature.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: extTamb
Values: off (default) | on
Data Types: character vector

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Select to create input port TrqSplitRatioConstant for the front axle torque split ratio.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: TrqSplitRatio
Values: off (default) | on
Data Types: character vector

Select to create input port SpdLockConstant for the axle speed lock.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: SpdLock
Values: off (default) | on
Data Types: character vector

Specify the crown wheel connection to the driveshaft.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: shaftSwitchMask
Values: To the left of center-line (default) | To the right of center-line
Data Types: character vector

Carrier-to-driveshaft gear ratio, N, dimensionless.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Ndiff
Values: 4 (default) | scalar
Data Types: double

Rotational inertia of the crown gear assembly, Jd, in kg·m^2. You can include the driveshaft inertia.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Jd
Values: .1 (default) | scalar
Data Types: double

Crown gear linear viscous damping, bd, in N·m·s/rad.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: bd
Values: 1e-3 (default) | scalar
Data Types: double

Axle 1 rotational inertia, J1, in kg·m^2.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Jw1
Values: .1 (default) | scalar
Data Types: double

Axle 1 linear viscous damping, b1, in N·m·s/rad.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: bw1
Values: 1e-3 (default) | scalar
Data Types: double

Axle 2 rotational inertia, J2, in kg·m^2.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Jw2
Values: .1 (default) | scalar
Data Types: double

Axle 2 linear viscous damping, b2, in N·m·s/rad.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: bw2
Values: 1e-3 (default) | scalar
Data Types: double

Axle 1 initial velocity, ωo1, in rad/s.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: omegaw1o
Values: 0 (default) | scalar
Data Types: double

Axle 2 initial velocity, ωo2, in rad/s.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: omegaw2o
Values: 0 (default) | scalar
Data Types: double

Efficiency

Constant efficiency, η.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: eta
Values: 1 (default) | positive scalar
Data Types: double

Dependencies

To enable this parameter, set Efficiency factors to Constant.

Dimensionless array of values for efficiency as a function of:

  • M input torques

  • N input speed

  • L air temperatures

Each value specifies the efficiency for a specific combination of torque, speed, and temperature. The array size must match the dimensions defined by the torque, speed, and temperature breakpoint vectors.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: eta_tbl
Values: M-by-N-by-L array
Data Types: double

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Vector of input torque, breakpoints for efficiency, in N·m.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Trq_bpts
Values: [25, 50, 75, 100, 150, 200, 250] (default) | 1-by-M vector
Data Types: double

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Vector of speed, breakpoints for efficiency, in rad/s.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: omega_bpts
Values: [52.4 78.5 105 131 157 183 209 262 314 419 524] (default) | 1-by-N vector
Data Types: double

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Vector of ambient temperature breakpoints for efficiency, in K.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Temp_bpts
Values: [290 358] (default) | 1-by-L vector
Data Types: double

Dependencies

To enable this parameter, set Efficiency factors to Driveshaft torque, speed and temperature.

Ambient air temperature, Tair, in K.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Tamb
Values: 297.15 (default) | scalar
Data Types: double

Dependencies

To enable this parameter:

  • Set Efficiency factors to Driveshaft torque, speed and temperature.

  • Clear Input ambient temperature.

Front axle torque split ratio.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: TrqSplitRatio
Values: 0.5 (default) | scalar
Data Types: double

Dependencies

To enable this parameter, clear Input front axle torque split ratio, TrqSplitRatio.

Axle speed lock. Set this value to 0 to make the front and rear axle rotational speed not fixed. Set this value to 1 to make the front and rear axle rotational speed fixed.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: SpdLock
Values: 0 (default) | scalar
Data Types: double

Dependencies

To enable this parameter, clear Input axle speed lock, SpdLock.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2021b