Synchronous machine model incorrectly initializes when taking into account saturation

4 views (last 30 days)
I have been experiencing an issue for a while now when simulating any synchronous machine model with saturation. I will explain this issue through the following simple system:
Here we have a Synchronous Machine pu Standard model (Simscape -> Electrical -> Specialized Power Systems -> Electrical Machines) connected to a Three-Phase Series RLC Load (Simscape -> Electrical -> Specialized Power Systems -> Passives). The synchronous machine parameters are as follows:
The three-phase load has been parameterized so that is a purely resistive load with a very high impedance value, so the synchronous machine is practically open circuited:
The initial conditions of the synchronous machine model have been computed using the "machine initialization" tool, so that the machine is initialized open circuited (no active and reactive power) to a terminal voltage of 1.1 pu (440 V):
It can be seen that the initial value of all the magnitudes are correctly computed. The excitation voltage (Vf), however, is not correctly initialized. Looking at the previously shown open-circuit saturation curve, for a terminal voltage of 1.1 pu the required excitation current (and in steady-state also the required excitation voltage) should be 1.19 pu. Thus, it seems that the excitation voltage is initialized to the terminal voltage value, neglecting saturation. Actually, in a more general sense, what seems to be happening is that the "machine initialization" tool always initializes the excitation voltage to the magnetizing flux value which, in per unit and with no active and reactive power, is equal to the terminal voltage in per unit.
Even if the correct value of the excitation voltage (Vf=1.19 pu) is introduced in the input and in the initial conditions of the synchronous machine model, when simulating a significant initial transient is observed:
I have also looked under the mask of the synchronous machine model and there seems to be some some unit delays and state variables whose initial value is the unsaturated one, instead of the saturated value.
So to sum up, there are two problems:
  • The "machine initialization" tool incorrectly initializes the excitation voltage. It initializes it without taking into account the open-circuit saturation curve.
  • Even when stablishing the correct initial values in the inputs and initial conditions of the synchronous machine model, the initial value of some magnitudes are incorrectly calculated, resulting in an initial transient.

Accepted Answer

MULI
MULI on 22 Oct 2024
Edited: MULI on 22 Oct 2024
Hi Solis,
I understand that you are facing an issue with the initialization of a synchronous machine model when accounting for saturation.
This problem arises because the "machine initialization" tool does not consider the open-circuit saturation curve, leading to incorrect initial excitation voltage settings and resulting in initial transients during simulation.
To address this issue, you can follow these steps to achieve a steady-state operation that considers saturation:
  • First, perform a load flow analysis without considering the machine's saturation. This will provide you with a steady-state operation point.
  • Once you have the initial steady-state values, activate the saturation option in your synchronous machine model.
  • Go to the Configuration Parameters in Simulink. Under the Data Import/Export menu, check the 'Final states' option.
  • Run your simulation for a sufficient duration until the system reaches a new steady-state operation point considering saturation.
  • Once the new steady-state is achieved, save the final states. These are stored in the xFinal structure.
  • Use the following MATLAB commands to save these states:
xInitial = xFinal;
save myModel_init xInitial;
  • For subsequent simulations, load the pre-saved initial states.
  • Go back to the Configuration Parameters, uncheck 'Final states', and check 'Initial state' to use the saved initial conditions.
For more detailed steps on saving and reusing initial states you can refer to the MathWorks documentation link
Hope this helps!
  1 Comment
Adrián Solís Bajo
Adrián Solís Bajo on 22 Oct 2024
Hi Muli,
Thank you for the solution you have provided.
Just to be clear, you have stated that this problem arises because the "machine initialization" tool does not consider the open-circuit saturation curve when calculating the initial conditions of the synchronous machine. However, is there a way to correctly initialize the synchronous machine model by introducing manually the correct values in the "initial conditions" section of the block parameters, or is there an issue also in the synchronous machine model itself?

Sign in to comment.

More Answers (0)

Categories

Find more on Simscape Electrical in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!