Frequently Asked Question

Video: 3.3.1. Introduction to model partitioning
Last Updated 3 years ago


Press "Ctrl + F" to find the keyword of your interest.

If you wish to have a direct link access to the video timestamps, please follow these instructions.

Found this video helpful? Why not take the whole HIL Specialist course? A Certificate is waiting for you for free at HIL Academy.

Would you or your organization benefit from having these videos narrated in your native language? Contact us and let us know if you wish to contribute.

TRANSCRIPT

00:00:02

Hello! In this video we will explain the basics of model partitioning in Typhoon HIL software.  

00:00:08

You will have a chance to learn about the motivation behind it,  

00:00:11

different types of model partitioning, and the practical benefits that you can gain from it. 

00:00:16

First, let’s recap the basics of Typhoon HIL’s modeling approach.  

00:00:21

Testing complex power electronics and microgrid plants with high fidelity  

00:00:25

can be challenging for a real time platform. Typhoon HIL’s solution accomplishes this by  

00:00:31

modeling every switch state permutation with a linear and time-invariant circuit model.  

00:00:36

In this approach, every circuit mode is represented as a state space model.  

00:00:42

As we want to reduce computation during runtime, all state space matrices are calculated during  

00:00:47

the model compilation process and stored in the FPGA solver memory.  

00:00:53

However, this approach comes with its own price. The number of modes per circuit is  

00:00:57

equal to 2 to the power of n, where n is the total number of switching elements. 

00:01:04

As we can see the number of modes grows exponentially with the number of switches  

00:01:09

in the circuit, which puts a very high strain on circuit solver memory resources.  

00:01:14

For the example, let’s take a look at a two level three-phase back to back converter. This converter  

00:01:20

topology in the general case has n switches in one converter and m switches in the other converter.  

00:01:26

Here we are considering IGBT-diode pairs as single switches. Besides IGBTs and diodes, ideal  

00:01:33

contactors are also considered as switches. In our example we have six switches in both converters,  

00:01:41

which makes 12 switching elements in total. If we do our calculation, 2 to the power of 12, we  

00:01:48

are getting more than 4000 state space matrices, which needs to be stored in our device memory.  

00:01:54

Not to mention that every additional switch would double this number. It is clear that  

00:01:59

with this exponential memory growth, we cannot scale above a certain level of complexity. 

00:02:04

The solution for overcoming this obstacle is to divide a complex circuit into multiple  

00:02:09

subcircuits. This way we can keep the number of switches per model at a manageable level. In  

00:02:15

this approach every subcircuit is represented and calculated independently with its own mode set.  

00:02:21

In order to make subcircuits behave as the original circuit, they need to share  

00:02:25

information. This is done through variable exchange; we will talk more about this later. 

00:02:33

Now, going back to our buck to buck example, we can see that if we split the model so that one  

00:02:38

converter is placed in one subcircuit, and the other one is placed in the other subcircuit, we  

00:02:44

can achieve a total of 64 modes for each circuit. In this way the total number of modes goes from  

00:02:50

the original 4096 to only 128, effectively linearizing our exponential memory growth problem.  

00:02:59

As a result of this we have significantly reduced memory  

00:03:02

requirements and enabled the FPGA solver to calculate the model in parallel. 

00:03:07

The important aspect of Typhoon simulation is the ability to scale the model size  

00:03:12

while maintaining simulation fidelity. On this slide you can see an example of a typical power  

00:03:18

electronics application running on one core with a simulation step of half a microsecond. Adding more  

00:03:24

converters will increase the computational load, but not noticeably. More importantly  

00:03:30

due to a low latency interconnection between SPCs, it is possible to maintain low simulation step  

00:03:36

even in case of occupying all cores with complex converter topologies. 

00:03:43

There are two basic types of model partitioning: electrical circuit and signal processing.  

00:03:50

Electrical partitioning can be achieved by dividing the model in multiple FPGA cores,  

00:03:55

or with multi-HIL setups, dividing the model between several HIL devices working in parallel.  

00:04:02

A similar concept applies for the signal processing part of the model,  

00:04:06

which can be allocated to multiple CPU cores or across multiple HIL devices working in parallel.  

00:04:13

In this way, signal processing computations will be shared among multiple CPUs, which allows for  

00:04:19

a lower execution rate. These concepts will be shown in more detail in the next lessons. 

00:04:25

Let’s now sum-up all the benefits that you can get from model partitioning.  

00:04:29

The first and the most obvious advantage is that you can simulate power electronics  

00:04:34

models with a large number of switches and contactors. The same principle applies for  

00:04:39

complex microgrid and power system models with lots of nodes and Distributed Energy Resources.  

00:04:45

The next really important point is that since the simulation is divided into multiple cores, you  

00:04:50

will be able to utilize parallel computing which allows you to preserve a low simulation step.  

00:04:57

As you can see in the table on the right side, there are certain resources that are dedicated  

00:05:01

for every standard processing core. This means that if you divide your circuit across SPCs,  

00:05:08

each partitioned segment of your model will have these resources available. Lastly, a nice  

00:05:14

advantage of partitioning is that the compilation process will typically be notably shortened. 

00:05:21

This video has covered basics of model partitioning. In the next one, we will focus  

00:05:26

more on electrical circuit partitioning.

00:05:30

Thank you for your attention.

Please Wait!

Please wait... it will take a second!