Figure 1(iii): Comparing the Profiles

This notebook reproduces figure which compares the magnetisation profiles* of the incomplete skyrmion down state (a) and the isolated skyrmion state with core down (f) as they change with the applied field.

* The magnetisation profile is the the out-of-plane magnetisation component, $m_z(x)$, sampled across the diameter from the top surface of the sample. The samples were taken from a nanocylinder with thickness, $t=20$nm.


In [1]:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

In [2]:
xt = np.linspace(-75, 75, 201)
d = 150
thickness = 20

states_incomplete_skyrmion = [(50, r'-3M$_s$', 'blue'),
                              (150, r'-1M$_s$', 'lightskyblue'),
                              (200, r'0', 'mediumpurple')]

states_isolated_skyrmion = [(220, r'0.4M$_s$', 'lightsalmon'),
                            (250, r'1M$_s$', 'red')]

fig = plt.figure(figsize=(9, 3))
ax = fig.add_subplot(111)

for state in states_incomplete_skyrmion:
    data = np.load("../data/figure_1/magnetisation_profiles/"
                   "hysteresis_probe_d150_h{}_mz{}_200.npy".format(thickness, state[0]))
    ax.plot(xt, data, '--', color=state[2], linewidth=2.5, label="{}".format(state[1]))
    
for state in states_isolated_skyrmion:
    data = np.load("../data/figure_1/magnetisation_profiles/"
                   "hysteresis_probe_d150_h{}_mz{}_200.npy".format(thickness, state[0]))
    ax.plot(xt, data, '-.', color=state[2], linewidth=2.5, label="{}".format(state[1]))

plt.ylabel(r'$\mathrm{m}_{\mathrm{z}}$', fontsize=25)

ax.set_xlim([-75, 75])
ax.set_xticks([-75, 0, 75])
ax.set_xticklabels(["-d/2", 0, "d/2"], fontsize=18)
plt.yticks([-1, 0, 1], fontsize=18)
ax.set_ylim([-1.02, 1])

ax.text(-12.5, 0, 't=20nm', fontsize=20)

ax.legend(loc='upper center', bbox_to_anchor=(0.5, 1.25),
          ncol=5, fancybox=True, fontsize=15.2)

plt.savefig('pdfs/figure-1iii.pdf')

plt.show()