Main Content

Build Hybrid Electric Vehicle Multimode Model

The hybrid electric vehicle reference application represents a full multimode hybrid electric vehicle (HEV) model with an internal combustion engine, transmission, battery, motor, generator, and associated powertrain control algorithms. Use the reference application for powertrain matching analysis and component selection, control and diagnostic algorithm design, and hardware-in-the-loop (HIL) testing. To create and open a working copy of the hybrid electric vehicle reference application project, enter

By default, the HEV multimode reference application is configured with:

  • Mapped motor and generator

  • 1.5–L spark-ignition (SI) dynamic engine

This diagram shows the powertrain configuration.

This table describes the blocks and subsystems in the reference application, indicating which subsystems contain variants. To implement the model variants, the reference application uses variant subsystems.

Reference Application ElementDescriptionVariants

Analyze Power and Energy

Double-click Analyze Power and Energy to open a live script. Run the script to evaluate and report power and energy consumption at the component- and system-level. For more information about the live script, see Analyze Power and Energy.


Drive Cycle Source block — FTP75 (2474 seconds)

Generates a standard or user-specified drive cycle velocity versus time profile. Block output is the selected or specified vehicle longitudinal speed.

Environment subsystem

Creates environment variables, including road grade, wind velocity, and atmospheric temperature and pressure.


Longitudinal Driver subsystem

Uses the Longitudinal Driver or Open Loop variant to generate normalized acceleration and braking commands.

  • Longitudinal Driver variant implements a driver model that uses vehicle target and reference velocities.

  • Open Loop variant allows you to configure the acceleration, deceleration, gear, and clutch commands with constant or signal-based inputs.

Controllers subsystem

Implements a powertrain control module (PCM) containing a hybrid control module (HCM) and an engine control module (ECM).

Passenger Car subsystem

Implements a hybrid passenger car that contains engine, electric plant, and drivetrain subsystems.

Visualization subsystem

Displays vehicle-level performance, battery state of charge (SOC), fuel economy, and emission results that are useful for powertrain matching and component selection analysis.


Evaluate and Report Power and Energy

Double-click Analyze Power and Energy to open a live script. Run the script to evaluate and report power and energy consumption at the component- and system-level. For more information about the live script, see Analyze Power and Energy.

The script provides:

  • An overall energy summary that you can export to an Excel® spreadsheet.

  • Engine plant, electric plant, and drivetrain plant efficiencies, including an engine histogram of time spent at the different engine plant efficiencies.

  • Data logging so that you can use the Simulation Data Inspector to analyze the powertrain efficiency and energy transfer signals.

Drive Cycle Source

The Drive Cycle Source block generates a target vehicle velocity for a selected or specified drive cycle. The reference application has these options.


Output sample time

Continuous (default)

Continuous operator commands


Discrete operator commands

Longitudinal Driver

The Longitudinal Driver subsystem generates normalized acceleration and braking commands. The reference application has these variants.

Block Variants


Longitudinal Driver (default)



PI control with tracking windup and feed-forward gains that are a function of vehicle velocity.


Optimal single-point preview (look ahead) control.


Proportional-integral (PI) control with tracking windup and feed-forward gains.

Low-pass filter (LPF)


Use an LPF on target velocity error for smoother driving.


Do not use a filter on velocity error.



Stateflow® chart models reverse, neutral, and drive gear shift scheduling.


Input gear, vehicle state, and velocity feedback generates acceleration and braking commands to track forward and reverse vehicle motion.


No transmission.


Stateflow chart models reverse, neutral, park, and N-speed gear shift scheduling.

Open Loop

Open-loop control subsystem. In the subsystem, you can configure the acceleration, deceleration, gear, and clutch commands with constant or signal-based inputs.

To idle the engine at the beginning of a drive cycle and simulate catalyst light-off before moving the vehicle with a pedal command, use the Longitudinal Driver variant. The Longitudinal Driver subsystem includes an ignition switch signal profile, IgSw. The engine controller uses the ignition switch signal to start both the engine and a catalyst light-off timer.

The catalyst light-off timer overrides the engine stop-start (ESS) stop function control while the catalyst light-off timer is counting up. During the simulation, after the IgSw down-edge time reaches the catalyst light-off time CatLightOffTime, normal ESS operation resumes. If there is no torque command before the simulation reaches the EngStopTime, the ESS shuts down the engine.

To control ESS and catalyst light-off:

  • In the Longitudinal Driver Model subsystem, set the ignition switch profile IgSw to 'on'.

  • In the engine controller model workspace, set these calibration parameters:

    • EngStopStartEnable — Enables ESS. To disable ESS, set the value to false.

    • CatLightOffTime — Engine idle time from engine start to catalyst light-off.

    • EngStopTime — ESS engine run time after driver model torque request cut-off.


The Controller subsystem has a PCM with an HCM and an ECM.


The reference application has these variants for the ECM.

ECMSiEngineController (default)

SI engine controller


CI engine controller


The HCM implements a dynamic embedded controller that directly determines the engine operating point that minimizes brake-specific fuel consumption (BSFC) while meeting or exceeding power required by the battery charging and vehicle propulsion subsystems.

To calculate the optimal engine operating point in speed and torque, the controller starts with a candidate set of discrete engine power levels. For each power level candidate, the block has a parameterized vector of torque and speed operating points that minimize BSFC.

The optimizer then removes power level candidates that are unacceptable for either of these reasons:

  • Too much power sent through the generator to the battery.

  • Too little power to meet charging and propulsion subsystem requirements.

Of the remaining power level candidates, the controller selects the one with the lowest BSFC. The controller then sends the associated torque / speed operating point command to the engine.

Passenger Car

To implement a passenger car, the Passenger Car subsystem contains drivetrain, electric plant, and engine subsystems. To create your own engine variants for the reference application, use the CI and SI engine project templates. The reference application has these subsystem variants.


Drivetrain SubsystemVariantDescription

Differential and Compliance

All Wheel Drive

Configure drivetrain for all wheel, front wheel, or rear wheel drive. For the all wheel drive variant, you can configure the type of coupling torque.

Front Wheel Drive (default)
Rear Wheel Drive


Vehicle Body 3 DOF Longitudinal

Configured for 3 degrees of freedom

Wheels and Brakes

Longitudinal Wheel - Front 1

For the wheels, you can configure the type of:

  • Brake

  • Force calculation

  • Resistance calculation

  • Vertical motion

For performance and clarity, to determine the longitudinal force of each wheel, the variants implement the Longitudinal Wheel block. To determine the total longitudinal force of all wheels acting on the axle, the variants use a scale factor to multiply the force of one wheel by the number of wheels on the axle. By using this approach to calculate the total force, the variants assume equal tire slip and loading at the front and rear axles, which is common for longitudinal powertrain studies. If this is not the case, for example when friction or loads differ on the left and right sides of the axles, use unique Longitudinal Wheel blocks to calculate independent forces. However, using unique blocks to model each wheel increases model complexity and computational cost.

Longitudinal Wheel - Rear 1

Electric Plant

Electric Plant SubsystemVariantDescription
BatteryBattHevMm (default)

Configured with electric battery

GeneratorGenMapped (default)

Mapped generator


Interior permanent magnet synchronous motor (PMSM) with controller

MotorMotMapped (default)

Mapped motor with implicit controller


Interior permanent magnet synchronous motor (PMSM) with controller


Engine SubsystemVariantDescription


Dynamic SI Core Engine with turbocharger


Dynamic naturally aspirated SI Core Engine


Dynamic SI V Twin-Turbo Single-Intake Engine


Dynamic SI V Engine


Dynamic SI V Twin-Turbo Twin-Intake Engine

SiMappedEngine (default)

Mapped SI Engine with implicit turbocharger


Deep learning SI engine


Dynamic CI Core Engine with turbocharger


Mapped CI Engine with implicit turbocharger


[1] Higuchi, N., Shimada, H., Sunaga, Y., and Tanaka, M., Development of a New Two-Motor Plug-In Hybrid System. SAE Technical Paper 2013-01-1476. Warrendale, PA: SAE International Journal of Alternative Powertrains, 2013.

See Also

| | | | | | | | | |

Related Examples

More About