generateDCDCConverterROM
Syntax
Description
The generateDCDCConverterROM function takes a DC-DC power
converter subsystem and creates a reduced-order model (ROM) in the form of a DC-DC
Converter block and parameterizes it based on the voltage and current measurements
in the original model.
The model-order reduction transforms a high-fidelity, computationally expensive model into an equivalent model that is easier to interpret and runs faster. This model is called a reduced-order model. The ROM comprises first-order dynamics, linear voltage droop, tabulated efficiency, and required minimum supply voltage.
You can use the ROM to run faster simulations by replacing the original DC-DC power converter subsystem with the generated ROM subsystem. ROMs enable you to quickly test and analyze system-level scenarios where the DC-DC power converter interacts with other systems.
generateDCDCConverterROM( generates an
equivalent energy-based model from the DC-DC power converter
sys)sys.
generateDCDCConverterROM(
specifies options using one or more name-value arguments in addition to the input argument
in the previous syntax. For example, to specify the reference output voltage as 80 V, set
sys,Name=Value)ReferenceOutputVoltage to 80.
returns a structure that contains the generated ROM data, including the first-order voltage
regulation time constant, efficiency lookup tables, voltage droop, and the minimum required
supply voltage.ROMParameters = generateDCDCConverterROM(sys,Name=Value)
Examples
Input Arguments
Name-Value Arguments
Output Arguments
Limitations
The generated ROM does not include high-order dynamics. If your model must represent high-order dynamic behaviors, do not replace the original system.
The
generateDCDCConverterROMfunction only loads these variables into the harness model workspace:Variables that you specify inside the
PreLoadFcnandPostLoadFcnmodel callbacks of your original modelVariables inside the model workspace of your original model
If the blocks of your model uses variables in the
InitFcnmodel callback, this function returns an invalid parameter name error when simulating the harness model. For more information about model callbacks, see Model Callbacks.
Version History
Introduced in R2025a


![Figure contains an axes object. The axes object with title Simulation Results for Voltage Regulation Time Constant Calculation Input DC Voltage = 30V Output Power = 100W, xlabel Time [s], ylabel Voltage [V] contains 3 objects of type line. These objects represent Voltage reference, Response, Fitted response (First order).](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_03.png)

![Figure contains an axes object. The axes object with title Simulation Results for Power Conversion Efficiency Calculation Output Voltage Reference = 15V, xlabel Output Current [A], ylabel Efficiency [%] contains 2 objects of type line. These objects represent Input Vdc = 27V, Input Vdc = 30V.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_05.png)
![Figure contains an axes object. The axes object with xlabel Time [sec], ylabel Voltage [V] contains 3 objects of type line. These objects represent Output voltage, Input voltage.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_06.png)
![Figure contains an axes object. The axes object with xlabel Load current [A], ylabel Voltage droop [V] contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_07.png)
![Figure contains an axes object. The axes object with title Output Voltage Waveforms Input Voltage = 30V Output Power = 100W Original model vs. ROM, xlabel Time [sec], ylabel Output Voltage [V] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_08.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 20W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 20W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_09.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 30W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 30W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_10.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 40W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 40W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_11.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 50W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 50W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_12.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 60W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 60W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_13.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 70W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 70W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_14.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 80W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 80W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_15.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 90W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 90W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_16.png)
![Figure contains 2 axes objects. Axes object 1 with title Input Current Waveforms Input Voltage = 27V Output Power = 100W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original. Axes object 2 with title Input Current Waveforms Input Voltage = 30V Output Power = 100W Original model vs. ROM, xlabel Time [sec], ylabel Input Current [A] contains 2 objects of type line. These objects represent ROM, Original.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_17.png)
![Figure contains an axes object. The axes object with title Simulation Results for Power Conversion Efficiency Calculation Original model vs. ROM, xlabel Output Current [A], ylabel Efficiency [%] contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Input Vdc = 27V - Original, Input Vdc = 30V - Original, Input Vdc = 27V - ROM, Input Vdc = 30V - ROM.](../../examples/simscapeelectrical/win64/GenerateBuckConverterSubsystemROMExample_18.png)