Documentation

elec_getPowerLossSummary

Calculate dissipated power losses

Syntax

lossesTable = elec_getPowerLossSummary(node)
lossesTable = elec_getPowerLossSummary(node,startTime,endTime)

Description

example

lossesTable = elec_getPowerLossSummary(node) calculates dissipated power losses for semiconductor blocks in a model, based on logged simulation data, and returns the data for each block in a table.

Before you call this function, you must have the simulation log variable in your current workspace. Create the simulation log variable by simulating the model with data logging turned on, or load a previously saved variable from a file. If node is the name of the simulation log variable, then the table contains the data for all semiconductor blocks in the model. If node is the name of a node in the simulation data tree, then the table contains the data only for the blocks within that node.

Checking dissipated power is useful for verifying that circuit components are operating within their working envelopes. All blocks in the Semiconductor Devices library, as well as some other blocks, have an internal variable called power_dissipated, which represents the instantaneous power dissipated by the block. When you log simulation data, the time-value series for this variable represents the power dissipated by the block over time. You can view and plot this data using the Simscape™ Results Explorer.

The elec_getPowerLossSummary function calculates average losses for each block that has a power_dissipated variable. Some blocks have more than one power_dissipated variable, depending on their configuration. For example, the N-Channel MOSFET block has separate power_dissipated logging nodes for the MOSFET, the gate resistor, and for the source and drain resistors if they have nonzero resistance values. The function sums all these losses and provides the power loss value for the whole block, averaged over simulation time.

example

lossesTable = elec_getPowerLossSummary(node,startTime,endTime) calculates dissipated power losses within a time interval. startTime and endTime represent the start and end of the time interval for averaging the power losses. If you omit these two input arguments, the function averages the power losses over the whole simulation time.

Examples

collapse all

Open the Solar Power Converter example model.

elec_solar_converter

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_solar_converter in your current workspace.

sim('elec_solar_converter');

Calculate power losses for the whole model and display the results in a table.

tabulatedLosses = elec_getPowerLossSummary(simlog_elec_solar_converter)
tabulatedLosses =

  8x2 table

                LoggingNode                Power 
    ___________________________________    ______

    'elec_solar_converter.MOS4'            17.225
    'elec_solar_converter.MOS2'            16.988
    'elec_solar_converter.MOS3'            15.168
    'elec_solar_converter.MOS1'            14.766
    'elec_solar_converter.Diode2.diode'    2.9856
    'elec_solar_converter.Diode4.diode'    2.8973
    'elec_solar_converter.Diode1.diode'    2.0439
    'elec_solar_converter.Diode3.diode'    1.9714

The table shows dissipated power losses for each of the four N-Channel MOSFET and four Diode blocks, averaged over the whole simulation time.

Open the Solar Power Converter example model.

elec_solar_converter

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_elec_solar_converter in your current workspace.

sim('elec_solar_converter');

Calculate power losses for the MOS1 block.

mosfetLosses = elec_getPowerLossSummary(simlog_elec_solar_converter.MOS1)
mosfetLosses = 

    LoggingNode    Power 
    ___________    ______

    'MOS1'         15.316

The table shows dissipated power losses for the MOS1 block, averaged over the whole simulation time.

Use the sscexplore function to further explore the power loss data for the MOSFET block.

sscexplore(simlog_elec_solar_converter.MOS1)

The block has several power_dissipated logging nodes: under drain_resistor, under gate_resistor, under mos, and under source_resistor. The 15.316 value calculated by the elec_getPowerLossSummary function is a sum of all these losses, averaged over the simulation time.

Open the Solar Power Converter example model.

elec_solar_converter

This example model has data logging enabled. Run the simulation to create the simulation log variable simlog_elec_solar_converter in your current workspace.

sim('elec_solar_converter');

The model simulation time is 1/60th of a second. Calculate average power losses for the MOS1 block during the first 1/120th of a second.

mosfetLosses1 = elec_getPowerLossSummary(simlog_elec_solar_converter.MOS1,0,1/120)
mosfetLosses1 =

  1x2 table

    LoggingNode    Power 
    ___________    ______

    'MOS1'         29.524

The table shows the average dissipated power losses for the MOS1 block during the first half of the simulation cycle. It is almost twice as high as that for the whole simulation time.

Input Arguments

collapse all

Simulation log workspace variable, or a node within this variable, that contains the logged model simulation data, specified as a Node object. You specify the name of the simulation log variable by using the Workspace variable name parameter on the Simscape pane of the Configuration Parameters dialog box. To specify a node within the simulation log variable, provide the complete path to that node through the simulation data tree, starting with the top-level variable name.

Example: simlog.Cell1.MOS1

Start of the time interval for averaging dissipated power losses, specified as a real number, in seconds. startTime must be greater than or equal to the simulation Start time and less than endTime.

Data Types: double

End of the time interval for averaging dissipated power losses, specified as a real number, in seconds. endTime must be greater than startTime and less than or equal to the simulation Stop time.

Data Types: double

Output Arguments

collapse all

Dissipated power losses for each block, returned as a table. The first column lists logging nodes for all blocks that have at least one power_dissipated variable. The second column lists the corresponding losses in watts.

Introduced in R2015a

Was this topic helpful?