---
title: "How to read a skyrmion charge and a pinning threshold in a simulation"
description: "Read Kim and Mulkers (arXiv:2006.13336v2) figure by figure, then apply the same checks to this course’s Lab records of charge, edge escape and depinning."
canonical_url: "https://sandboxphysics.com/stories/micromagnetics/reading-skyrmion-charge-and-pinning-results/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/micromagnetics/reading-skyrmion-charge-and-pinning-results/"
last_modified: "2026-10-29"
---

[Micromagnetics · A course with experiments](https://sandboxphysics.com/stories/micromagnetics/)

L4 · Chapter 8

# How to read a skyrmion charge and a pinning threshold in a simulation

Open arXiv:2006.13336v2 next to this page: J.-V. Kim and J. Mulkers, “On quantifying the topological charge in micromagnetics using a lattice-based approach”. Its three examples each separate a numerical error in the charge from a real change: a film without edges at finite temperature, a track where pairs are created, and a disc with edges. After the paper, this guide applies the same checks to the skyrmion Lab records, then to the pinning thresholds, which have no paper of this kind behind them.

Sandbox Physics · 2026-10-29

In this chapter

[All eight chapters](https://sandboxphysics.com/stories/micromagnetics/)

Before you start

Chapters 6 and 7, or the two definitions of the topological charge and the Thiele equation.

## Equation 1 and Figure 1: the charge from derivatives

Equation 1 is the continuum charge of Chapter 6, evaluated with finite-difference derivatives on the cells. Figure 1(a) shows a skyrmion at zero temperature, coloured by $m_z$, and panel (b) maps every cell onto the unit sphere, with lines for the bonds between neighbouring cells. The mesh of bonds covers the whole sphere once. Equation 1 gives −0.99978290.

Panels (c) and (d) add random disorder to every moment. The mesh on the sphere is distorted but still covers it once, so the charge has not changed; Equation 1 now gives −0.97115153. What the figure establishes: the finite-difference value loses accuracy when neighbouring moments differ a lot, even though the texture is unchanged.

The common misreading is to take −0.971 as a skyrmion that has partly come apart. The topology is the same in panels (b) and (d); only the estimate of the derivatives got worse.

## Equations 2 and 3 and Figure 2: counting with triangles

Equations 2 and 3 count the charge from signed solid angles of triangles of three neighbouring moments, the Berg and Lüscher construction. Figure 2(a) and (b) show the two ways of splitting a square of four cells into two triangles. Panel (c) averages both, so each triangle carries weight one half. Panel (d) handles a finite shape: crosses mark empty cells, and at a curved edge, where only one of the two splittings fits, the lone triangle gets weight 1.

What it establishes: the lattice value needs no derivatives, so it does not degrade when neighbours differ a lot. The misreading to avoid is treating it as exact everywhere. Only when the triangles tile a closed surface, as in a periodic film, is the sum a whole number for a smooth texture. With open edges the sum can fall between whole numbers.

$$
\tan\frac{q_{ijk}}{2}=\frac{\mathbf m_i\cdot(\mathbf m_j\times\mathbf m_k)}{1+\mathbf m_i\cdot\mathbf m_j+\mathbf m_i\cdot\mathbf m_k+\mathbf m_j\cdot\mathbf m_k},\qquad Q=\frac{1}{4\pi}\sum_{\langle ijk\rangle}q_{ijk}
$$

## Figure 3: a film without edges at 100 to 400 K

Section 3.1 describes the run: a 200 nm square film, 0.6 nm thick, 256 by 256 cells, periodic in the plane, with $A=16\,\mathrm{pJ/m}$, $M_s=1.1\,\mathrm{MA/m}$, $D=2.7\,\mathrm{mJ/m^2}$, $\alpha=0.3$ and no dipolar interaction. The charge is sampled every 5 ps for 100 ns. In Figure 3 each panel is one temperature; the insets are histograms of the finite-difference values.

The finite-difference curve fluctuates, its spread grows with temperature, and the peak of its histogram does not sit at −1. The lattice curve stays nearly flat; the authors put its remaining wobble, values from −1.0000008 to −0.9999996 at 400 K, down to single-precision arithmetic. At 400 K the lattice curve also shows transient −1/2 and −1 states, which the authors read as thermally driven creation and destruction of merons and skyrmions.

What it establishes: in a film without edges the lattice charge moves only when something real happens. The misreading is to average the finite-difference curve over time and report that as the charge; that average lies away from −1.

## Figure 4: a track at four mesh sizes

Section 3.2 uses a 1000 by 125 nm track with $D=0.1\,\mathrm{mJ/m^2}$ and $\alpha=0.05$. A 25 nm disc with in-plane anisotropy acts as a nucleation zone, and a current of $25\,\mathrm{TA/m^2}$ without non-adiabatic torque sheds skyrmion-antiskyrmion pairs from it. Panels (a) to (d) use 1024 by 128 cells down to 384 by 48.

On the finest mesh both definitions agree except for a few samples at creation and annihilation. As the cells grow, the finite-difference curve shows more non-integer values and then smooth drifts, while the lattice curve keeps plateaus near whole numbers in every panel. What it establishes: smooth non-integer drifts on a coarse mesh come from the derivatives.

The misreading to avoid: the four panels do not show the same sequence of events. The authors explain that the circular nucleation zone is cut into cells differently at each mesh size. Different events across meshes come from the discretized geometry; each charge is computed correctly on its own mesh.

## Section 3.3 and Figure 5: a disc with edges

Now the edges matter. In a 200 nm disc on the same 256 by 256 grid, a skyrmion at zero temperature gives −0.9304853 from finite differences and −0.9468352 from the lattice. The authors attribute the departure from −1 to the tilt of the edge moments caused by the chiral boundary condition, the tilt Rohart and Thiaville derive (Chapter 6).

In Figure 5 both curves fluctuate at finite temperature, the lattice one less, and the authors attribute those fluctuations to the edge moments. At 300 and 400 K the moving average (1 ns window, black line) drops sharply to zero: the skyrmion is destroyed at the boundary. Small wiggles in the average during that process come from partly reversed regions at the edge.

What it establishes: in a confined structure a non-integer charge is expected, and the charge can leave through the edge. The misreading is to treat −0.9468 as a numerical error and try to remove it by refining the mesh.

Worked example

## Applying the checks to the skyrmion Lab

The skyrmion Lab exports its record as JSON, and its benchmark table gives the mesh comparison. Read each charge with one question: does it move when the cells are halved?

In a film without edges the lattice charge is −1, while the finite-difference charge is −0.956 with 2 nm cells and −0.989 with 1 nm cells. The error drops by about four for half the cell size, as expected for second-order differences, so that deficit is numerical.

In the 60 nm track the lattice charge is −0.999935 with the skyrmion centred and −0.999631 at 23.6 nm from the lower edge; with 1 nm cells, −0.999937 and −0.999636. Halving the cells does not move the deficit, so it belongs to the edge. A track without a skyrmion gives 0 in both definitions.

Then the case most often misread: a charge that changes at a boundary. With $\beta=0$ and $u=150\,\mathrm{m/s}$, the skyrmion is pushed through the lower edge and is gone after 0.64 ns with 2 nm cells and 0.63 ns with 1 nm cells. In between, 16 and 17 samples taken every 10 ps lie between −0.9 and −0.1, the largest change between samples is 0.23, and the final charge is within $10^{-7}$ of zero. The charge slides out through the edge on both meshes, at nearly the same time. In a periodic film the lattice charge of a smooth texture is a whole number and could only step. A smooth slide through an edge that stays the same on both meshes is a physical event: the skyrmion leaving the track.

## Reading a pinning threshold

No paper gives a reference value for the Lab’s thresholds, so read them from the run rule. A run is held when, after the first nanosecond, the centre moves slower than 0.2 m/s over 0.5 ns. It has escaped when the centre passes 95 nm along the track or the skyrmion vanishes, and it is undecided after 15 ns. Bisection runs five steps from 30 to 50 m/s on the 2 nm mesh; the 1 nm mesh is run only 8 per cent below and above the bracket.

The weak spot holds the skyrmion at 41.875 m/s and lets it go at 42.5 m/s; the edge, with $\beta=0$, holds it at 38.75 m/s and not at 39.375 m/s. Each is a bracket: its 0.625 m/s width is the bisection step, not an error bar. The 1 nm runs show only that the mesh moves each threshold by less than 8 per cent. The thresholds also depend on the start position and the history of the run, at about the 1 m/s level.

Iwasaki et al. say which force sets each threshold: $|F_{\mathrm{pin}}|/|G|$ for a free skyrmion and $|F^{\mathrm{pin}}_x|/(\beta\mathcal D)$ in a channel. That tells you which parameters matter, not the number for this track. The misreading is to quote 42 m/s as a property of the film. It is a zero-temperature result for one weak spot, one start position and this rule.

## A checklist for the next result

For a charge: which definition was used; whether the boundary is periodic or open, and whether DMI tilts the edge; what happens when the cells are halved; the temperature, the averaging window and the floating-point precision. For a threshold: the rule for held and escaped, the time horizon, the width of the bracket, the mesh check, the start position, and which forces the Thiele equation says must balance.

An experiment to think through

## Predict, change, explain

1. Before running it, predict how the two charge curves will leave −1 when a strong current pushes the skyrmion through the edge.
2. In the skyrmion Lab choose “Pushed out through the edge”, watch the two charge curves, then export the record and count the samples between −0.9 and −0.1.
3. Explain why a charge that slides from −1 to 0 here is a physical event, and which run would confirm it.

[Drive a skyrmion along a track](https://sandboxphysics.com/labs/skyrmion-track-pinning/)

The macrospin Lab treats the strip of muMAG Standard Problem 4 as one moment. The wall and skyrmion Labs use the Pt/Co film of Thiaville et al. with local stray-field terms. All three run at zero temperature.

## Try explaining it yourself

### 1. In Kim and Mulkers’ Figure 4 the pair-creation events happen at different times on the four meshes. Is one of the charge definitions wrong?

Read an explained answer

No. The authors explain that the circular nucleation zone is cut into cells differently at each mesh size, so the events differ. Compare the plateaus of each curve, not the timing of events across meshes.

### 2. A disc simulation gives a lattice charge of −0.947 at zero temperature. What would you check before calling it an error?

Read an explained answer

Halve the cells and see whether it moves. Compare the edge tilt with $\sin\theta_{\mathrm{edge}}=\Delta/\xi$. Compute the same skyrmion in a periodic film, where the lattice charge should be −1. Kim and Mulkers find −0.9468 in their disc and attribute it to the edge tilt.

### 3. The 2 nm bracket for depinning is 41.875 to 42.5 m/s, and the 1 nm runs are held at 38.8 and escape at 45.6 m/s. What may you state?

Read an explained answer

On the 2 nm mesh the threshold lies in the bracket. On the 1 nm mesh it lies between 38.8 and 45.6 m/s, so the mesh shifts it by less than 8 per cent. There is no independent reference value, and the result holds for zero temperature, this weak spot and this start position.

## Sources to read alongside

1. [Rohart & Thiaville, Skyrmion confinement in ultrathin film nanostructures in the presence of Dzyaloshinskii-Moriya interaction, Physical Review B 88, 184422 (2013), arXiv:1310.0666](https://arxiv.org/abs/1310.0666)

   Read in full: the Pt/Co/AlOx parameters and the local treatment of the stray field in ultrathin films, the free-edge boundary condition and edge tilt (Eqs. 3 to 8, with the full-dipolar check of Fig. 1), the isolated-skyrmion equation (Eqs. 15 and 16) and the approximate radius (Eq. 18).

2. [Iwasaki, Mochizuki & Nagaosa, Current-induced skyrmion dynamics in constricted geometries, Nature Nanotechnology 8, 742 (2013), arXiv:1310.1655](https://arxiv.org/abs/1310.1655)

   arXiv version read in full: the Thiele equation for a skyrmion driven by spin-transfer torque (Eq. 4), the edge-glide speed (Eqs. 5 and 6), the pinning thresholds in a free plane and in a channel, edge repulsion and annihilation at the edge (Fig. 5). The simulations are on a lattice spin model, not the Pt/Co film of this course. The journal version was not opened.

3. [Kim & Mulkers, On quantifying the topological charge in micromagnetics using a lattice-based approach, IOP SciNotes 1, 025211 (2020), arXiv:2006.13336](https://arxiv.org/abs/2006.13336)

   Read in full: the finite-difference charge (Eq. 1), the lattice charge from signed solid angles (Eqs. 2 and 3, Fig. 2), the three tests of Sec. 3 (Figs. 3 to 5) and the disc example in which edge tilt makes both values non-integer.

[Previous A current pushes a skyrmion at an angle, and edges and weak spots decide where it ends up](https://sandboxphysics.com/stories/micromagnetics/current-driven-skyrmions/) [Back to the course All eight chapters and the Labs](https://sandboxphysics.com/stories/micromagnetics/)
