File Exchange

image thumbnail

Distribution System Model in Simscape : European Test Feeder

version (269 KB) by Graham Dudgeon
Build automatically the IEEE 906 Bus European LV Test Feeder and compare to benchmark results


Updated 25 May 2021

View Version History

View License

This submission contains MATLAB scripts that will build automatically the IEEE 906 Bus European LV Test Feeder in Simscape Electrical - Specialized Power Systems. The model is a 'quasi-steady' model, meaning it captures an operating point in the minimum number of simulation steps. This is equivalent to a power flow, but enables multiple operating points to be assessed in a time-domain environment. The model can be built both as a single model, or as a four-segment model that is connected through Model Reference. Segmenting the model allows larger models to be built more efficiently, with time savings made in both model construction and model compilation.
The IEEE 906 Bus European Test Feeder benchmark data is available at the following URL,
The work is based on the following references,
[1] IEEE PES Distribution Systems Analysis Subcommittee Radial Test Feeders [Online], Available:
[2] R. C. Dugan, W. H. Kersting, S. Carneiro, R. F. Arritt, and T. E. McDermott, "Roadmap for the IEEE PES test feeders," IEEE Power Systems Conference and Exposition, pp.1-4, March 2009.

Cite As

Graham Dudgeon (2021). Distribution System Model in Simscape : European Test Feeder (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (15)

Pedro Leal

Hi Graham,

Thanks for the support! I am able to run it now.

Graham Dudgeon

I have also built and run the single segment model successfully in R2021a (Update 1). Please try deleting all the files and directories created during your last attempt, restart MATLAB, and try again. Before you press 'play', go to Configuration Parameters -> Model Reference -> Rebuild -> and then select 'Always'. This will automatically trigger the model reference build. After the models are built you can set Rebuild -> Never (unless you make changes, then set it back to Always).

Graham Dudgeon

Hi Pedro and Quan,

I have built and run the 4-segment model successfully in R2021a (Update 1) with no changes to the scripts. Before you press 'play', go to Configuration Parameters -> Model Reference -> Rebuild -> and then select 'Always'. This will automatically trigger the model reference build. After the models are built you can set Rebuild -> Never (unless you make changes, then set it back to Always).

Let me know if you have further issues and also what MATLAB version you are using. Type 'ver' in the command line.

I'll now take a look at the single segment build.

Graham Dudgeon

I'm sorry you are having issues with the model build, and thanks for bringing this issue to my attention. I'll look into this and report back as soon as I can.
Best wishes,

Pedro Leal

Hi Graham,

I have successfully created the 1 segment model, however when I run it I have the following error:

Error loading external input data into root-level Inport IEEE_MR/inputs in model 'IEEE_MR'.
Caused by:
The external inputs specified for the block diagram indicate that the port dimensions should be [440]. Instead, the port dimensions are being set to [110].

Do you know what might be the problem?


Pedro Leal

Hello Quan,

I have the exact same problem as you. I was wondering if you have manage to solve it and how you did it?
Since I see Graham hasn't responded for quite some time.


Graham Dudgeon

Hi Quan,

In Configuration Settings, go to Model Referencing and select 'If any changes detected' in the Rebuild drop-down. This will rebuild the models.

Best wishes,


Angelina Bintoudi

Quan minhquanccna

Hi Graham, thank you for sharing.

Follow your steps:
>> create_European_LV_1segment
This will create a model called 'IEEE_European_LV_COMPLETE'
The system is set up to run with Ts = 1, and load changes every 60s for a 24hr period.
To run the model, open and run 'IEEE_MR'. This is the top-level model that uses model reference to connect to 'IEEE_European_LV_COMPLETE'. Model reference is used so that we need only compile 'IEEE_European_LV_COMPLETE' once.

Once the model is compiled, in 'IEEE_MR' go to Configuration Parameters -> Model Referencing -> Rebuild and select 'Never'. Subsequent runs will not rebuild the model.

However, I have a problem when runs the "IEEE_MR" file:
Unable to update models referenced by 'IEEE_MR'.
Caused by:
The model 'IEEE_MR' has the Rebuild parameter on the Model Referencing pane of the Configuration Parameters dialog box set to Never. However, the following referenced models are out-of-date for the following reasons. Consider resetting the Rebuild parameter to a value other than Never.
Model reference simulation target (IEEE_European_LV_COMPLETE_msf.mexw64) for model IEEE_European_LV_COMPLETE is out of date because IEEE_European_LV_COMPLETE_msf.mexw64 does not exist.

Do you know how to solve it?

Stephen Ng

Hi Graham,
Thank you for your detailed model. How can I get the voltage, phase angle and current values of each bus on 1-minute basis? Thank you!

Graham Dudgeon

Hi Lin,

When you run create_European_LV_4segments.m to generate the four segment model, you will generate the different load inputs. Check out lines 108-118.

Change the scripts as necessary to load the correct data.

Lin Herencic


thank you for the model, but when trying to run init_European_LV_1SEG.m,
I get the message:

Undefined function or variable 'load_inputs1'.

Error in rampInputs (line 7)
ll = zeros(numel(t)*2,size(load_inputs1,2)+size(load_inputs2,2)+size(load_inputs3,2)+size(load_inputs4,2));

Error in init_European_LV_1SEG (line 16)

Any suggestions for the solution? When I check the data files, there are no load_inputs1, 2 or 3, only one file named load_inputs

Also, in the function init_European_LV_1SEG.m, in line 7, the inital code is: load('IEEE_European_LV_COMPLETE.mat'),
but there is not that named .mat file available, but a bit diffrent: IEEE_European_LV_COMPLETE_input_data.mat

Anuradha Tomar


For Latest Simulation Projects,Please Contact

ali power system

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!