Efficient Models for High Voltage MMC
Efficient Models for High Voltage MMC
Half-bridge submodule in
of the upper and lower arms, respectively. Sju and Sjl represent
upper arm switch position for upper and lower arm, respectively.
+
By defining the circulation current of each phase as icir,j =
iu l
j +ij
_ 2 and substituting (3) into (2) then divided by 2 yields
u u l
u
vdc l
+ vdc vcj Sj + vcj Sjl dicir,j
+ = +L + Ricir,j (4)
+ 2 2 dt
+
In addition, substracting (2) and (3) results
+
u l u u l dij
_
vdc + vdc + 2VHg = vcj Sj − vcj Sjl + (L + 2Ls )
dt
+ + (R + 2Rs ) ij + 2vsj (5)
_
Introducing L0 = L + 2Ls and R0 = R + 2Rs , (5) can be
Half-bridge submodule in modified into
lower arm
dij
L0 = −R0 ij − vcj
u u l
Sjl − 2vsj +
Sj − vcj
dt
u l
Fig. 1. Schematic diagram of a three-phase MMC vdc + vdc + 2VHg (6)
Extending (6) for all j ∈ {a, b, c}, the VHg can be obtained
as
c c c
1 X u u X l l 2 X
+
+ 2VHg = vcj Sj − vcj Sj + vsj
_
3 j=a j=a
3 j=a
_
I u l
− vdc + vdc (7)
+ +
dia R0 1 u u u u u u l 2
Sal − vcb l
Sbl − vcc
l
Scl +
= − 0 ia + 0
(−2vca Sa + vcb Sb + vcc Sc ) + 2vca (−2vsa + vsb + vsc ) (8)
dt L 3L 3L0
dib R0 1 u u u u u u l 2
Sal + 2vcb l
Sbl − vccl
Scl +
= − 0 ib + 0
(vca Sa − 2vcb Sb + vcc Sc ) + −vca (vsa − 2vsb + vsc ) (9)
dt L 3L 3L0
dic R0 1 u u u u u u l 2
Sal − vcbl
Sbl + 2vcc l
Scl +
= − 0 ic + 0
(vcc Sc + vcb Sb − 2vcc Sc ) + −vca (vsa + vsb − 2vsc ) (10)
dt L 3L 3L0
dicir,a R 1 1
v u S u + vca l
Sal + v u + vdc l
= − icir,a − (11)
dt L 2L ca a 2L dc
dicir,b R 1 1
v u S u + vcb l
Sbl + v u + vdc l
= − icir,b − (12)
dt L 2L cb b 2L dc
dicir,c R 1 u u l 1
Scl + u l
= − icir,c − vcc Sc + vcc vdc + vdc (13)
dt L 2L 2L
1 u
Fu u
where a3 = Sa1 . . . SaN
3L 0 1×N
1 u
Fu u
b3 = Sb1 . . . SbN
3L0 1×N
T −2 u
Fu u
u l = Sc1 . . . ScN
x = ij icir,j vcj vcj vdc c3
6N +7×1 3L0 1×N
ij =
ia ib ic
T 1
Fla3 l l
3×1 = − 0 Sa1 . . . SaN 1×N
T 3L
icir,j = icir,a icir,b icir,c 1 l
Flb3 l
3×1 = − 0 Sb1 . . . SbN
T 3L 1×N
u u u u
vcj = vca vcb vcc 3N ×1 2 l
Flc3 l
l
T = Sc1 . . . ScN
l l l 3L0
1×N
vcj = vca vcb vcc 3N ×1
−1 u
Fu u
T
u =
vsa vsb vsc idc a4 = Sa1 . . . SaN 1×N
8×1 2L
M F
−1
Fu u u
b4 = Sb1 . . . SbN 1×N
A = P T 2L
W1 W2 6N +7×6N +7 −1 u
Fu u
c4 = Sc1 . . . ScN 1×N
2L
R0 R0 R0
R R R −1 l
M = diag − 0 , − 0 , − 0 , − , − − Fla4 = Sa1 . . . SaN l
L L L L L L 6×6 2L 1×N
−2 u −1 l
Flb4 l
Fu u
a1 = Sa1 . . . SaN = Sb1 . . . SbN 1×N
3L0 1×N 2L
1 u −1 l
Flc4 l
Fu u
b1 = Sb1 . . . SbN 1×N = Sc1 . . . ScN 1×N
3L0 2L
1 u P1 P2
Fu u
c1 = 0
Sc1 . . . ScN 1×N P =
3L P3 P4 6N ×6N
2 l
Fla1 l
= Sa1 . . . SaN T = T1 0 6N ×6N +1
3L0 1×N
1 l Gsm
Flb1 l
= − 0 Sb1 . . . SbN 1×N
T1 = diag −
3L Csm 6N ×6N
1 l −1 −1 −1 −1 −1 −1
Flc1 l
= − 0 Sc1 . . . ScN 1×N W1 = 2Cdc 2Cdc 2Cdc Cdc Cdc Cdc 1×6
3L h i
1 u −Gdc
Fu = u
Sa1 . . . SaN
W2 = 0 Cdc
a2 0 1×N 1×6N +1
3L
2 u 0 −ω
Fu u 0 0
b2 = − 0 Sb1 . . . SbN 1×N ω 0
3L
1 u Ω =
..
Fu u
c2 = Sc1 . . . ScN 0 . 0
3L0 1×N
0 −ω
1 l 0 0
Fla2 l
= − 0 Sa1 . . . SaN 1×N ω 0 8×8
3L
2 l
Flb2 l
= 0
Sb1 . . . SbN 1×N
3L
1 l
Flc2 l
= − 0 Sc1 . . . ScN 1×N
3L
IEEE TEMPLATE 4
Fu
a1 Fb1
u
Fu c1 Fa1
l
Flb1 Flc1 0
u u
Fa2 Fb2 Fc2 Fa2 Fb2 Fc2 u l l l
0
u
Fa3 Fu u l l l
b3 F c3 F a3 F b3 F c3 0
F = u 1/
Fla4
Fa4 0 0 0 0 2L
1
0 u l
Fb4 0 0 Fb4 0 /2L
0 0 Fc4 u
0 0 l 1
Fc4 /2L 6×6N +1
h u u u u u u
i
Sa1 SaN Sb1 SbN Sc1 ScN
P1 = diag 2C sm
. . . 2Csm 2Csm . . . 2Csm 2Csm . . . 2Csm 3N ×3N
h u u u u u u
i
Sa1 SaN Sb1 SbN Sc1 ScN
P2 = diag Csm . . . Csm Csm . . . Csm Csm . . . Csm
3N ×3N
h l l l l l l
i
Sa1 SaN Sb1 SbN Sc1 ScN
P3 = −diag 2C . . . 2Csm 2Csm . . . 2Csm 2Csm . . . 2Csm
sm 3N ×3N
h l l l l l l
i
Sa1 SaN Sb1 SbN Sc1 ScN
P4 = diag C . . . Csm Csm . . . Csm Csm . . . Csm
sm 3N ×3N
−4/ 0 0 2/ 0 0 2/ 0 0
3L 3L 3L 0 0
2/ 0 0 −4/ 0 0 2/ 0 0 0 0
2 3L 3L 3L
/3L0 0 2/3L0 0 −4/3L0 0 0 0
B =
0 0 0 0 0 0 0 0
.. .. .. .. .. .. .. ..
. . . . . . . .
0 0 0 0 0 0 1/Cdc 0
6N +7×8
n o
κv = span v, Âv, Â2 v . . . , Âq−1 v (23) Vq VqT e v = βVq VqT e v1 (27)
= βVq VqT e Vq e1 , (28)
i
However, the vectors A v form a bad basis for the Krylov T
subspace because they point in almost the same direction as the where β = kvk, e1 = 1 0 . . . 0 q×1 , and note that
v
dominant eigenvector of A. Therefore, a process called Arnoldi since v1 = kvk , we can write v = βv1 and v1 = Vq e1 .
iteration, which is the stablized Gram Schmidt procedure [11] We can approximate VqT e Vq by eHq , leading to
to get an orthonormal basis of the Krylov subspace, which can
be written as e v ≈ βVq eHq e1 (29)
Hence,
κv = span {v1 , v2 , . . . , vq } (24)
eÂτ v ≈ βVq eHq τ e1 , (30)
Let Vq denote the r-by-q orthonormal matrix whose where τ is the time step.
columns are v1 , . . . , vq . Then, a Hessenberg matrix Hq can Based on the work of [12], the speed of the convergence
be obtained such that (25) holds true. depends on the norm of Âτ . Since Vq eHq τ e1 is a polynomial
approximation, it is more accurate when the norm of Hq τ
is not too large. Nevertheless, if τ is chosen too small, the
Hq = VqT ÂVq (25) computation time may be long. Thus, it is important to find
the appropriate value of τ to speed up the convergence.
Botchev et al. [8] proposed the method called residual-time
The relation between the Vq matrices in subsequent itera- restarting to speed up the convergence time and accuracy of the
tions can be written as reduced system. Essentially, the residual of matrix exponential
is defined as
AVq = Vq+1 H̃q , (26) −tHq
rq (t) = −hq+1,q eT
qe (βe1 ) (31)
T
where eq = 0 . . . 0 1 q×1 . By defining s ∈ [0, t]
0
and let s is divided into several representative points (usually
into 6 points), then r (s) will consist of several values too.
The first stopping criterion is the determination of Hessenberg
200
matrix size based on the maximum residual r (s). The size
of Hessenberg matrix Hq is automatically determined by
400
performing (31) for each iteration in Arnoldi iteration. If
the maximum residual value at iteration below the maximum
600
predetermined Hessenberg matrix size is less than the specified
tolerance , the iteration will be halted and size of Hq is
800
specified from the last iteration number. In this case, the
restarting technique is not required. However, if the residual
1000 still exceeds the predetermined tolerance at given maximum
size of Hq iteration, then the restarting technique is applied.
1200 In the restarting technique, the iteration is performed to find
0 200 400 600 800 1000 1200
nz = 8434 the maximum intermediate time point (δq ) and compute the
residual for intermediate time points in such a way that the
Fig. 3. The sparsity pattern of Â
residual norm is below the given tolerance. The maximum
intermediate time point can be described as the time when the
IEEE TEMPLATE 6
This simulation is performed in Intel Core i5-6500 with RAM B. Case 2 : Computational Performance of m-level MMC
16 GB. The proposed method is compared with some existing In this case, the simulation of m− level MMC with the total
exponential matrix methods, such as exponential matrix from simulation time 0.05s is performed through proposed method
MATLAB toolbox, regular Krylov method [11], scaling and and other exponential methods, such as expm (MATLAB),
squaring with truncated Taylor [18]. In addition, the brute- regular Krylov, and scaling and squaring with truncated Taylor.
force time-domain simulation (PSCAD/EMTDC) is also con- The modulation frequency index is given as Table I. The larger
ducted to verify the solution generated by proposed method. modulation frquency index will generate the larger number of
switching times. It can lead to be more problematic when the
A. Case 1 : Balanced Condition level of MMC is greater too (size of matrix becomes larger).
However, the proposed method can significantly reduce the
In the first case, a three-level MMC is connected to a computational time compared to other methods as shown in
balanced three-phase AC grid, represented by Fig. 9. It can be clearly seen that the proposed method is supe-
vsa = vs 6 0◦ rior compared to other methods. The required computational
vsb = vs 6 − 120◦ time for m = 401 of proposed method is almost equal to those
vsc = vs 6 120◦ of m = 201 of expm and scaling-squaring truncated Taylor
IEEE TEMPLATE 7
6000 1000
Proposed Method
Proposed Method
800 Basic Krylov
Basic Krylov
4000 SS-TT
SS-TT
expm
expm 600
PSCAD/EMTDC
PSCAD/EMTDC
2000 400
200
0
I b (A)
I b (A)
0
-2000
-200
-4000 -400
-600
-6000
-800
-8000 -1000
0 0.05 0.1 0.15 0.47 0.475 0.48 0.485 0.49 0.495 0.5
time (seconds) time (seconds)
(a) (b)
Fig. 4. The comparison of ib (t) during (a) Transient condition, (b) Steady-state condition
Proposed Method
6000 Proposed Method
600 Basic Krylov
Basic Krylov
SS-TT
SS-TT
expm
4000 expm
PSCAD/EMTDC
PSCAD/EMTDC 400
2000
200
Icir b (A)
Icir b (A)
0
-2000
-200
-4000
-6000 -400
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.48 0.482 0.484 0.486 0.488 0.49 0.492 0.494 0.496 0.498 0.5
time (seconds) time (seconds)
(a) (b)
Fig. 5. The comparison of icir,b (t) during (a) Transient condition, (b) Steady-state condition
method. In addition, the significant difference appears when The proposed method built in MATLAB is compared with
m > 251 between proposed method and regular Krylov. PSCAD/EMTDC. The significant harmonic spectra of ib is
shown in Fig. 11. Clearly, the results from MMC model built
in MATLAB and OpenDSS is consistent with those built in
C. Case 3 : Interfacing MMC Model to Microgrid using PSCAD/EMTDC.
OpenDSS
In this case, some MMC are integrated with microgrid. V. C ONCLUSION
The microgrid model is built in Open Distribution System A novel time-domain method to calculate the m-level MMC
Simulator (OpenDSS) environment. The modified microgrid using residual-time restarting Krylov has been proposed. The
system adopts IEEE 13 bus system as depicted by Fig. 10. main proble This method is superior compared to other
The MMC are connected to the grid and act as current source. existing exponential matrix methods. The main problem of
To solve the power flow problem, the MMC converter model modeling MMC is that the larger level/submodule, then the
is assumed as fixed current source. Once the voltages of larger the system matrix generated. This problem can be coped
point common coupling (PCC) are obtained from OpenDSS by reducing the matrix size without omitting the dynamics
solution, the harmonics of phase current in MMC can be easily of its original system. With reduced size of system matrix,
achieved by using the MMC model and voltages of PCC as the computational process can be boosted up compared to
its input. previous existing methods. The MMC model is also built in
IEEE TEMPLATE 8
14000 9200
Proposed Method Proposed Method
Basic Krylov Basic Krylov
12000 SS-TT 9000 SS-TT
expm expm
PSCAD/EMTDC PSCAD/EMTDC
10000 8800
8000 8600
v uca (V)
v uca (V)
6000 8400
4000 8200
2000 8000
0 7800
-2000 7600
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.45 0.455 0.46 0.465 0.47 0.475 0.48 0.485 0.49 0.495 0.5
time (seconds) time (seconds)
(a) (b)
u (t) during (a) Transient condition, (b) Steady-state condition
Fig. 6. The comparison of vca
350 250
Proposed Method Proposed Method
Basic Krylov Basic Krylov
300 SS-TT SS-TT
expm 200 expm
PSCAD/EMTDC PSCAD/EMTDC
250
150
200
Icir b (A)
I b (A)
150
100
100
50
50
0 0
1 25 29 53 55 77 79 83 85 2 4 26 28 54
Harmonics Number Harmonics Number
(a) (b)
6000 6000
5000 5000
v uca (V)
v dc (V)
4000 4000
3000 3000
2000 2000
1000 1000
0 0
0 1 2 3 -1 0 1
Harmonics Number Harmonics Number
(c) (d)
u , (d) v
Fig. 8. The harmonic spectra of (a) ib , (b) icir,b , (c) vca dc
0.7
Normalization value
0.6
0.5
0.4
0.3
0.2
0.1
0
0 50 100 150 200 250 300 350 400 450
Number of Levels
650
Loadbus_2 Loadbus_1
MMC MMC
Converter Model Converter Model
670
680
700
PSCAD/EMTDC
Matlab + OpenDSS
600
500
400
I b (A)
300
200
100
0
1 2 25 29 53 55 77 79
Harmonics Number