How to set a fault block in HYPERSIM

Here are some steps to help you to configure the fault block on your Hypersim model.

Prerequisites
It is strongly recommended to read the Fault Element Wiki page available at 3-Phase Fault Wiki Page

Steps
Step 1: Run the circuit in steady state, without the fault application and make sure that it works properly.

Step 2: Place the fault element.

In the HYPERSIM library, there are two options for a fault element: 1-Phase fault and 3-Phase fault (which can be configured to be 1-phase, 2-phase or 3-phase).

Step 3: Open the Configuration Parameter and set the parameters:

General Operation: Enable

The behavior can be set as a breaker or a switch. Breaker: operates at first current zero-crossing point after POW sync . Switch: operates at exactly the moment control defines.

Check the enable boxes for the times that were set and choose the phases that will operate. Coloreds are the ones that will be activated in the fault, so it can be 1, 2 or 3 phases. In gray are the phases that are disabled.

For the time definition, there are four different syntaxes that are possible:

  • Fixed: inform just the time value or f:value
  • Incremental: i: initial_time/final_time/time_increment
  • Uniform: u: minimal_time/maximal_time
  • Uniform Gaussian: ug: minimal_time/maximal_time/dispersion

There is also the Phase/Command information:

  • The Command (C) will execute the fault for the phases defined at the set time.
  • Phase (P) operate at the time referenced to the component informed (in this case it is needed to fill the Referenced operations Component and Time columns), being used when the fault operation is associated to other equipment behavior.

In General Tab inside of the fault configurations, choose the control type:

  • Internal: Internal control defined in the the Timing tab
  • External (input sensors): Target digital inputs on CMD(a,b,c,n) sensor
  • External (input pins): Schematic control signal; the received integer is converted to a binary string where each digit corresponds to a phase (or ground).

Step 4: Add fault control in case you choose the External (input pins) option
Add a constant block and a gain. In this way it is possible to set a gain of 1 and use the constant as the controllable unit.

The values of the control can change from 0 – no phase to 15 – ABCG (all possible configurations are available on the Wiki Page)

For a three phase fault, the control value should be 7.

Step 5: Define the variables that you want to monitor

Open the sensor form of the fault block (right click à Open Sensor Form) and choose the variables that you want to monitor.

Step 6: Run the simulation

Step 7: Open ScopeView

Choose the signals that should be sampled. After that, press the start button.

Step 8 – Setting Scopeview

In the first moment the fault will not be seen in the scopes. Some Adjustments are required.

The time length should be adjusted in order to view the moment when the fault occurs (ex: in this example our fault occurs between 0.25 to 0.5 s), hence, one possibility is to set the Time Length to 0.6 s. Also, select the Trigger option, it is responsible for allowing the trip visualization.

After all these adjustments press again the play button of Scopeview.

Step 9 – Now it is possible to see the results

2 Likes

Hi #Thais_Blasi,

Thank you for this very useful article and the great effort put into it. I have a few points that I would appreciate some clarification on:

In the Fault Block, there is a parameter called SingleTrig (bottom-right side). Could you please explain the purpose of this option and in which scenarios it is typically used?

The document describes various syntaxes such as Fixed, Incremental, Uniform, and Uniform Gaussian. While the syntax is explained, it is not very clear to users when each option should be used, what the intended applications are, and what the recommended usage is in practice.

Referencing a specific switch, breaker, or even a particular phase can be quite challenging for new users. Additional guidance or examples on how to correctly identify and reference these elements would be very helpful.

Regarding the Breaker component:

Under steady-state conditions, when phases A, B, and C are highlighted, it indicates that all phases are closed, which is clear.
However, I am uncertain about the behavior when control is applied through external input pins/signals. For example, if I provide a value of 3 to the breaker control input, does that:
Operate phases A and B (i.e., open them if they were initially closed), or
Keep phases A and B closed and only open phase C, or
Trigger some other behavior?

It would be greatly appreciated if you could provide a short tutorial video demonstrating these concepts with a few practical examples. I believe it would help users understand and adopt these features much more effectively.

Hi #RAVITEJA

Thank you very much for your thoughtful feedback and for taking the time to share these questions. We are glad to hear that you found the article useful.
Let us address each of your points:

  1. SingleTrig Parameter in the Fault Block
    The SingleTrig option is used to determine how fault events are triggered. When enabled, the fault block reacts to a single trigger event and executes the configured fault sequence only once. This option is particularly useful in scenarios where you want to avoid repeated triggering of the same fault condition due to signal fluctuations or multiple trigger occurrences. It is commonly used in automated test sequences and protection validation studies where a fault should be applied at a specific instant and only once during the simulation.

  2. Fixed, Incremental, Uniform, and Uniform Gaussian Syntaxes
    You are correct that while the syntax is described, the practical application of each option could be explained more clearly.
    As a general guideline:
    • Fixed: used to define a given time when the fault will happens
    • Incremental: The fault application time is shifted by a constant step between executions (i: initial time/final time/time increment). For the first acquisition, Tn command is sent at the set initial time for all phases (and ground) selected in “Phase operated”. Then at each acquisition, Tn command is sent a time increment later than the previous acquisition. Once the final time is reached, the next acquisition will be done using the initial time again. This approach is useful when evaluating how the system responds to faults occurring at different points in time, such as different operating conditions, control states, or points on a waveform.
    • Uniform: The fault application time is randomly selected within a specified range (u: minimal time/maximal time), with all values having the same probability of occurrence. All phases (and ground) selected in “Phase operated” DO NOT receive the command at the same time, it is also random. This option is typically used for Monte Carlo studies and robustness testing when the objective is to evaluate system performance under a wide variety of fault initiation times.
    • Uniform Gaussian: The fault application time is randomly selected according to a Gaussian (normal) distribution. This is useful when fault occurrences are expected to be concentrated around a specific instant while still allowing variability around that nominal value (ug: minimal time/maximal time/ dispersion). It is often used to model realistic uncertainty or statistically distributed event timing.
    As a general recommendation:
    • Use Fixed for validation and repeatable testing.
    • Use Incremental for systematic sensitivity studies.
    • Use Uniform for broad random testing and coverage analysis.
    • Use Uniform Gaussian when a statistically distributed variation around a nominal fault time is desired.

  3. Referencing Switches, Breakers, and Phases
    Thank you for this suggestion. Identifying and referencing specific switches, breakers, or individual phases can indeed be challenging for new users, especially in large models.
    We are currently collecting feedback on areas where additional examples would be beneficial, and your recommendation to include more detailed guidance and practical examples is well noted. Clear visual examples showing how to identify component names and phase references would certainly improve the onboarding experience.
    In general we can have the following points in mind to help to clarify the information:
    the difference between Switch and Breaker is defined under the Model type parameter in the Timing tab:

In short: a switch is ideal (instantaneous), while a breaker is more physically realistic — it mimics how a real circuit breaker waits for a favorable current condition before interrupting. This distinction matters a lot in protection relay testing, where the timing of fault clearing relative to current zero crossings affects the simulation accuracy.

  1. Breaker Control Input Behavior
    For breakers controlled through the external control input, the input value is interpreted as a bit-coded phase command, detailes in the table available at the wiki documentation: https://opal-rt.atlassian.net/wiki/spaces/PDOCHS/pages/150112107/Fault+3-Phase

Where 0 = Open / 1 = Close
For example:
• 1 → Only Phase A is closed
• 2 → Only Phase B is closed
• 4 → Only Phase C is closed
• 3 → Phases A and B are closed
• 7 → Phases A, B, and C are closed
• 15 → Phases A, B, and C and ground are closed
The exact effect (opening or closing) depends on the command being applied and the current breaker state. Therefore, an input value of 3 specifically addresses phases A and B rather than indicating that phase C alone should change state.

  1. Tutorial Video
    Thank you for this excellent recommendation. A short tutorial demonstrating fault configuration, breaker control logic, parameter variation methods, and component referencing with practical examples would certainly help users become productive more quickly. We will share this feedback with our documentation and training teams for consideration in future educational content.
    We truly appreciate your detailed feedback. Comments like yours help us identify opportunities to improve both the documentation and the overall user experience.
1 Like