1 Introduction

Switch-mode power converters are used in various devices from small-scale applications like mobile phone chargers to industrial large-scale applications like welding devices [7]. These converters use transistors to switch on and off the input voltage to produce an output voltage, which, in average, has the desired amplitude. A filter circuit is used to smoothen the output. The simulation of these devices is computationally expensive since, through the transistor switching, steep transients occur in the converter. Furthermore often a switch-event detection is necessary to avoid step size rejection or even solver failures [14]. A multirate method has been developed in [9, 10] which uses the concept of Multirate Partial Differential Equations (MPDEs) [3, 12] and a combination of a Galerkin ansatz and conventional time discretization to efficiently solve problems with pulsed excitation. The method is applicable to power converters in which the switching behavior is idealized and known a-priori. It is particularly efficient in the case of linear elements. Some circuit elements may only be accurately represented by field models. For example the induced currents in the conducting materials of an inductor usually cause eddy current losses, which can easily be accounted for in a field model but not in a circuit model. In this paper the multirate method from [9, 10] is applied to a linear buck converter circuit (see Fig. 1) in which the inductor is represented by a 2D finite element model. This substantially increases the size of the strongly coupled system of equations. To still ensure an efficient simulation, a basis transformation is applied to the pulse-width modulation (PWM) basis functions [5] leading to decoupled systems of equations which can be solved efficiently in parallel. The resulting method is called the multirate PWM balance method in analogy with the harmonic balance method where harmonic functions take the place of the PWM basis functions. Numerical results on the buck converter show the efficiency and accuracy of the proposed method in field-circuit coupled problems.

Figure 1
figure 1

Simplified circuit of the buck converter in continuous conduction mode with \(C=10~\text{$\mu $F}\) and \(R=30~\varOmega \). The field model of the pot inductor (axisymmetric around z-axis) is designed to have an inductance of \(L=65~\text{mH}\) and a series resistance of \(R_{\mathrm {L}}=800~\text{m$\varOmega $}\) at DC. The figure shows the equipotential lines of the magnetic vector potential

The paper is structured as follows. Section 2 introduces the concept of MPDEs and explains the solving procedure using Galerkin approach and conventional time discretization. Subsequently Sect. 3 presents the original PWM basis functions as described in [5]. In Sect. 4 the PWM eigenfunctions are developed and their advantageous properties for the solving process are highlighted. Finally Sect. 5 summarizes numerical results and compares the three different solution approaches, i.e., conventional time discretization and the MPDE approach with PWM basis functions on the one hand and PWM eigenfunctions on the other hand. The paper is concluded by summarizing its content in Sect. 6.

2 Multirate formulation

Let the field-circuit coupled model [13] of the converter be described by the system of ordinary differential or differential-algebraic equations

$$\begin{aligned} \mathbf {A}\, \frac {{\mathrm {d}}}{{\mathrm {d}}t}\mathbf {x}(t)+\mathbf {B}\, \mathbf {x}(t) = \mathbf {c}(t), \end{aligned}$$
(1)

where \(\mathbf {A}\in \mathbb{R}^{N_{\mathrm {s}}\times N_{\mathrm {s}}}\) is a possibly singular matrix, \(\mathbf {B}\in \mathbb{R}^{N_{\mathrm {s}}\times N_{\mathrm {s}}}\) is assumed to be a regular matrix, \(\mathbf {x}(t)\in \mathbb{R}^{N_{\mathrm {s}}}\) is the unknown solution, \(\mathbf {c}(t)\in \mathbb{R}^{N_{\mathrm {s}}}\) is the excitation, and \(t\in (0, \mathcal {T}]\) is the simulation interval. The initial state of the model is given by consistent [6] initial values \(\mathbf {x}(0)=\mathbf {x}_{0}\). The ideal pulsed excitation

$$ v_{\mathrm {i}}(t)=\textstyle\begin{cases} V_{0} & \text{for all } \tau (t) \leq D, \\ 0 & \text{otherwise}, \end{cases} $$
(2)

is used as input of the power converter circuit. We denote by \(\tau (t) = \frac{t}{T_{\mathrm {s}}} \text{ modulo } 1\) the relative time, \(T_{\mathrm {s}}\) is the switching cycle and D is the duty cycle.

The system of Multirate Partial Differential(-Algebraic) Equations (MPDEs or MPDAEs) with two time scales corresponding to (1) is given by [3, 11, 12]

$$ \mathbf {A}\biggl(\frac{\partial \mathbf {\widehat {x}}}{\partial t_{1}} + \frac{ \partial \mathbf {\widehat {x}}}{\partial t_{2}} \biggr) + \mathbf {B}\, \mathbf {\widehat {x}}(t_{1},t _{2}) = \mathbf {\widehat {c}}(t_{1},t_{2}) , $$
(3)

where \(\mathbf {\widehat {x}}(t_{1}, t_{2})\) is the unknown multivariate solution and \(\mathbf {\widehat {c}}(t_{1},t_{2})\) is the multivariate excitation. Choosing the multivariate excitation such that \(\mathbf {\widehat {c}}(t,t)=\mathbf {c}(t)\), the solution of (1) and (3) are related by \(\mathbf {\widehat {x}}(t,t)=\mathbf {x}(t)\). Thus, the solution of (1) can be calculated solving the MPDEs and extracting the solution along a diagonal through the computation domain. To solve the MPDEs, additional conditions need to be specified. For the present application, a combination of initial and boundary values is applied. Initial values are supplied by \(\mathbf {\widehat {x}}(0,t_{2})=\mathbf {h}(t _{2})\), i.e., at \(t_{1}=0\), where h with \(\mathbf {h}(0)=\mathbf {x}_{0}\) is a function defining the initial values for all \(t_{2}\). The solution along the fast time scale \(t_{2}\) is periodic, i.e., \(\mathbf {\widehat {x}}(t_{1}, t_{2}+T_{\mathrm {s}}) = \mathbf {\widehat {x}}(t_{1}, t_{2})\). The multivariate right-hand side is chosen as \(\mathbf {\widehat {c}}(t_{1}, t_{2})=\mathbf {c}(t_{2})\), i.e., the pulses of the excitation occur along the fast time scale. It is possible to use MPDEs with more than two time scales. However, in the applications of this paper, it is not necessary and furthermore often not feasible since the dimension of the computation domain increases and thus also the computational effort to calculate the solution.

To solve the MPDEs (3), a Galerkin approach and time discretization is applied [2, 10]. The j-th solution component \({\widehat {x}}_{j}(t_{1}, t_{2})\) is approximated by expanding it into periodic basis functions \(p_{k}\) depending on the fast time scale \(t_{2}\) and coefficients \(w_{j,k}\) depending on the slow time scale \(t_{1}\)

$$ {\widehat {x}}_{j}^{\,h}(t_{1}, t_{2}) := \sum_{k=0}^{N_{\mathrm {p}}} w_{j,k}(t_{1})\, p _{k}\bigl(\tau (t_{2})\bigr) , $$
(4)

where the periodicity of the basis functions is accounted for by using the relative time \(\tau (t_{2}) = \frac{t_{2}}{T_{{\mathrm {s}}}} \text{ modulo } 1\). Applying the Galerkin approach with respect to \(t_{2}\) and over one period of the excitation \([0,T_{\mathrm {s}}]\) leads to

$$ \boldsymbol {\mathcal {A}}\frac{{\mathrm {d}}\mathbf {w}}{{\mathrm {d}}t_{1}} + \boldsymbol {\mathcal {B}}\,\mathbf {w}(t_{1}) = \boldsymbol {\mathcal {C}}(t _{1}) , $$
(5)

with block matrices \(\boldsymbol {\mathcal {A}}=\boldsymbol {\mathcal {J}}\otimes \mathbf {A}, \, \boldsymbol {\mathcal {B}}=\boldsymbol {\mathcal {J}}\otimes \mathbf {B}+\boldsymbol {\mathcal {Q}}\otimes \mathbf {A}\), where

$$\begin{aligned} \boldsymbol {\mathcal {J}}= T_{\mathrm {s}}\int _{0}^{1} \bar{\mathbf{p}}(\tau ) \, \mathbf {p}^{ \top }\! (\tau ) \,{\mathrm {d}}\tau ,\qquad \boldsymbol {\mathcal {Q}}= - \int _{0}^{1} \frac{{\mathrm {d}}\bar{\mathbf{p}}(\tau )}{{\mathrm {d}}\tau } \, \mathbf {p}^{\top }\! (\tau ) \,{\mathrm {d}}\tau , \end{aligned}$$
(6)

and right-hand side

$$ \boldsymbol {\mathcal {C}}(t_{1})= \int _{0}^{T_{{\mathrm {s}}}} \bar{\mathbf{p}}\bigl(\tau (t_{2})\bigr) \otimes \mathbf {\widehat {c}}(t_{1},t_{2}) \,{\mathrm {d}}t_{2} . $$
(7)

\(\bar{\mathbf{p}}\) denotes the complex conjugate of p and ⊗ denotes the Kronecker product.

3 PWM basis functions

The PWM basis functions developed in [5] are built up starting from the zero-th constant basis function \(p_{0}(\tau )=1\) and the piecewise linear basis function

$$ p_{1}(\tau ) = \textstyle\begin{cases} \sqrt{3} \, \frac{2\tau -D}{D} & \text{if } 0 \leq \tau < D, \\ \sqrt{3} \, \frac{1+D-2\tau }{1-D} & \text{if } D \leq \tau \leq 1, \end{cases} $$
(8)

which includes the duty cycle D of the excitation by construction. The higher-order basis functions \(p_{k}(\tau )\), \(2\leq k \leq N_{\mathrm {p}}\) are recursively obtained by integrating the basis functions of lower order \(p_{k-1}(\tau )\) and orthonormalizing them using the Gram–Schmidt algorithm. The generated basis functions are depicted in Fig. 2.

Figure 2
figure 2

Original PWM basis functions \(p_{k}(\tau )\), \(k\in \{0,1,2,3,4 \}\)

For the PWM basis functions, the matrices \(\boldsymbol {\mathcal {J}}\) and \(\boldsymbol {\mathcal {Q}}\) from (6) are given by \(T_{\mathrm {s}}\) multiplied by the identity matrix (due to the orthonormality of the basis functions) and a square matrix with around 25% of non-zero entries, respectively. Solving the problem requires time stepping of the entire system (5).

4 PWM eigenfunctions

To enable an easy parallelization of the method, the equations (5) can be decoupled, for example by diagonalizing \(\boldsymbol {\mathcal {Q}}\), i.e., a basis transformation. We define new basis functions \(g_{k}(\tau )\) as linear combinations of the PWM basis functions, i.e.,

$$ g_{k}(\tau ):=\sum_{l=0}^{N_{\mathrm {p}}} v_{k,l} \,\, p_{l}(\tau ), $$
(9)

where \(v_{k,l}\) are unknown coefficients with \(k\in \{0, \dots , N_{\mathrm {p}}\}\), and \(g_{k}(\tau )\) are eigenfunctions of the time derivative operator

$$ \frac{{\mathrm {d}}}{{\mathrm {d}}\tau } g_{k}(\tau ) = \lambda _{k} \,\,g_{k}(\tau ). $$
(10)

We enforce this property in a weak sense by a Galerkin approach, i.e.,

$$ - \int _{0}^{1} g_{k}(\tau ) \frac{{\mathrm {d}}p_{m}(\tau )}{{\mathrm {d}}\tau } \,{\mathrm {d}}\tau = \lambda _{k} \int _{0}^{1} g_{k}(\tau ) \, p_{m}(\tau ) \,{\mathrm {d}}\tau , $$
(11)

where integration by parts and the periodicity of the basis functions is used. Inserting the expansion of the basis functions into (11) gives

$$ T_{\mathrm {s}}\boldsymbol {\mathcal {Q}}\,\mathbf {v}_{k} = \lambda _{k} \boldsymbol {\mathcal {J}}\,\mathbf {v}_{k}. $$
(12)

Since \(\boldsymbol {\mathcal {J}}\) is \(T_{\mathrm {s}}\) multiplied by the identity matrix (thanks to the orthonormality of the PWM basis functions), the \(\lambda _{k}\) and \(\mathbf {v}_{k}\) are the eigenvalues and eigenvectors of the matrix \(\boldsymbol {\mathcal {Q}}\), respectively. Furthermore since \(\boldsymbol {\mathcal {Q}}\) is real-valued and skew symmetric, and therefore a normal matrix, the eigenvectors \(\mathbf {v}_{k}\) are orthonormal. The new basis functions (complex-valued) are depicted in Fig. 3 for \(N_{\mathrm {p}}=4\). Note that the basis consists of pairs of conjugate complex basis functions.

Figure 3
figure 3

PWM eigenfunctions \(g_{k}(\tau )\), \(k\in \{0,1,2,3,4\}\), i.e., \(N_{\mathrm {p}}=4\). (top) real part. (bottom) imaginary part

Inserting the transformed basis functions instead of the PWM basis functions into (6) and (7) leads, using the orthonormality of the eigenvectors, to

$$ \boldsymbol {\mathcal {A}}\frac{{\mathrm {d}}\mathbf {w}}{{\mathrm {d}}t_{1}} + {\widetilde {\boldsymbol {\mathcal {B}}}}\, \mathbf {w}(t_{1}) = {\widetilde {\boldsymbol {\mathcal {C}}}}(t _{1}) , $$
(13)

where \(\boldsymbol {\mathcal {A}}\) as in (5),

$$\begin{aligned} &{\widetilde {\boldsymbol {\mathcal {B}}}}=\boldsymbol {\mathcal {J}}\otimes \mathbf {B}+\boldsymbol{\varLambda }\otimes \mathbf {A}, \end{aligned}$$
(14)
$$\begin{aligned} &{\widetilde {\boldsymbol {\mathcal {C}}}}(t_{1})= \int _{0}^{T_{{\mathrm {s}}}} \bar{\mathbf{g}}\bigl(\tau (t _{2})\bigr) \otimes \mathbf {\widehat {c}}(t_{1},t_{2}) \,{\mathrm {d}}t_{2} , \end{aligned}$$
(15)

and Λ is a diagonal matrix with diagonal entries \({\lambda _{0}, \lambda _{1}, \dots , \lambda _{N_{\mathrm {p}}}}\). Thus the resulting matrices in (13) are block-diagonal and the degrees of freedom can be block-wisely decoupled. This leads to \(N_{\mathrm {p}}+1\) independent systems of equations given by

$$ T_{\mathrm {s}}\,\mathbf {A}\frac{{\mathrm {d}}\mathbf {w}_{k}}{{\mathrm {d}}t_{1}} + (T_{\mathrm {s}}\,\mathbf {B}+ \lambda _{k}\, \mathbf {A})\, \mathbf {w}_{k} = \int _{0}^{T_{{\mathrm {s}}}} \bar{g}_{k}\bigl(\tau (t_{2})\bigr) \,\mathbf {\widehat {c}}(t_{1},t_{2}) \,{\mathrm {d}}t_{2} \quad\text{for } k = 0,\dots ,N_{\mathrm {p}}, $$
(16)

where \(\mathbf {w}=[\mathbf {w}_{0}^{\top }, \mathbf {w}_{1}^{\top }, \dots , \mathbf {w}_{N_{\mathrm {p}}} ^{\top }]^{\top }\). Note that if a diagonal entry in Λ is complex, there is also a complex conjugate counterpart. The solutions of the decoupled system of equations corresponding to this complex eigenvalue and its conjugate complex counterpart, are, as a result, complex conjugate to each other. Therefore it is sufficient to solve one of them. This is similar to harmonic balance methods in which the harmonic basis functions are given by pairs of complex conjugates leading to similar systems of equations. In analogy to “harmonic balance method”, we call the developed method the “multirate PWM balance method”.

5 Test case and numerical results

The method is applied to the buck converter from Fig. 1, where the pot inductor is represented by a 2D field model with conducting core material (ferrite, \(\sigma _{\mathrm{fe}}=250 \) S/m). The coils are modeled as stranded conductors. The simulation interval is given by \(\varPsi =[0,10] \) ms. The switching frequency is \(f_{\mathrm{s}}=\frac{1}{T_{\mathrm {s}}}=1000 \) Hz. For the pulsed excitation (2) we use \(V_{0}=24 \) V. All calculations are performed in MATLAB. The partial differential equations governing the magnetoquasistatic problem are given by

$$ \sigma (\mathbf {r}) \frac{\partial \mathbf {A}_{\mathrm{m}}(\mathbf {r}, t)}{\partial t} + \nabla \times \bigl(\bigl(\mu (\mathbf {r})^{-1}\bigr) \, \nabla \times \mathbf {A}_{ \mathrm{m}}(\mathbf {r}, t) \bigr) = \mathbf {J}_{\mathrm {s}}(\mathbf {r}, t), $$
(17)

where r is the position vector, t is the time, \(\mathbf {A}_{ \mathrm{m}}\) is the modified magnetic vector potential [4], \(\mathbf {J}_{\mathrm {s}}\) are the imposed currents, \(\mu =4 \pi \times 10^{-7} \) H/m is the magnetic permeability and σ is the conductivity which is only non-zero in the ferrite core (\(\sigma _{\mathrm{fe}}\)). The problem is considered on a 2D planar domain with homogeneous Dirichlet boundary conditions.

Correspondingly, the Finite Element magnetoquasistatic [13] discretization of the magnetoquasistatic inductor model is given by the differential-algebraic system of equations [8]

$$ \mathbf {M}_{\sigma } \frac {{\mathrm {d}}}{{\mathrm {d}}t}\mathbf {a}(t) +\mathbf {K}\,\mathbf {a}(t) = \mathbf {P}\,i_{\mathrm{L}}(t), $$
(18)

where \(\mathbf {M}_{\sigma }\) is the singular conductivity matrix, K is the stiffness matrix, \(\mathbf {a}(t)\) gathers the degrees of freedom (DOFs) related to the magnetic vector potential, P is the discretization of the winding function [13] and \(i_{\mathrm{L}}(t)\) is the current through the inductor. The field-circuit coupling is expressed as follows. An additional variable is introduced for the magnetic flux linkage \(\varPhi (t)=\mathbf {P}^{\top }\mathbf {a}(t)\). All equations are coupled monolithically into the index-1 differential-algebraic system of equations [1]

$$\begin{aligned} &\mathbf {M}_{\sigma } \frac {{\mathrm {d}}}{{\mathrm {d}}t}\mathbf {a}- \mathbf {P}\,i_{\mathrm{L}}+ \mathbf {K}\,\mathbf {a}= \mathbf{0}, \end{aligned}$$
(19)
$$\begin{aligned} &\mathbf {P}^{\top }\mathbf {a}- \varPhi= 0, \end{aligned}$$
(20)
$$\begin{aligned} &\frac {{\mathrm {d}}}{{\mathrm {d}}t}\varPhi + R_{\mathrm {L}}\,i_{\mathrm{L}}+ v_{\mathrm {C}}= v_{\mathrm {i}}(t), \end{aligned}$$
(21)
$$\begin{aligned} &C \,\frac {{\mathrm {d}}}{{\mathrm {d}}t}v_{\mathrm {C}}- i_{\mathrm{L}}+ \frac{1}{R} \,v_{\mathrm {C}}= 0, \end{aligned}$$
(22)

which for the example in Fig. 1 contains a total of \(11\text{,}053\) DOFs. The initial conditions are given by \(v_{\mathrm {C}}(0)=0\), \(i_{\mathrm{L}}(0)=0\) and \(\mathbf {a}(0)=\mathbf{0}\).

The initial condition for the MPDEs (3) can be written as

$$ h_{j}(t_{2}) \approx \sum _{k=0}^{N_{\mathrm {p}}} w_{j,k}(0) \, p_{k}\bigl(\tau (t _{2})\bigr), $$
(23)

where \(h_{j}\) is the j-th element of h. It only has to satisfy the condition \(\mathbf {h}(0) = \mathbf {\widehat {x}}(0,0)=\mathbf {x}_{0}\). Consequently there is a high degree of freedom in choosing the initial values \(\mathbf {w}(0)\) for the system of equations (5). However not all choices lead to an efficient simulation, i.e., low dynamics in the slow time scale. The following choice of initial values has proven advantageous. First, the steady-state solution is calculated, i.e.,

$$ \mathbf {w}^{\,s}= \boldsymbol {\mathcal {B}}^{-1}\boldsymbol {\mathcal {C}}(0). $$
(24)

Secondly, the initial coefficients for \(k=1,\dots , N_{\mathrm {p}}\) are extracted from the steady-state solution \(w_{j,k}(0)=w^{\,s}_{j,k}\) for all j. The remaining coefficients are calculated by solving the solution expansion (4) for \(w_{j,0}(0)\) and using the condition \(\mathbf {\widehat {x}}(0,0)=\mathbf {x}_{0}\). In summary the initial coefficients are given by

$$ w_{j,k}(0)= \textstyle\begin{cases} w^{\,s}_{j,k} & \text{for }k=1,\dots ,N_{\mathrm {p}}\text{ and for all } j=1, \dots ,N_{\mathrm {s}}, \\ x_{j}(0) - \sum_{l=1}^{N_{\mathrm {p}}} w^{\,s}_{j,l} \,\, p_{l}(0) & \text{for }k=0 \text{ and for all } j=1,\dots ,N_{\mathrm {s}}. \end{cases} $$
(25)

The initial conditions for the system of equations (13) are computed similarly using the PWM eigenfunctions. Other choices of initial values may still lead to the correct solution but might impair the efficiency of the method.

To calculate the reference solution with a conventional adaptive time discretization, the MATLAB solver ode15s is used. It is modified to restart the simulation at the known switching instances. Consistent initial values for the restart of the solver are calculated by using a Newton–Raphson algorithm to solve the set of algebraic equations. The required differential variables are taken from the solution at the end of the prior solution interval. After finding the new set of initial values, the initial slopes of the differential variables are calculated by solving the subsystem of ordinary differential equations for the slope.

The multivariate solution \(\mathbf {\widehat {x}}(t_{1},t_{2})\) calculated using the multirate PWM balance method, i.e., solving (13) with ode15s, is reconstruced using (4) and the multivariate voltage at the capacitor is depicted in Fig. 4. The corresponding solution component of the original system of equations (1) is extracted along a diagonal through the computation domain. Figure 5 shows the current through the inductor along with the reference solution. The agreement between the multirate PWM balance method solution and the reference solution is excellent. The Joule losses in the core material due to eddy currents are calculated by

$$ P_{\mathrm{eddy}}(t)= \int _{\varOmega } \mathbf{E}(\mathbf {r}, t) \cdot \sigma (\mathbf {r}) \mathbf{E}(\mathbf {r}, t) \,{\mathrm {d}}\mathbf {r}= \bigl(\mathbf {e}(t)^{ \mathrm{H}} \bigr) \,\mathbf {M}_{\sigma } \,\mathbf {e}(t), $$
(26)

where E is the electric field strength, Ω is the spatial computation domain, the superscript H denotes the Hermitian, i.e., the complex conjugate transposed, and \(\mathbf {e}(t)=-\frac {{\mathrm {d}}}{{\mathrm {d}}t}\mathbf {a}(t)\) is the line-integrated discrete electric field. The Joule losses are plotted as well in Fig. 5. Figure 6 depicts the solution of (13), i.e., the coefficients \(\mathbf {w}(t_{1})\), exemplary for the current through the inductor \(i_{\mathrm{L}}\). As one can see, using the initial values (25), only the coefficient \(w_{j,0}\) corresponding to the zero-th basis function varies and the others stay constant. To quantify the accuracy and efficiency of the multirate PWM balance method, it is compared to conventional time discretization and to the MPDE approach with the original PWM basis functions. Different settings are considered: To analyze the performance of the conventional time discretization, the relative and absolute tolerance setting of the solver is changed, i.e., \(\mathrm{abstol}=\mathrm{reltol} \in [10^{-6}, 10^{-1}]\); For the case of the multirate PWM balance method and the MPDE approach with the original PWM basis functions, relative and absolute tolerances are fixed at \(\mathrm{abstol}=\mathrm{reltol}=10^{-7}\) and the number of basis functions \(N_{\mathrm {p}}\in \{1,\dots,10\}\) is changed. The accuracy is measured for the voltage output of the converter, i.e., the voltage at the capacitor. The relative \({\mathrm {L}^{2}}\) error is given by

$$ \epsilon (\mathrm{tol}, N_{\mathrm {p}}) = \frac{ \Vert v_{\mathrm{C,ref}}(t)-v_{ \mathrm{C}}^{\,h}(\mathrm{tol},N_{\mathrm {p}},t) \Vert _{{\mathrm {L}^{2}}(\varPsi )}}{ \Vert v_{ \mathrm{C,ref}}(t) \Vert _{{\mathrm {L}^{2}}(\varPsi )}}, $$
(27)

where \(v_{\mathrm{C,ref}}\) is the reference solution and \(v_{ \mathrm{C}}^{\,h}\) is the solution using the multirate PWM balance method and the MPDE approach with the original PWM basis functions. The norm is approximated using mid-point quadrature. Figure 7 shows the error plotted as a function of the solution time, i.e., the time that ode15s needs. For conventional time discretization the time for solving consists of the time that is needed to calculate consistent initial values and slopes after switching, and the actual time that ode15s needs. The time to calculate consistent initial values and slopes depends on the number of switching instants and is thus constant if the switching frequency or simulation interval does not change. It is given by approximately 16 seconds. The total time displayed in Fig. 7 is the sum of both contributions.

Figure 4
figure 4

Multivariate voltage at the capacitor calculated using the multirate PWM balance method. The solution component corresponding to the original system of equations (1) is extracted along a diagonal and marked as a black curve

Figure 5
figure 5

(top) Reference solution calculated using conventional adaptive time discretization compared to the solution obtained by the MPDE approach with \(N_{\mathrm {p},\mathrm {pwmbal}}=4\) PWM eigenfunctions. The relative \({\mathrm {L}^{2}}\) error of the current through the inductor similar to (27) is approximately \(3 \times 10^{-5}\). (bottom) Joule losses in the core material due to eddy currents

Figure 6
figure 6

Coefficients \(w_{1,k}\) for the inductor current calculated by solving (13) with \(N_{\mathrm {p},\mathrm {pwmbal}}=4\). (top) real part. The coefficients \(w_{1,1}, \dots , w _{1,4}\) are approximately the same therefore they are hard to distinguish visually. (bottom) imaginary part

Figure 7
figure 7

Error ϵ as defined in (27) over time for solving the systems of equations. The MPDE approach with PWM eigenfunctions (multirate PWM balance method) is considerably faster than the MPDE approach with the original PWM basis functions and the conventional time discretization

As one can see the MPDE approach with the original PWM basis functions is considerably slower than conventional time stepping. This is due to the fact that the already large systems of equations (1) (due to field-circuit coupling) are even further increased in size through the Galerkin approach. The stagnation of the error at 10−6 in Fig. 7 for values larger than \(N_{\mathrm {p}}=7\) is caused by the chosen accuracy of ode15s. Furthermore one can see that when adding another basis function the error does decrease with every second basis function. This was already observed in [5, 10]. For this reason the error for the PWM eigenfunctions is only plotted for \(N_{\mathrm {p},\mathrm {pwmbal}}\in\{1,2,4,6,8,10\}\). Since the systems of equations resulting from the multirate PWM balance method are decoupled, they can be solved efficiently in parallel. For each basis function \(g_{k}\) with \(k=0,\dots ,N_{\mathrm {p}}\), a complex-valued initial value problem of the form (16) has to be solved. The size of these systems of equations is the same as that of the original system of equations (1). However, the time for solving is considerably smaller since less time steps are necessary for the same solution accuracy. Note that due to the choice of the initial values (25) most coefficients in (13) for this numerical example do not change and only those corresponding to the zero-th basis function vary. This means that only the decoupled system of equations which corresponds to the zero-th basis function takes considerable computational effort to solve. In a parallel computing environment one would choose as many processor cores as basis functions (\(N_{\mathrm {p}}+1\)). The overall runtime is then determined only by the initial value problem that takes the longest to integrate. For this numerical example it is \(k=0\). The communication overhead between processors is not taken into account since it is highly implementation and machine dependent. The slightly decreasing time to solution when \(N_{\mathrm {p},\mathrm {pwmbal}}>1\) is owed to the fact that initial values according to (25) take more a-priori information into account which leads to smaller number of time steps and faster simulation. The overall accuracy of the method is problem-specific and always depends on both the tolerance for the solver and the number of basis functions. An a-priori determination of the number of basis functions and the solver tolerance is not yet available. An a-posteriori estimator can be constructed by increasing the number of basis functions and comparing the solutions. The resulting error is also related to the time stepping error.

The MPDE approach works also for nonlinear problems. However, similarly as for the harmonic balance case, the decoupling is not straightforward anymore. Furthermore the PWM basis functions and thus also the PWM eigenfunctions might not be able to represent the solution of problems with nonlinear elements [10]. If the amplitude of the ripples is small compared to the amplitude of the envelope, the particular efficient approach described in [9] can be applied. It uses only the slowly varying envelope to evaluate the nonlinearities. Although the assembly of the field model matrices for a new envelope cannot be parallelized, the matrices in (13) can still be decoupled and calculations to obtain the following time step can be run in parallel.

6 Conclusion

A new efficient technique was presented for field-circuit coupled models of DC-DC power converters, in which the switches are idealized and the filtering circuit is linear. The already existing MPDE technique with PWM basis functions splits the solution into fast varying and slowly varying parts. In this paper this method has been improved by introducing a new set of PMW basis functions which decouple the systems of equations similar as in the harmonic balance method. The new method, now called multirate PWM balance method, enables a parallel solution of all PWM modes resulting in a speed-up amounting to a factor 4 for the test example.