Controlling stable Bloch points with electric currents

The Bloch point is a point singularity in the magnetisation configuration, where the magnetisation vanishes. It can exist as an equilibrium configuration and plays an important role in many magnetisation reversal processes. In the present work, we focus on manipulating Bloch points in a system that can host stable Bloch points—a two-layer FeGe nanostrip with opposite chirality of the two layers. We drive Bloch points using spin-transfer torques and find that Bloch points can move collectively without any Hall effect and report that Bloch points are repelled from the sample boundaries and each other. We study pinning of Bloch points at wedge-shaped constrictions (notches) in the nanostrip and demonstrate that arrays of Bloch points can be moved past a series of notches in a controlled manner by applying consecutive current pulses of different strength. Finally, we simulate a T-shaped geometry and demonstrate that a Bloch point can be moved along different paths by applying current between suitable strip ends.

Bloch points [1,2] are point singularities that can be observed in magnetic systems.They have first been studied in the context of bubble memories [3].Bloch points play an important role in many dynamical processes, such as vortex-antivortex annihilation [4], vortex core reversal [5], and skyrmion reversal [6].Recently, their static microscopic structure [7] and their dynamics [8] were measured experimentally.
Beg et al. [9] demonstrated that a stable Bloch point can exist in a thin helimagnetic cylinder consisting of two layers with opposite chirality.The Bloch point in this system is of circulating type and exists in two different configurations, head-to-head (HH) and tail-to-tail (TT).In a recent work [10], we have demonstrated that rectangular two-layer nanostrips with opposite chirality can host multiple Bloch points, and in a nanostrip of suitable size any combination of Bloch points of the two types can be in equilibrium, which is necessary for encoding data with Bloch points.
In this work, we study the motion of one or multiple Bloch points under applied spin-transfer torques in a system consisting of two layers with opposite chirality.We find that the Bloch point moves without any Hall effect in the two-layer geometry.Multiple Bloch points move collectively, independent of their type or arrangement.We study the effect of geometry variations of the nanostrip by removing the magnetic material in one or multiple notches at the edge of the nanostrip.Finally, we simulate the motion of a Bloch point in a T-shaped geometry and show that we can control the motion of the Bloch point with the applied current.Depending on the current direction, the Bloch point can move along different paths, i.e. between arbitrary ends of the structure.

A. Rectangular strips
First, we focus on driving Bloch points in rectangular strips.We simulate nanostrips with length l = 1500 nm or l = 2000 nm and width w = 100 nm.The nanostrips consist of two layers with opposite material chirality, i.e. opposite sign of the Dzyaloshinkii-Moriya constant.The bottom layer has thickness t b = 20 nm, the top layer thickness t t = 10 nm.We show the geometry in Fig. 1, the two layers are indicated with dark and light grey.The figure shows a nanostrip with an additional notch studied later in this work.The top surface shows the corresponding simulated current density.
We begin by initialising the system and relaxing it to a state that contains one or two Bloch points near the left sample boundary and apply current in +x direction.Figure 2a shows an initial configuration with a single Bloch point located at x ≈ 150 nm in a 1500 nm strip.The cross-section shows the magnetisation above the interface of the two layers, colour indicates the out-of-plane component m z , and arrows the in-plane components m x and m y .When current is applied in +x direction, the Bloch point moves along the current direction until it reaches the right sample boundary, where it stops due to the repulsion from the sample edge.Figure 2b shows the final configuration with the Bloch point at x ≈ 1400 nm.The blue line shows the path of the Bloch point.We can see that the Bloch point moves in a straight line and is not subject to any Hall effect, independent of the strength of the applied current.This is qualitatively different from the Bloch point in a chiral bobber studied in Ref. 11, where the whole object is subject to a current-dependent Hall effect.We have also performed simulations for much wider strips (w = 600 nm) to verify that the straight motion is not caused by the repulsion from the sample boundaries in y direction.Figure 2c shows an example for two Bloch points in the configuration tail-to-tail and head-to-head in a 2000 nm strip.The left part shows the initial configuration with x TT,i ≈ 125 nm and x HH,i ≈ 375 nm.The right part shows the final configuration with x TT,f ≈ 1800 nm and x HH,f ≈ 1950 nm.Both Bloch points move along the current direction in a straight line.The Bloch-point type does not affect the motion.We obtain qualitatively similar results for configurations containing two Bloch points of the same type and for configurations containing more than two Bloch points.
Figure 2d shows the average speed of a single Bloch point as a function of the applied current density.We can observe pinning for small current densities and linearly increasing velocity for larger current densities.We cannot estimate the exact depinning current because it depends on the discretisation.Similar pinning behaviour of the Bloch point has been observed in other micromagnetic [5,8,11] and atomistic [12,13] simulations before.In the remainder of this work we focus on larger current densities above the depinning threshold.

B. Nanostrip with one notch
Next, we study the motion of a single Bloch point in a nanostrip with a notch.We simulate a strip with l = 600 nm with a wedge-shaped notch at x = 300 nm, extending through the sample in z direction (Fig. 1).The notch tip is located at y = 70 nm (n y = 30 nm) and the opening angle is 90°(n x = 60 nm).An xy cross-section is shown in Fig. 3.We use a finite-element simulation to compute the non-uniform current density profile in this geometry, more details are provided in the Methods section.The resulting current profile is shown in Fig. 3c.Near the notch we can observe a variation in the current density with the maximum at the tip of the notch.
The simulated current densities on the order of 10 12 A/m 2 would lead to a significant temperature increase due to Joule heating.A detailed study [14] shows that the material, pulse duration, and cooling from the substrate play important roles in the control of the temperature.In this prototype study we ignore all temperature-related effects and possible engineering efforts which would need to be addressed for higher technical readiness levels.
First, we focus on two current densities J x,a = 1.2 × 10 12 A/m 2 and J x,b = 1.1 × 10 12 A/m 2 .We initialise the systems with a Bloch point at x i ≈ 165 nm.The final configurations with applied current are shown in Fig. 3a and b for J x,a and J x,b , respectively.The solid lines show the Bloch-point path from its initial to its final configuration. Figure 3d shows the x position of the Bloch point in the two simulations as a function of simulation time.
The current density J x,b (Fig. 3b) is not strong enough to push the Bloch point past the notch.Instead, the Bloch point gets stuck near the notch at a final position x f,b ≈ 270 nm, to which it moves in a straight line without any deflection in y direction.As a function of time (Fig. 3d), we can see a slow-down as the Bloch point approaches the notch.The motion stops around t = 1 ns: the applied current cannot push the Bloch point further against the restoring force from the notch constriction.
The current density J x,a (Fig. 3a) is strong enough to push the Bloch point past the notch, and the Bloch point stops at x f,a ≈ 550 nm at around t = 3 ns due to the edge repulsion of the sample at x = 600 nm.Near the notch, we can see a small displacement in the −y direction, away from the tip of the notch.In the time-resolved data (Fig. 3d), we can see a slow-down of the Bloch point in front of the notch, very similar to the results for J x,a up to t ≈ 1 ns.The small deviations of the two curves for Bloch-point positions before the notch are caused by the slightly different current strengths.However, for the stronger current, the Bloch point continues to move towards the notch for t > 1 ns.We can see a slight speed increase around t = 1.3 ns, and the Bloch point passes the tip of the notch at around t = 1.6 ns (and x = 300 nm shown as a dashed line in Fig. 3).After passing the notch, we can see a strong speed increase and a fast motion in +x direction until the Bloch point approaches the right sample boundary, where it slows down and eventually stops.
To better understand the effect of the notch size on the pinning, we simulate strips with three different widths w = 100 nm, w = 125 nm, and w = 150 nm for several different current densities.We keep the notch size of n y = 30 nm used before.Results are shown in Fig. 4.
Figure 4a shows the final position of the Bloch point as a function of current density.Final positions below the notch tip at x = 300 nm, visualised by the grey dashed line, mean that the Bloch point cannot move past the notch.Larger final positions mean that the Bloch point moves past the notch.We can see that the minimum current density required to move the Bloch point past the notch increases with decreasing strip width, as can be expected because the fraction by which the overall structure with the embedded Bloch point has to be compressed increases with decreasing strip width.For large current densities, J x ≥ 1.2 × 10 12 A/m 2 , the Bloch point moves past the notch for all strip widths.Here, we can see that the Bloch point can move closer to the right sample boundary when the strip width decreases.This is presumably a result of the fact that the large-scale magnetisation configuration around the Bloch point is more compressed in narrower strips.It is in agreement with our previous work [10], where we find that the optimal distance between Bloch points in a configuration containing multiple Bloch points also decreases with decreasing strip width.It appears that the large-scale configuration around the Bloch point wants to retain its approximately circular shape and reduces its radius due to the narrowness (in y direction) of the strip.
Figure 4b shows the final position as a function of total current through the yz plane at the notch tip, the minimum of the constriction.For similar geometries studied here, i.e. always a notch of the same size at the same x position, we find that the total current required to move the Bloch point past the notch is approximately independent of the strip width.

C. Nanostrip with multiple notches
Based on the previous results, we can develop a protocol to move one or multiple Bloch points past a series of notches in a controlled manner.The overall idea is as follows.For weak current strengths, the Bloch point cannot move past a notch.Hence, we can use a weak current to move a Bloch point to a defined position close to a notch.Subsequently, we can apply a short, strong current pulse that pushes the Bloch point past the notch.Afterwards, we can let the system relax (i.e.switch off the current) or use a weak current to move the Bloch point to the next notch.
Figure 5 demonstrates this process for a single Bloch point in a strip with length l = 1000 nm and four notches at x = 200 nm, x = 400 nm, x = 600 nm, and x = 800 nm.We initialise the system in a configuration containing a single Bloch point between the first two notches at x = 300 nm. Figure 5a shows the strip geometry and the path of the Bloch point, Fig. 5b shows the x position of the Bloch point as a function of simulation time t.
We use a three-step process to move the Bloch point past a notch.(i) We apply a current J x,(i) = 0.5×10 12 A/m 2 to move the Bloch point to the next notch, where it gets trapped.We use a pulse length ∆t (i) = 2 ns for this alignment of the Bloch point to the left of the notch.From the time-resolved data we can see that the Bloch point stops moving after ∆t ≈ 0.5 ns.The longer pulse duration can be useful to ensure that the Bloch point reaches the notch independent of its initial position.Applying the pulse for "too long" does not affect the configuration due to the trapping at the notch.(ii) We apply a strong pulse with J x,(ii) = 4 × 10 12 A/m 2 with pulse length ∆t (ii) = 0.2 ns.This pulse pushes the Bloch point past the notch.A short pulse duration is required to ensure that the Bloch point only moves past one notch.(iii) We remove the current and let the system relax for ∆t (iii) = 2 ns.During this period, the Bloch point moves away from the notch until it reaches its equilibrium position near the centre of the region between the two notches, hereinafter called storage area.In the simulation, the Bloch point reaches its equilibrium position after ∆t ≈ 0.5 ns and does not move for the remainder of ∆t (iii) .We can repeat steps (i) to (iii) to move the Bloch point past a series of notches, as shown in Fig. 5.
Step (iii) is not strictly required to achieve the desired motion past multiple notches.However, it demonstrates several advantages.First, the Bloch point in the free system reaches an equilibrium position in each storage area without an applied current.Hence, successful operation only requires an applied current during a short period of time.This reduces energy consumption of potential devices based on this technology as external energy is only required to change the configuration.Second, the position of the Bloch point at the end of step (ii) is not critical.As long as the Bloch point has moved past the notch, the configuration will automatically converge to a low-energy state with the Bloch point in the desired storage area.This makes the approach more robust and less sensitive to, for example, variations in current pulse duration and notch geometry.
Figure 6 demonstrates a similar process for a configuration containing multiple Bloch points in the configuration HH-HH-TT-TT-HH (following the notation in [10]).We simulate a strip with length l = 1600 nm containing seven notches. Figure 6a shows the initial configuration with the individual Bloch points labelled.
The two large red and blue blobs at x ≈ 300 nm and x ≈ 800 nm are antivortices that form between neighbouring Bloch points of the same type and which have significant magnetisation in the z direction.A more detailed study of the antivortices and their role in a multi-Bloch-point system is provided in Ref. 10.For the following discussion, it is sufficient to focus on the Bloch points.
To simplify the simulation process, we only use steps (i) with ∆t (i) = 5 ns and (ii) with ∆t (ii) = 0.25 ns.We start with (i) a weak current that moves the Bloch points towards the notches where they get trapped to the left of each notch (Fig. 6b).The antivortices experience a repelling force from the Bloch points but do not significantly interact with the notches.Subsequently, we apply (ii) the strong current pulse that pushes each of the Bloch points past the next notch to their right (Fig. 6c).In the configuration at the end of this pulse, at t = 5.25 ns, we can see that individual Bloch points have travelled different distances during the pulse.After the next weak pulse (Fig. 6d) each of the Bloch points is aligned to the left of the next notch, and all Bloch points have the same spacing to their notch.By applying the weak pulse for a sufficiently long period, we ensure that all Bloch points reach their aligned position near the next notch before applying the next strong pulse.The cycle is repeated once more (Fig. 6e and Fig. 6f), and we can see, at t = 15.5 ns, that each Bloch point has moved one notch further (in comparison to Fig. 6d) in the direction of the applied current.

D. T-shape geometry
Finally, we study a single Bloch point in a T-shaped geometry with three storage areas.The geometry is shown in Fig. 7.It has the three storage areas left for x < 200 nm, right for x > 400 nm, and top for y > 150 nm.They are separated by a total of four notches.We initialise the system in a state where it contains a single Bloch point in the left storage area.We apply a series of current pulses of varying strength between different pairs of strip ends to move the Bloch point first to the right storage area, then to the top storage area, and finally back to the left storage area.
Each part of the movement consists of three steps (i) long current pulse with J (i) = 0.5 × 10 Bloch point to the notches where it gets stuck, (ii) short current pulse with J (ii) = 5 × 10 12 A/m 2 to push the Bloch point past the notches, and (iii) free relaxation.The weak pulse (i) is always applied for ∆t (i) = 2 ns, during which the Bloch point moves towards the notch and gets stuck well before the end of the simulation time.The duration of the strong pulse depends on the part of the motion (see below).For the free relaxation in step (iii) we simulate the time evolution of the system until it reaches an equilibrium state (roughly for ∆t (iii) = 2 − 4 ns).
Figure 7a shows the position of the Bloch point during the full cycle.The three parts of the trajectory are shown with a solid orange line for the motion left-right (part 1), a dotted olive line for the motion right-top (part 2), and a dashed cyan line for the motion top-left (part 3).The background in Fig. 7a shows the magnitude of the current density for the current flowing from left to right, streamlines show the current direction.Figures 7b and c show the current flowing from the right to the top and from the top to the left, respectively.
For the motion left-right we apply the strong pulse for ∆t (ii) = 0.7 ns.We can see a slight overshoot at the end of the pulse.During the free relaxation the Bloch point moves in −x direction to its equilibrium position at x ≈ 500 nm near the centre of the right storage area.For the motion right-top we apply the strong pulse for ∆t (ii) = 0.5 ns.Here, we can see a strong overshoot with the Bloch point nearly reaching the top sample boundary at y = 300 nm.During the free relaxation the Bloch point moves back to the central part of the storage area at y ≈ 200 nm.For the final motion top-left we apply the strong pulse for ∆t (iii) = 0.7 ns.After moving past the two notches, the Bloch point gets deflected in +y direction.This deflection is a result of the uneven thickness of the two layers and the deformed, off-centred Bloch point after it moves past the notches and the junction.We have simulated a system with more similar layer thicknesses and find that the effect decreases.During the free relaxation, the Bloch point moves back to the central part of the storage area at x ≈ 100 nm.The slightly different initial and final position in the left storage area result from the differences in the initial and final magnetisation configuration due to the series of applied current pulses and the nearly flat energy landscape for a Bloch point inside a storage area.Qualitatively similar behaviour can be seen in Fig. 5, where the free Bloch point also relaxes slightly off-centred.

II. DISCUSSION
Our micromagnetic simulations show that Bloch points-which are equilibrium configurations in two-layer FeGe nanostrips-can be moved with spin-polarised currents.In uniform strips, Bloch points move along the current direction without a Hall effect, independent of their type.This is different from behaviour of vortices [15][16][17] or skyrmions [18][19][20], and also Bloch points in other systems [11].The straight motion is a special feature of the twolayer system, in which each Bloch point is encapsulated between two vortices with opposite polarisation.The vortices would be subject to deflection in opposite direction but are strongly exchange-coupled across the layer interface.At the Bloch point the forces are compensated, and thus the Bloch point moves in a straight line.Different behaviour has been reported by Gong et al. [11], who have studied current-induced dynamics of a chiral bobber [21][22][23], a skyrmion tube that ends in a Bloch point.They have simulated thin FeGe films with a single material chirality with applied spin-transfer torque and observe a motion of the chiral bobber, and hence also the Bloch point, with a current-dependent Hall effect.
In the system studied here, changes in geometry can be used to modify the motion.We have demonstrated that below a threshold current density a Bloch point can be trapped by a notch.The Bloch point holds its position because the current is pushing it towards the notch constriction, but the Bloch point is repelled from the boundary and does not want to deform, and thus it cannot move past the notch.Using these competing effects, we can choose appropriate current strengths to either neatly align a Bloch point at a notch or move it past a notch.Using a series of current pulses of different strength, we can move an array of Bloch points of different type through strips with multiple notches in a controlled fashion.They retain their initial order and relative distance in terms of empty or occupied storage areas.The additional antivortices between same-type Bloch points do not impede this process, despite not being trapped at the notches themselves.In each storage area we can distinguish between three different local configurations: a HH Bloch point, a TT Bloch point, or no Bloch point.
Furthermore, we have demonstrated that Bloch points can be moved through more complex geometries with multiple possible paths.We have demonstrated this for a T-shaped geometry, where the Bloch point can move along either of the two possible strip ends when being pushed towards the junction depending on the direction of the applied current.In this system, we have added additional constrictions at the junction to create three well-separated storage areas.The Bloch point in the free system reaches an equilibrium position in each of the three storage areas.A weak and subsequent strong pulse can be used to move the Bloch point between storage areas.In a larger system, these two building blocks-constrictions to restrict the Bloch-point motion and junctions with multiple possible paths-can be combined.Such a system can then host an array of Bloch points and the geometrical constraints can be use to manipulate the array, e.g.re-arrange Bloch points with a series of current pulses between different contacts.Successful operation will likely require more device engineering.
Speculating about potential applications, a simple nanostrip containing a series of Bloch points can be used in a racetrack-like [24] design, and the two Bloch-point types can be used for binary data representation.The whole array of Bloch points could be moved with spin currents.Retaining equal spacing would not be required because of the two different types that could encode "0" and "1", which is not the case in skyrmion-based racetrack memories.In a more complex setup we have shown that a series of notches in a strip can be used to create confined "storage areas".Bloch points can be distributed across these areas, where each area can be in one of three states: occupied with a HH Bloch point, occupied with a TT Bloch point, or not containing a Bloch point-with the potential to realise a ternary storage device.The whole configuration could be moved through this strip using a series of current pulses.Pinning of the Bloch points at the notches helps controlling the movement and ensures that the configuration is retained.

A. Micromagnetic simulations
We simulate rectangular two-layer nanostrips with opposite chirality (opposite sign of D) in the two layers (Fig. 1).We fix the thickness of the two layers to t b = 20 nm for the bottom layer and t t = 10 nm for the top layer.We use a strip width of w = 100 nm unless indicated differently.We choose strip lengths that allow for enough space for the Bloch points to move and vary the strip length depending on the number of Bloch points.The energy equation: contains exchange energy density w ex , bulk Dzyaloshinskii-Moriya energy density w dmi , and demagnetisation energy density w d .The magnetisation dynamics is simulated using the Landau-Lifshitz-Gilbert equation [25,26] with currents modeled with the Zhang-Li model [27]: where γ = 2.211 × 10 5 m/As is the gyromagnetic ratio, α is the Gilbert damping, and is the spin-drift velocity.Here, J is the electric current density, P is the polarisation, µ B the Bohr magneton, e the electron charge, and β the non-adiabatic parameter.Material parameters are based on FeGe [6]: A = 8.87 pJ m −1 , D = 1.58 mJ m −2 , M s = 384 kA m −1 , and α = 0.28 [28].We use spatially varying current densities J of different magnitudes in our simulations and keep the other variables in Eq. 3 fixed to P = 0.5 and β = 2α = 0.56.All micromagnetic simulations are performed using Ubermag [29,30] with OOMMF [31] as the computational backend and an extension for DMI for crystalclass T [32,33].We have generalised the Zhang-Li OOMMF extension, in order to simulate current flowing in arbitrary directions.The modified extension is available on GitHub [34].
As a starting point for all simulations we create rectangular nanostrips containing Bloch points at the desired positions, following a protocol that we developed previously [10].For rectangular nanostrips we can then directly add the Zhang-Li term with a uniform current density to the dynamics equation and simulate the Bloch point dynamics.For more complex geometries, we first modify the nanostrip to have the desired shape and again minimise the energy to start from a relaxed configuration.Then, we add the Zhang-Li current using the current profile obtained form the finite-elements simulations outlined below and simulate the Bloch point dynamics.

B. Locating Bloch points
To analyse the Bloch-point motion we need to locate and track the individual Bloch points.We use a combination of two different methods to precisely locate the Bloch points.Tracking is then simply done based on the distance of Bloch points in two consecutive time steps.In all simulations the Bloch points are clearly separated and their number is kept fixed, hence identifying the individual Bloch points using this simple distance-based method is sufficient.
We first compute the approximate location of the Bloch points (within cell accuracy) based on a classification mechanism that we developed previously [10].We briefly summarise the method here.Bloch points can be identified as sources and sinks of the emergent magnetic field.To locate Bloch points along one direction we compute the flux of the emergent magnetic field through a series of volumes that we increase along the respective direction.We find quantised jumps in the total flux, whenever the volume includes an additional Bloch point.Based on the sign of the jump we can determine the Bloch-point type.The approximate location of the Bloch point is given by the upper integration boundary.To locate a Bloch point in three dimensions we can repeat this calculation along different directions, where we limit the integration volume along the directions where we have already located the Bloch point.That way we can locate individual Bloch points in a configuration containing multiple Bloch points.
To locate a Bloch point with sub cell size accuracy, we can compute the centre of mass of the emergent magnetic field B e , defined as: where This method only works if the considered volume contains a single Bloch point.Furthermore, magnetisation tilts at sample boundaries can affect the result.To get reliable results, we first compute the approximate location of all Bloch points.Then, we can compute the precise location of each Bloch point by only considering a small subvolume V around the approximate position.In the majority of the work we only use the computationally less expensive locating method with cell-size accuracy.

C. Current profile
We use Python libraries, which are part of the FEniCSx project [35][36][37], to numerically compute the current profile in non-rectangular nanostrips.Additionally, we use Gmsh [38] to create the irregular mesh for the geometry.
For an electric conductor, according to the Ohm's law, the electric current density J is defined via: where E is the electric field and σ the electric conductivity.Further, the principle of charge conservation yields: According to Maxwell's equations, in the absence of a time varying magnetic field, the electric field is conservative.Hence, it can be expressed in terms of an electric potential as:

FIG. 1 .FIG. 2 .
FIG.1.Geometry of the nanostrips studied in this work.All nanostrips consist of two layers with opposite chirality (light and dark grey), length l and width w are adjusted as required.In a later part of this work we also study the effect of notches with width nx and depth ny in the strip.They extend throughout the whole sample thickness, as shown here.The colour and the streamlines on the top surface show the current density and direction in the nanostrip with a notch.

FIG. 3 .
FIG. 3. Motion of a Bloch point in a nanostrip (l = 600 nm, w = 100 nm) with a single notch under applied current.(a, b) Final configuration and Bloch-point trajectory for two different current strengths: (a) the Bloch point can move past the notch for Jx = 1.2 × 10 12 A/m 2 ; (b) the Bloch point is trapped at the notch for Jx = 1.1 × 10 12 A/m 2 .(c) Simulated current profile.(d) Position of the Bloch points in (a) and (b) as a function of simulation time.
FIG.4.Final equilibrium position of a Bloch point in a strip with a notch as a function of applied current for three different strip widths.(a) The minimum required current density to move the Bloch point past the notch at x = 300 nm increases with decreasing strip width.(b) The Bloch point moves past the notch at a critical total current that is independent of the details of the geometry.In both subfigures, we can see that narrower strips compress the overall structure and allow the Bloch point to move closer to the notch or sample edge.

2 JFIG. 5 .
FIG. 5. Driving a single Bloch point past several notches using a series of current pulses of different strength.(a) Strip geometry and trajectory of the Bloch point.(b) Position of the Bloch point in x direction as a function of simulation time.Dashed and dotted lines indicate the locations of the notches and centres of the wide areas in between, respectively.

FIG. 6 .
FIG.6.Movement of a configuration containing five Bloch points past two notches by applying a series of current pulses of alternating lower and higher strength.The initial configuration and the distribution of the Bloch points across storage areas is retained.

FIG. 7 .
FIG. 7. Movement of a single Bloch point through a T-shaped structure when applying a series of current pulses along different directions.The Bloch point is initialised in the left storage area, its position during the simulation is shown with the thick line in (a).The Bloch point first moves to the right storage area during part 1 with current applied from the left to the right as shown in the background of (a), then to the top during part 2 with current applied from the right to the top as shown in (b), and finally back to the left during part 3 with current applied from the top to the left as shown in (c).