1 Introduction

The discovery of solid-state memristor in Hewlett-Packard (HP) labs, reported in Nature in May 2008 [1], initiated a growing interest in computer modeling and simulation of memristor [29], the fourth fundamental passive element, theoretically predicted by Chua in 1971 [10]. The reason consists in the fact that the above device is not currently available as off-the-shelf circuit. Then its model, particularly when implemented in current programs for circuit simulation such as SPICE, can serve as an important tool in computer experiments with such devices.

In addition to the memristor, other hypothetical “mem-devices” have come into consideration within the last year, namely the memcapacitor and the meminductor [1114]. As noted in [15], “…combined with the already known memristor, such elements open up new and unexplored functionalities in electronics…”.

In order to enable simulation experiments with the above mem-elements, the existing PSPICE models of memristor should be complemented with similar models of memcapacitor and meminductor. The first step was performed in [16], where a general methodology for PSPICE modeling of mem-devices was introduced. The very first PSPICE model of the memcapacitor was published in [17]. To the best of our knowledge, no similar PSPICE model of the meminductor has been hitherto reported in the literature. Thereby, this Letter introduces foolproof models of current- and flux-controlled meminductors.

2 General models of current- and flux-controlled meminductors for PSPICE

According to [18], a network element can be defined axiomatically by its constitutive relation (CR), which does not depend on the element interaction with the surrounding networks. For the meminductor, the CR is the relation [16]

$$ f(\rho ,q) = 0, $$
(1)

where ρ is the time-domain integral of magnetic flux φ (TIF) of the meminductor, and q is the electric charge, i.e. the time integral of electric current i (TIC):

$$ \rho (t) = \int\limits_{ - \infty }^{t} {\varphi (\alpha )d\alpha } ,\quad q(t) = \int\limits_{ - \infty }^{t} {i(\alpha )d\alpha } . $$
(2)

If the CR (1) can be transformed such that it depicts the TIF as a single-valued function \( \hat{\rho } \) of the charge, namely

$$ \rho = \hat{\rho }(q), $$
(3)

then we talk about a current-controlled [12, 16] or a charge-controlled meminductor. In terms of meminductor flux and current, CR (3) can be rewritten in the form

$$ \varphi = L_{M} (q)i, $$
(4)

where

$$ L_{M} (q) = {\frac{{d\hat{\rho }(q)}}{dq}}\left| {\mathop {}\limits_{Q} } \right. $$
(5)

is the small-signal meminductance defined at the operating point Q [18].

Similarly, if CR (1) can depict the charge q as a single-valued function \( \hat{q} \) of the TIF,

$$ q = \hat{q}(\rho ), $$
(6)

then (6) defines a flux-controlled [12, 16] or TIF-controlled meminductor. CR (6) can be transformed into the form

$$ i = \Uplambda_{M} (\rho )\varphi , $$
(7)

where

$$ \Uplambda_{M} (\rho ) = {\frac{{d\hat{q}(\rho )}}{d\rho }}\left| {\mathop {}\limits_{Q} } \right. $$
(8)

is the small-signal inverse meminductance defined at the operating point Q.

It is shown on the example of HP memristor [1] that there is a significant difference between the behavior of the ideal hypothetical device (memristor) and its physical implementation. Since the key parameter of the device, resistance in the case of memristor, can be changed only within bounds that are given by the physical limitations of a concrete implementation, the HP memristor must be modeled as a more general memristive system [19]. Analogously, it is shown in [12, 16] that the memcapacitor and the meminductor are special cases of more general memcapacitive and meminductive systems. In order to model properly the meminductor also in its limit states, it should be regarded as a current- or flux-controlled meminductive system (CCMLS or FCMLS), respectively.

The CCMLS for modeling the current-controlled meminductor can be defined by the following algebraic port equation (PE) and first-order differential state equation (SE):

$$ {\text{PE:}}\,\varphi = L_{M} (x,i,t)i, $$
(9)
$$ {\text{SE:}} \, \dot{x} = \frac{d}{dt}x = f_{i} (x,i,t). $$
(10)

In general, L M ( ) and f i ( ) are nonlinear functions, which depend on the concrete physical implementation of the current-controlled meminductive system or meminductor. The suffix i denotes the current-controlled system.

Analogously, the FCMLS for modeling the flux-controlled meminductor can be defined as follows:

$$ {\text{PE:}}\,i = \Uplambda_{M} (x,\varphi ,t)\varphi , $$
(11)
$$ {\text{SE:}}\,\dot{x} = \frac{d}{dt}x = f_{\varphi} (x,\varphi,t), $$
(12)

where Λ M ( ) and f φ ( ) are nonlinear functions. The suffix φ denotes the flux-controlled system.

The functions f i ( ) and f φ ( ) should also model the so-called boundary effects, which cause the decrease of the speed of state variable to zero if the device state approaches its physical limits [20]. Details will be given in the following section.

Equations 912 can serve as a starting point for constructing PSPICE models of current- and flux-controlled meminductors operating on the basis of various physical principles. The basic schematics of such modeling are given in Fig. 1(a) and (b), together with the schematic symbol of the meminductor. The symbol should be used in accordance with [12]: when a positive voltage is applied to the upper terminal with respect to the terminal denoted by the black thick line, the meminductance is increased.

Fig. 1
figure 1

Schematic symbol of the meminductor and block diagrams of SPICE modeling of a current-controlled, b flux-controlled meminductor

Port equations (9) and (11) are modeled by inductors with inductances controlled through the blocks L M ( ) and Λ M ( ). Input signals of these blocks are the system state x and the meminductor current (Fig. 1a) or flux (Fig. 1b). The flux is computed as a time-domain integral of meminductor voltage (see the block Int φ in Fig. 1b). Differential state equations (10) and (12) are modeled by the integrator Int x and the nonlinear blocks f i ( ) and f φ ( ), respectively.

The varying inductors in Fig. 1 can be modeled in PSPICE as follows. The general equation of the inductor with varying inductance L M or with varying inverse inductance Λ M  = 1/L M

$$ \varphi (t) = \varphi (0) + \int\limits_{0}^{t} {v(\xi )d\xi } ,\;{\text{or}}\;L_{M} (t)i(t) = L_{M} (0)i(0) + \int\limits_{0}^{t} {v(\xi )d\xi } , $$

where φ(0) and i(0) are the initial flux and current at time 0, can be rewritten in the form

$$ i(t) = \Uplambda_{M} (t)[L_{M} (0)i(0) + \int\limits_{0}^{t} {v(\xi )d\xi } ]. $$
(13)

This equation can be modeled in PSPICE via a controlled current source. Note that the right-side integral is a flux, which must be computed. The mathematical formula of the inverse meminductance will depend on the concrete physical implementation of the meminductor.

3 Example of SPICE modeling of meminductor

Figure 2 shows a simple electro-mechanical model of meminductor. The coil has one fixed (on the left side) and one sliding terminal, which can be moved, depending on the circuit quantities described below, within limits defined by distances l min and l max from the fixed terminal. The slider positions l min and l max determine the limiting values of the coil inductances L min and L max . Let us define the dimensionless state variable x

$$ x = {\frac{{l - l_{\min } }}{{l_{\max } - l_{\min } }}}\; \in (0,1). $$
(14)

The coil inductance L is, roughly speaking, proportional to the square of the number of turns N:

$$ L \approx N^{2} /R_{M} , $$
(15)

where R M is the magnetic resistance of the magnetic part of the coil.

Fig. 2
figure 2

Electro-mechanical model of the meminductor

Then the inductance L M of the meminductor in Fig. 2 depends on the state variable x approximately as follows:

$$ L(t) \approx \left[ {\sqrt {L_{\min } } + x(t)\left( {\sqrt {L_{\max } } - \sqrt {L_{\min } } } \right)} \right]^{2} $$
(16)

Consider the current-controlled meminductor. According to Eq. 10, the time derivative of the state variable, i.e. the speed of the motion of the normalized distance x of the coil slider from the fixed terminal in Fig. 2, must depend on the inductor current. Analogously to the charge-controlled HP memristor in [3] and memcapacitor in [17], consider state equation (10) of the current-controlled meminductor in the form

$$ \dot{x} = k \cdot i(t) \cdot window(x) $$
(17)

The rate of the change of the slider position is directly proportional to the meminductor current and to the mobility factor k. The purpose of the nonlinear function window(x) is to model the rate decrease to zero when the slider approaches the limit positions l min and l max . As known from papers on HP memristor, the modeling of such boundary effects can be accomplished by several types of window functions, which provide a transition to zero values such as the rectangular [12, 21], Joglekar [20], or Biolek [3] window, denoted by R, J, and B subscripts in the formulae below:

$$ window_{R} (x) = stp(x) - stp(x - 1),\;window_{J} (x) = 1 - (2x - 1)^{2p} ,\;window_{B} (x) = 1 - (x - stp( - xd))^{2p} $$
(18)

Here stp(x) is a step function, i.e. stp(x) = 1 when x ≥ 0, stp(x) = 0 when x < 0, p is a positive integer, and xd is a quantity which evaluates the direction of the change of the state variable, i.e. xd > 0 when x increases, and xd ≤ 0 when x decreases or is constant.

Figure 3(a) shows that if the control parameter p increases, the Joglekar window converges to the rectangular window. The basic problem of this window consists in the fact that when the state variable of the device is in its terminal value 0 or 1, no external stimulus can change this state because the time derivative of the state variable in (17) is zero, independently of the terminal signals. Such a discrepancy between the behavior of the model and the requirements for the operation of a real circuit element is resolved by the Biolek window, which reflects the fact that the speeds of receding from and approaching the limit positions of the slider are different. An illustration of how this window works is given in Fig. 3(b) for the control parameter p = 2. Details can be found in [3, 9]. As a conclusion, the more sophisticated Biolek window models well the device behavior also near its boundary states, but numerical problems in transient analysis due to the discontinuities at boundary points can appear more frequently than in the case of the Joglekar window. The Joglekar window can be advantageously used for cases when the mem-element operates far enough from its boundary states. Note that when applying the Biolek window, constitutive relation (1) will now depend on the way the meminductor interacts with the surrounding networks. However, it is only a consequence of the fact that the device in Fig. 2 is not an ideal meminductor but a more general meminductive system.

Fig. 3
figure 3

Window functions according to Joglekar (a) and Biolek (b), the latter for p = 2 [3]

The SPICE subcircuit, modeling the meminductor from Fig. 2, is shown in Table 1 together with the self-explanatory notes.

Table 1 PSPICE subcircuit of the meminductor from Fig. 2

The Vsense voltage source, defined on line 4, serves to sense the meminductor current. The value of this current is needed for modeling the state equation on line 12 or 13 as well as for computing the charge on line 21. The code on line 12 can be replaced by the text on line 13 when the Biolek window is used instead of the Joglekar window. The integrator Int x in Fig. 1(a) is accomplished by a capacitor C x with 1F capacitance, charged from a current source G x , which provides current according to Eq. 17. A shunting resistor R x is needed in order to provide the DC path to the ground. The initial state x init of the device is derived from the initial value of inductance L init , see line 11. The flux computation as a time-domain integral of meminductor voltage is done similarly on lines 7–9.

In order to easily visualize constitutive relation (1), the charge and TIF computations are performed on lines 21 and 22. For simplicity, the time-domain integrations are provided via a PSPICE function SDT, not by means of the current source and capacitor. To save model nodes, the computation is arranged via current sources with each terminal grounded. The values of these currents are equal to the charge and TIF and thus they can be used for the visualization of the CR. Note that the SDT function was not utilized in the above-mentioned models of integrators. The main reason for not using the SDT function is that the precision of these integrators can then be adjusted via a proper selection of the component parameters.

The results of PSPICE transient analysis are shown in Fig. 4. The analysis was performed for the meminductor with default parameters given in Table 1 and the Joglekar window, excited by a harmonic current source with an amplitude of 100 mA and a frequency of 1 Hz, with an auxiliary 1 GΩ shunting resistor. The results shown in Fig. 4 clearly demonstrate three basic fingerprints of the meminductor [11]: Unambiguous constitutive relation (1) (Fig. 4a), the pinched hysteretic loop in the flux–current characteristic (Fig. 4b), and the identical time instants when the flux and current waveforms cross the zero levels (Fig. 4c). Figure 4(d) shows the variation of the state variable x due to changing the terminal current and voltage.

Fig. 4
figure 4

PSPICE analysis of meminductor from Table 1 excited by harmonic current source. Boundary effects are modeled via Joglekar window

Figure 5 demonstrates another well-known fact from the world of mem-devices: if the frequency of the signal excitation increases, the hysteretic effect in the flux–current characteristic is gradually suppressed.

Fig. 5
figure 5

PSPICE analysis of meminductor from Table 1 excited by harmonic current source. Boundary effects are modeled via Joglekar window. The memory effect decreases with increasing frequency of excited signal

Figure 6 offers a comparison of meminductor behaviors when the boundary effects are modeled by the Joglekar and the Biolek windows. Meminductors are excited by identical current sources with symmetrical periodical trapezoidal pulse waveforms with MIN/MAX values of −100 μA/+100 μA, with a repeating frequency of 2 Hz, and with 5 ms rise and fall times. Figure 6(a) and (b) show the initial transients whereas Fig. 6(c) and (d) display the steady-state meminductor voltages, currents, and state variables x. Note that whereas the initial transients are almost identical (see Fig. 6a, b), in the steady-state the meminductor modeled by the Joglekar window operates in the regime of x = 1, due to the effect of locking in on the boundary state in which the time derivative of the state variable is zero, and thus it behaves as a conventional linear inductor. The corresponding flux–current characteristic in Fig. 7(a) is a line without any hysteretic behavior. By contrast, the operation of the meminductor with the Biolek window exhibits a steady-state variation of the state variable x (see Fig. 6d), and the hysteretic loop in the flux–current characteristic is evident in Fig. 7(b). Note that the constitutive TIF-charge relation in Fig. 7(d) is not ambiguous because the meminductor now behaves as a more complicated meminductive system.

Fig. 6
figure 6

PSPICE analysis of meminductors excited by trapezoidal pulse current sources, with boundary effects modeled by Joglekar and Biolek windows. Figures (a) and (b) show initial transients whereas figures (c) and (d) display the steady-state behavior. The meminductor parameters are L min  = 100 μH, L max  = 2 mH, L init  = 1 mH, k = 10 A−1 s−1, p = 10

Fig. 7
figure 7

Steady-state characteristics of the meminductors analyzed in Fig. 6: flux–current characteristics for Joglekar (a) and Biolek (b) windows, TIF-charge characteristics for Joglekar (c) and Biolek (d) windows

4 Conclusions

The methodology described here facilitates effective modeling of meminductive systems of various physical natures in the SPICE-family programs for circuit simulation. An example of the modeling of a current-controlled meminductor whose inductance is changed depending on a state variable, controlled by the meminductor current, is analyzed in detail. The SPICE modeling of flux-controlled meminductive systems can be figured out analogously, following the general model in Fig. 1(b).