# powergui

Environment block for Simscape Electrical Specialized Power Systems models

**Libraries:**

Simscape /
Electrical /
Specialized Power Systems

## Description

The powergui block allows you to choose one of these methods to solve your circuit:

Continuous, which uses a variable-step solver from Simulink

^{®}Discretization of the electrical system for a solution at fixed time steps

Continuous or discrete phasor solution

The powergui block also opens tools for steady-state and simulation results analysis and for advanced parameter design.

You need the powergui block to simulate any Simulink model containing Simscape™ Electrical™ Specialized Power Systems blocks. It stores the equivalent Simulink circuit that represents the state-space equations of the model.

When using one powergui block in a model:

Place the powergui block in the top-level diagram for optimal performance.

Make sure that the block is named

`powergui`

.

**Note**

The powergui block becomes disabled during model update. To ensure proper model execution, do not restore the library link for the powergui block.

You can use multiple powergui blocks in a system that contains two or more independent electrical circuits that you want to simulate with different powergui solvers. For example, this system simulates the upper electrical circuit in discrete mode and the bottom circuit in continuous mode. The system compares the simulation performance of the two methods.

To do so, put each circuit in a different subsystem, and then add a powergui block inside each subsystem.

When you use more than one powergui block in a model:

Do not place a powergui block in the top-level diagram.

Place every independent model in a different subsystem.

Place a single powergui block in the top level diagram of every subsystem.

**Note**

Do not include commented-out powergui blocks in your model. Doing so will prevent the model from simulating.

## Parameters

### Solver

**Simulation type** — Simulation type

`Continuous`

(default) | `Discrete`

| `Phasor`

| `Discrete phasor`

Simulation type for the model:

`Continuous`

— Perform a continuous solution of the model.`Discrete`

— Perform a discretization of the model using the sample time specified by the**Sample time (s)**parameter.`Phasor`

— Perform continuous phasor simulation of the model at the frequency specified by the**Frequency (Hz)**parameter.`Discrete phasor`

— Perform a phasor simulation at fixed time steps specified by the**Sample time (s)**parameter, and at the frequency specified by the**Frequency (Hz)**parameter. The`Discrete phasor`

solver uses simplified machine models that produce simulation results similar to transient stability software.

**Sample time (s)** — Sample time for discretization

`50e-6`

(default) | positive scalar

Sample time used to discretize the electrical circuit, in s. The powergui block displays the value of the sample time.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

or `Discrete phasor`

.

**Frequency (Hz)** — Frequency for phasor simulation

`60`

(default) | positive scalar

Frequency, in Hz, for performing the phasor simulation of the model. The powergui block displays the value of the phasor frequency.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Phasor`

or `Discrete phasor`

.

### Apps

**Measurement and States Analyzer** — Display steady-state voltages and currents, initial capacitor voltages,
and inductor currents

button

Open the Measurements and States Analyzer app to display the steady-state voltages and currents of the model as well as the initial capacitor voltages and inductor currents.

**Line Parameter Calculator** — Compute RLC parameters of overhead transmission line

button

Open the Power Line Parameters app to compute RLC parameters of overhead transmission line from its conductor characteristics and tower geometry.

**Cable Parameter Calculator** — Compute RLC matrices and frequency-dependent parameters

button

Open the Power Cable Parameters app to compute RLC matrices and frequency-dependent parameters of cable arrangements.

**Line Decoupler** — Replace Distributed Parameters Line blocks with Decoupling Line blocks

button

Open the Specify Decoupling Lines app to replace selected Distributed Parameters Line blocks with Decoupling Line blocks.

**Load Flow Analyzer** — Perform load flow and initialize three-phase networks and machines

button

Open the Load Flow Tool dialog box to perform load flow analysis and
initialize three-phase networks and machines so that the simulation
starts in steady state. The Load Flow Tool uses the Newton-Raphson
method to provide a robust and faster convergence solution compared to
the Machine Initialization Tool. The Load Flow Tool offers most of the
functionality of other tools available in the power utility industry.
For more information, see `power_loadflow`

.

**Max iterations** — Maximum iterations used by Load Flow Tool

`50`

(default) | positive integer

Maximum number of times the Load Flow Tool iterates until the P and Q
powers mismatch at each bus is lower than the **PQ
tolerance** parameter value (in pu/Pbase). The power
mismatch is defined as the difference between the net power injected
into the bus by generators and loads and the power transmitted on all
links leaving that bus. For example, if the base power is 100 MVA and
**PQ tolerance** is set to `1e-4`

,
the maximum power mismatch at all buses does not exceed 0.1 MW or 0.1
Mvar.

**Frequency (Hz)** — Frequency for load flow computations

`60`

(default) | positive scalar

Frequency, in Hz, used by the Load Flow Tool to compute the normalized Ybus network admittance matrix of the model and to perform the load flow calculations.

**Base power (VA)** — Base power used by Load Flow Tool

`100e6`

(default) | positive scalar

Base power, in VA, used by the Load Flow Tool to compute the
normalized Ybus network admittance matrix in pu/Pbase and bus base
voltages of the model, at the frequency specified by the
**Frequency (Hz)** parameter for load flow
computations.

To avoid a badly conditioned Ybus matrix, select a base power value in the range of nominal powers and loads of the model. For a transmission network with voltages ranging from 120 kV to 765 kV, a 100 MVA base is usually selected. For a distribution network or for a small plant consisting of generators, motors, and loads that have a nominal power in the range of hundreds of kilowatts, a 1 MVA base power is better adapted.

**PQ tolerance (pu)** — Tolerance between P and Q

`1e-4`

(default) | positive scalar

Tolerance between P and Q when the Load Flow Tool stops to iterate.

**Voltage units** — Voltage units used by Load Flow Tool

`kV`

(default) | `V`

Voltage units used by the Load Flow Tool to display voltages.

**Power units** — Power units used by Load Flow Tool

`MW`

(default) | `kW`

| `W`

Power units used by the Load Flow Tool to display powers.

**Impedance Calculator** — Display the impedance versus frequency

button

Open the app to display the impedance versus the frequency, as
defined by the Impedance Measurement blocks. For more
information, see `power_zmeter`

.

**FFT Analyzer** — Perform Fourier analysis of signals

button

Open the FFT Analysis Tool dialog box to perform Fourier analysis of
signals stored in a structure with time format. For more information,
see `power_fftscope`

.

For an example that uses the FFT Analysis tool, see Performing Harmonic Analysis Using the FFT Tool.

**Linear System Analyzer** — Time and frequency domain responses

button

Open the Linear System Analyzer dialog box to generate the state-space
model of your system (if you have a Control System Toolbox™ license) or to view time and frequency domain responses.
For more information, see `power_ltiview`

.

**Hysteresis Designer** — Design hysteresis characteristic for the saturable core

button

Open the Hysteresis Design Tool to design a hysteresis characteristic
for the saturable core of the Saturable Transformer block
and the Three-Phase Transformer blocks (Two Windings and
Three Windings). For more information, see `power_hysteresis`

.

**Block Customizer** — Create custom blocks

button

Open the power_customize dialog box to create custom Simscape
Electrical Specialized Power Systems blocks. For more information,
see `power_customize`

.

**Report Generator** — Generate report of steady-state variables, initial states, and machine load flow

button

Open the Generate Report Tool dialog box to generate a report of
steady-state variables, initial states, and machine load flow for a
model. For more information, see `power_report`

.

**Machine Initialization** — Initialize three-phase networks containing three-phase machines

button

Open the Machine Initialization Tool dialog box to initialize
three-phase networks containing three-phase machines so that the
simulation starts in steady state. The Machine Initialization Tool
offers simplified load flow features, but can still initialize machine
initial currents of your models. For more information, see `power_loadflow`

.

### Preferences

The load flow parameters are for model initialization only. They do not have an impact on simulation performance.

**Disable Specialized Power Systems warnings** — Disable warnings during analysis and simulation

`off`

(default) | `on`

Control display of Simscape Electrical Specialized Power Systems warnings during model analysis and simulation.

**Display Specialized Power Systems compilation messages** — Display echo messages during analysis

`off`

(default) | `on`

Control display of the command-line echo messages during model analysis.

**Use TLC file when in Accelerator Simulation Mode and for code generation** — Use TLC state-space S-functions

`off`

(default) | `on`

Select to use TLC state-space S-functions in accelerator mode and for code generation.

Clear this checkbox if you notice a slowdown in performance when using accelerator mode
when compared to previous releases. This slowdown occurs if you have the
LCC compiler installed as the default compiler for building the external
interface (`mex`

).

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

.

**Disable ideal switching** — Control model switching devices as current sources

`off`

(default) | `on`

Select to model switching devices as current sources. By default, this option is not selected, which corresponds to the recommended setting for most of your applications.

Modeling switches, such as circuit breakers or power electronic devices, as current sources implies that the on-state switch resistance (Ron) cannot be zero. In this modeling method, the switches cannot be connected in a series with an inductive circuit or with another switch or current source.

When this option is enabled, you must add a circuit (R or RC snubber) in parallel with the switches in your model so that the switches' off-state impedance has a finite value. If your real circuit does not use snubbers, or if you want to simulate ideal switches with no snubber, you must at least use resistive snubbers with a high resistance value to introduce a negligible leakage current. The drawback of introducing such high-impedance snubbers is that the large difference between the on-state and the off-state switch impedance produces a stiff state-space model.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

.

**Disable snubbers in switching devices** — Control snubber devices of power electronic and breaker blocks

`off`

(default) | `on`

Select to disable the snubber devices of the power electronic and breaker blocks in your model.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

and clear **Disable
ideal switching**.

**Disable Ron resistances in switching devices** — Control internal resistance of switches and power electronic devices

`off`

(default) | `on`

Select to disable the internal resistance of switches and power electronic devices and to force the value to zero ohms.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

and clear **Disable
ideal switching**.

**Disable forward voltages in switching devices** — Control internal forward voltage of power electronic devices

`off`

(default) | `on`

Select to disable the internal forward voltage of power electronic devices and to force the value to zero volts.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

and clear **Disable
ideal switching**.

**Display circuit differential equations** — Display differential equations in Diagnostic Viewer

`off`

(default) | `on`

Select to display the differential equations of the model in the Diagnostic Viewer when the simulation starts.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

and clear **Disable
ideal switching**.

**Automatically handle Discrete solver and Advanced tab solver settings of blocks** — Set descretization method automatically

`off`

(default) | `on`

Select to automatically set the discretization method to ```
Trapezoidal
robust
```

in models that contain at least one of the
following blocks:

Asynchronous Machine

Permanent Magnet Synchronous Machine

Simplified Synchronous Machine

Synchronous Machine

Surge Arrester

Variable Resistor

Variable Inductor

Variable Capacitor

Nonlinear Resistor

Nonlinear Inductor

Variable-Ratio Transformer

Any transformer blocks that are modeling saturation

If your model contains none of these blocks, the discretization method
is automatically set to ```
Tustin/Backward Euler
(TBE)
```

.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

.

**Discrete solver** — Discrete solver to use to simulate model

```
Tustin/Backward Euler
(TBE)
```

(default) | `Tustin`

| `Backward Euler`

Set to `Tustin/Backward Euler (TBE)`

to
simulate the model using a combination of the Tustin and Backward Euler
methods.

Set to `Tustin`

to discretize the electrical
model using the Tustin method. If you use this solver, you need to
specify the *Rs* and *Cs* snubber
values to avoid numerical oscillations when the firing pulses are
blocked (when the bridge is operating as a rectifier). You can use the
following formulas to compute the values of *Rs* and
*Cs*:

*Rs* > 2* *Ts* /
*Cs*

*Cs* < *Pn* /(1000*2*pi*
*f* * *Vn* ^2

where:

*Pn*is the nominal power of the single-phase or three-phase converter, in VA.*Vn*is the nominal line-to-line AC voltage, in Vrms.*f*is the fundamental frequency, in Hz.*Ts*is the sample time, in s.

These values are derived from these criteria:

The snubber leakage current at the fundamental frequency is less than 0.1% of the nominal current when power electronic devices are not conducting.

The RC time constant of the snubbers is larger than two times the sample time,

*Ts*.

**Note**

The *Rs* and *Cs* values that
guarantee the numerical stability of the discretized bridge can be
different from the actual values used in the physical
circuit.

Set to `Backward Euler`

to discretize the
electrical model using the Backward Euler method.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

and clear
**Automatically handle Discrete solver and Advanced tab
solver settings of blocks**.

**Interpolate switching events** — Increase simulation speed

`off`

(default) | `on`

Select to increase simulation speed by enabling the solver to interpolate in discrete models using power electronics. When selected, the solver captures gate transitions of power electronic devices occurring between two sample times, allowing larger sample times (typically 20×) than you use with the standard solvers. For example, simulating a 5 kHz PWM converter with Tustin (no interpolation) or Tustin/Backward Euler normally requires a 1.0 µs sample time (sampling frequency = 200 × PWM frequency) to obtain a good resolution on pulse generation and guarantee accurate results. With interpolation enabled, using a sample time as large as 20 µs executes faster while preserving model accuracy.

When you select this option:

Use a continuous pulse generator to guarantee the best accuracy on pulse generation. (Specify sample time =

`0`

in pulse-generation blocks.)In the Configuration Parameters dialog box, select a continuous, variable-step solver (

`ode45`

or`ode23tb`

with default settings). The continuous solver is required by the interpolation solver to compute the gate signals' time delays with respect to discrete sample times. The solver uses these pulse delays to interpolate between sample times and produce accurate results.

To see how interpolation increases accuracy and simulation speed, see the power_buck example model.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

, clear
**Automatically handle Discrete solver and Advanced tab
solver settings of blocks**, and set **Discrete
solver** to `Tustin`

.

**Use time-stamped gate signals** — Capture evolution of states at different switching times

`off`

(default) | `on`

When selected, the interpolation method computes model outputs at fixed sample times while taking into account switching events that occur between two sample times. The method receives pulses at fixed time steps and computes the time delays of the gate signals arriving within each time step. Computing the time delays enables the method to capture the evolution of states at different switching times.

When cleared, the interpolation method computes the time delays of the gate signal.

When selected, the block does not compute the time delays of gate signals. You then need to directly provide time-stamped gate signals to the switching devices in your model. For more information on the concept of time-stamped gate signals in Simscape Electrical Specialized Power Systems switching devices, see the power_buck example.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

, clear
**Automatically handle Discrete solver and Advanced tab
solver settings of blocks**, set **Discrete
solver** to `Tustin`

, and
select **Interpolate switching events**.

**Store switching topologies** — Increase simulation speed

`off`

(default) | `on`

Select to increase simulation speed by enabling the solver to store and reuse matrix computation results.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

or
`Discrete`

and clear
**Automatically handle Discrete solver and Advanced tab
solver settings of blocks**.

** Buffer size (MBytes)** — Buffer size for saving computations

`100`

(default) | positive scalar

Buffer size for saving state-space matrix computations.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Continuous`

or
`Discrete`

, clear
**Automatically handle Discrete solver and Advanced tab
solver settings of blocks**, and select **Store
switching topologies**.

**Start simulation with initial electrical states from** — Initial state value

`blocks`

(default) | `steady`

| `zero`

If you select:

`blocks`

— Initial state values defined in blocks are used for the simulation`steady`

— Forces all initial electrical state values to steady-state values`zero`

— Forces all initial electrical state values to zero

**Solver tolerance** — Maximum solver error

`1e-4`

(default) | positive scalar

Largest acceptable solver error.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

and expand **Solver
details for nonlinear elements**.

**Maximum number of iterations** — Iteration limit

`100`

(default) | positive scalar

Maximum number of iterations. Iterations stop when the
**Solver tolerance** is achieved, or when the
**Maximum number of iterations** is reached. A
solution is usually found within 1 to 3 iterations. An error message is
returned and simulation stops if a solution is not found when the
maximum number of iterations is exceeded.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

and expand **Solver
details for nonlinear elements**.

**Continue Simulation if maximum number of iterations is reached** — Limit maximum number of iterations

`off`

(default) | `on`

Select to limit the maximum number of iterations. This parameter is used for real-time applications. Usually, limiting the number of iterations to 2 produces acceptable results.

#### Dependencies

To enable this parameter, set **Simulation type**
to `Discrete`

and expand **Solver
details for nonlinear elements**.

## Extended Capabilities

### C/C++ Code Generation

Generate C and C++ code using Simulink® Coder™.

## Version History

**Introduced before R2006a**

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)