# MCMChaos: Improvising Rap Music with MCMC Methods and Chaos Theory

Robert Kimelman
Johns Hopkins University
<EMAIL_ADDRESS>

###### Abstract

A novel freestyle rap software, MCMChaos 0.0.1, based on rap music
transcriptions created in previous research is presented. The software has
three different versions, each making use of different mathematical simulation
methods: collapsed gibbs sampler and lorenz attractor simulation. As far as we
know, these simulation methods have never been used in rap music generation
before. The software implements Python Text-to-Speech processing (pyttxs) to
convert text wrangled from the MCFlow corpus into English speech. In each
version, values simulated from each respective mathematical model alter the
rate of speech, volume, and (in the multiple voice case) the voice of the
text-to-speech engine on a line-by-line basis. The user of the software is
presented with a real-time graphical user interface (GUI) which
instantaneously changes the initial values read into the mathematical
simulation methods. Future research might attempt to allow for more user
control and autonomy.

_K_ eywords rap music $\cdot$ markov chain monte carlo $\cdot$ lorenz
attractor

##  1 Introduction

There has been a great deal of previous research on rap music lyric generation
[1, 2]; but, as pointed out in other research [3], this is not fully
representative of the intricacies of rap music, as it contains complex rhyme
schemes, intonation patterns, and other dynamically changing characteristics.
In addition, comparatively less research has been done on rap music generation
that includes real-time manipulation of parameters and involves an end user.
Nonetheless, there have been very good efforts so for in this domain [4, 5];
we hope to take a new approach to this using unique mathematical simulation
and rhythmic-making techniques. Our software is also open-source, so that it
can be used for other research and potentially educational purposes. Markov
Chain Monte Carlo (MCMC) methods are widely used for computational rap music
analysis and generation [6, 7], as well as several other statistical and
machine learning methods for music generation as a whole [8, 9, 7].

We propose a rap music generation software based on transcriptions in MCFlow:
A Digital Corpus of Rap Transcriptions [10] called MCMChaos 0.0.1. The text
versions of these transcriptions were obtained using a function written in the
R programming language which is also integrated in the latest version of
humdrumR: a user-friendly software for computational music analysis [11]. What
makes MCMChaos unique in the field of rap music generation is that it allows
for an interactive experience that can be used for perceptual and
computational studies of rap music as well as for STEAM educational purposes.
Students can learn about mathematical simulation, programming, and music while
having fun and developing their own independent creations. The code is also
open-source, so students can tweak the code to their liking to experiment and
observe how it works. We invite any collaborators and students to improve or
build upon the code.

##  2 Text Processing

We obtained the corpus of rap music transcriptions from the following GitHub
repository [10]. The transcriptions were originally in syllable format, so we
wrote a function to convert them into text format. The code for this
transformation is rather simple. The function takes in a boolean argument
nullTokens which represents whether or not the user would like to output the
corresponding text format with tokens representing where the additional
syllables would be for a given word. The code for when nullTokens = TRUE is
left out because we used nullTokens = FALSE for this software. The function
begins by checking that the character vector read into the text function is in
proper format:

⬇

text <- function(data, nullTokens = TRUE){

print(silbeFormat(data))

# check that the char vector is in correct syllable format

if(nullTokens == FALSE){

# if the user does not want null tokens to replace instances of syllables

# occurring after the first syllable of a multi-syllable word

data <- toString(data[,1])

# transform character vector to string

data <- stringr::str_replace_all(data, "-,␣-", "")

# remove all instances of -, -, which represents a space between two syllables

# which when combined form a word

data <- stringr::str_replace_all(data, ",", "")

# remove all instances of , which occur after every word except the last one

data <- as.list(strsplit(data, ’\\\s+’)[[1]])

# get all of the words as a list

transpose1 <- t(data)

transpose2 <- t(transpose1)

data <- as.character(transpose2)

# transform the data further to get desired character vector

}

if(nullTokens == TRUE)…

}

A mapping from the original format to text format looks like this, with both
nullTokens = TRUE and nullTokens = FALSE shown for illustrative purposes:

original |  | nullTokens = FALSE | nullTokens = TRUE
---|---|---|---
Now |  |  | Now
let |  |  | let
me |  | Now | me
wel- |  | let | welcome
-come |  | me | .
e- | $\rightarrow$ | welcome | everybody
-very- |  | everybody | .
-bo- |  | to | .
-dy |  | the | .
to |  | wild | to
the |  | wild | the
wild |  | west | wild
wild |  |  | wild
west |  |  | west

##  3 Collapsed Gibbs Sampler Implementation

We chose to use Collapsed Gibbs Sampler specifically for its usefulness in
simulating correlated data from a target distribution. In actual rap music,
the performer should rap such that the characteristics of each line are
somehow related; otherwise, the music would likely not sound rhythmic and
pleasurable to listen to.

The target distribution and sampling method is as follows:

Simulate $\begin{bmatrix}x\\\ y\\\ z\end{bmatrix}\sim
N\Bigg{(}\begin{bmatrix}50\\\ 45\\\ 1\\\
\end{bmatrix},\begin{bmatrix}1&0&\rho\\\ 0&\rho&0\\\ \rho&0&1\\\
\end{bmatrix}\Bigg{)}$. Then we can estimate the variance as the determinant
of the covariance matrix: $1(1(\rho)-0^{2})+0+\rho(\rho^{2})$.

.

A Gibbs Sampler might try to make use of the following distributions :

$X\mid Y,Z\sim N(E[X\mid Y,Z],\sqrt{\rho+\rho^{3}})$

$Y\mid X,Z\sim N(E[Y\mid X,Z],\sqrt{\rho+\rho^{3}})$

$Z\mid X,Y\sim N(E[Z\mid X,Y],\sqrt{\rho+\rho^{3}})$

Collapsed Gibbs Sampling will instead sample from $x\mid y$ and $y\mid x$, and
then we can infer $E[Z\mid X,Y]$ based on $E[x\mid y]$ and $E[y\mid x]$ and
obtain a fairly accurate sample.

We know that $f(x,y,z)$ can be written as $f(z\mid x,y)f(x,y)$. So, as stated,
we can first sample from $x\mid y$ and $y\mid x$ and proceed to sample from
$z\mid x,y$.

Since we know $E[x\mid y]=\rho y$ and $E[y\mid x]=\rho x$, then we can
estimate $E[z\mid x,y]=\rho x+\rho y$.

Therefore, our Collapsed Gibbs Sampling Method makes use of the following
distributions:

$X\mid Y,Z\sim N(E[X\mid Y],\sqrt{\rho+\rho^{3}})$

$Y\mid X,Z\sim N(E[Y\mid X],\sqrt{\rho+\rho^{3}})$

$Z\mid X,Y\sim N(E[Z\mid X,Y],\sqrt{\rho+\rho^{3}})$

$=$

$X\mid Y,Z\sim N(\rho*y,\sqrt{\rho+\rho^{3}})$

$Y\mid X,Z\sim N(\rho*x,\sqrt{\rho+\rho^{3}})$

$Z\mid X,Y\sim N(\rho*x+\rho*z,\sqrt{\rho+\rho^{3}})$

Through trial and error, we were able to implement a Collapsed Gibbs Sampler
version of the software which converges to the target distribution while
printing values that fall within a specified range. We tweaked the sampling
method in such a way because the voice type, volume, and rate of speech only
take on a particular range of values (voice: $|$-48$|$ to 48, volume: $|$-1$|$
to 1, and rate of speech is only intelligible up to a certain value which
differs depending on the voice type, but often $\approx$ 1 is the lower limit
and $\approx$ 500 is the upper limit, with values between 1-50 being optimal
depending on the voice. To test that our sampling method was converging to the
target distribution, we simulated 10,000 samples with the given initial values
of $x=50$, $y=45$, and $z=1$. Our sampling method did indeed converge to the
target normal distribution, as can be seen in the histograms below.

To further verify our results, we did another 100 samples, and here we show
trace plots of the paths that the simulation took for each value. These trace
plots illustrate that our simulations are indeed converging.

The code for the simulation is as follows:

⬇

def collapsedgibbs3NormV(n, rho, x, y, z):

mat = mat=np.zeros((n,3))

mat[0, ] = np.array([x,y,z])

for i in range(1,n):

x = np.random.normal(rho * y, math.sqrt(rho+rho**3), 1)

y = np.random.normal(rho * x, math.sqrt(rho+rho**3), 1)

z = np.random.normal(rho * x + rho * y, math.sqrt(rho+rho**3), 1)/100

mat[i, ] = [x,y,z]

return(mat)

We divided z by 100 to ensure that the values will usually be $<$ 1, but this
does not affect convergence to the normal distribution as shown in the plots
above.

###  3.1 Interface

The text-to-speech function is as follows:

⬇

def text_to_speech(numberOfLines = 1, startingPoint = 1, rho = 0.99, x = 50, y
= 45,

z = 0):

engine = pyttsx3.init()

engine.setProperty("volume", z)

engine.setProperty("voice", voices[y].id)

engine.setProperty("rate", x)

if(z !=0):

sample = collapsedgibbs3NormV(numberOfLines, rho, x, y, z)

print(sample)

for i in range(startingPoint, startingPoint + len(sample)):

engine = pyttsx3.init()

rows[i][0] = rows[i][0][1:]

str1 = ”.join(rows[i])

if(abs(sample[i-startingPoint,0]) >= 20 and

abs(sample[i-startingPoint,0]) <= 1000 and

abs(sample[i-startingPoint,0]) != 0):

engine.setProperty("rate", abs(sample[i-startingPoint,0]))

else:

engine.setProperty("rate", 50)

engine.setProperty("voice", voices[7].id)

if(abs(sample[i-startingPoint,2]) <= 1):

engine.setProperty("volume", sample[i-startingPoint,2])

else:

engine.setProperty("volume", 0.5)

engine.say(str1)

engine.runAndWait();

engine.stop()

The code for multiple voices looks the same with the exception of the portion
of the code responsible for setting the voice. In the multiple voice version,
it is:

⬇

if(int(sample[i-startingPoint,1]) > 47):

engine.setProperty("voice", voices[17].id)

else:

engine.setProperty("voice", voices[int(sample[i-startingPoint,1])].id)

The GUI looks like the following:

The user can first alter the number of lines they’d like to be performed (max.
= 10), the starting point of the rap in the MCFlow dataset [10], the
correlation between the values ($\rho$), and the initial x (rate of speech), y
(voice), and z (volume) values read into the collapsed gibbs sampler
simulation. Once the value for z is changed to a value other than 0, then the
software will proceed to sample and utter the lines desired by the user.

##  4 Lorenz Attractor Implementation

myequation

$\BODY$

(1)

The lorenz system can be modeled by the following differential equations:

dxdt

= σ(y-x); dydt = x(ρ-z)-y; dzdt = xy-βz

Implemented in Python, this is:

⬇

def chaosTheoryXYZ(n,time, sigma, rho, beta, x, y, z):

pointFinal = []

for i in range(0,n):

dx = (sigma * (y - x))*time

dy = (x * (rho - z) - y)*time

dz = (x * y - beta * z)*time

x = x + dx

x = get_digit(x,0)*100

y = y + dy

z = z + dz

z = get_digit(z,0)/10

point = [x, y, z]

pointFinal += [point]

return(pointFinal)

This is a bit of an adaptation of the original lorenz attractor system and
takes a simple approach to solving the differential equations [12]. Since this
simulation eventually yields very large numbers, we’ve chosen to modify it
such that only the first digit of x and y are used and then multiplied by 100
and $\frac{1}{10}$ respectively in order to obtain values that fall within the
permissible range [13].

###  4.1 Interface

The interface looks the same as that with the collapsed gibbs sampler
implementation, but with more values that can be altered and a slightly
different output:

##  5 Own Voice Implementation

In addition, we have also included an implementation that allows the user to
rap in their own voice with the help of a previous implementation [14]. This
implementation utilizes the CMU Pronouncing Dictionary and sounds made by the
user of the software (current implementation has Kimelman’s voice). The user
can type in any word or phrase they’d like to hear. The software can also be
modified to work with the MCFlow dataset [10] and potentially in tandem with
either mathematical simulation, which will be included in a later version of
the software.

##  6 Simplistic Yet (More) Rhythmic and Realistic Implementation

This implementation does not make use of either mathematical simulation
method, but instead chooses a random number between 170-200 as the rate of
speech for voice number 7 for particular line segments broken into either
$\frac{1}{4}$, $\frac{1}{3}$, or $\frac{1}{2}$ size. As an example, the Python
code for the $\frac{1}{2}$ size version is as follows:

⬇

def text_to_speech(numberOfLines = 1, startingPoint = 1, rho = 0.99, x = 50, y
= 45, z = 0):

# 1/2 version

engine = pyttsx3.init()

engine.setProperty("volume", z)

engine.setProperty("voice", voices[7].id)

engine.setProperty("rate", x)

if(z !=0):

sample = collapsedgibbs3NormV(numberOfLines, rho, x, y, z)

for i in range(startingPoint, startingPoint + len(sample)):

engine = pyttsx3.init()

rows[i][0] = rows[i][0][1:]

str1 = ”.join(rows[i])

str1 = str1.replace("(", "")

str1 = re.split(’\s+’, str1)

engine.setProperty("rate", randrange(170,200))

rate = engine.getProperty("rate")

if(rate > 185):

str2 = str(str1)

str2 = str2.replace(",","")

engine.say(str2)

engine.runAndWait();

engine.stop()

print(str2)

else:

str2 = str(str1[0:int(len(str1)/2)])

str2 = str2.replace(",", "")

engine.say(str2)

engine.setProperty("rate", (5/4)*rate)

engine.setProperty("volume", z+0.15)

str3 = str(str1[(int(len(str1)/2)):len(str1)])

str3 = str3.replace(",","")

engine.say(str3)

engine.runAndWait();

engine.stop()

print(str3)

This version was made with the intention to achieve a more "realistic" (i.e.,
rhythmic) version that sounds more like a human rapper. In the original
mathematical simulation methods, the changing values alter the utterances
line-by-line, but since rapping typically includes an oscillating and changing
voice within lines, we decided to include this simpler implementation which
sounds a bit more rhythmic.

##  7 RoboRapRhythm Implementation

In this implementation, an automatic lyrics-to-time aligner with millisecond
precision was used [15] to program a text-to-speech algorithm such that each
line was said at their respective starting points. The first song used is
called "Welcome to the Party" by rapper Pop Smoke.

##  8 Musical Properties

This software was written with the intent to embody specific musical
characteristics, some specifically in relation to musical improvisation.
First, given the importance of the presence of silence in music, the software
accounts for that and allows for values of 0 in the simulations. In addition,
given the nature of the step-wise process in which computers read code, there
is a constant pause between each rap line as the computer takes a new sample
from one of the mathematical simulations. This is a vital, well-known
characteristic of rap music, in which the performer takes a slight pause in
between each line for emphasis. This pause is one of the primary distinctions
between rapping and speaking.

Furthermore, in improvisation, there is an inherent feature of randomness that
one hopes will culminate in order. Both the lorenz attractor and collapsed
gibbs sampler implementations are chaotic and random; yet the sampling
distribution of the collapsed gibbs sampler follows a consistent normal
distribution, with more predictable, but still nonetheless random, outputs and
the lorenz attractor 3D graph results in an oscillatory plane that looks like
a butterfly (hence, the butterfly effect).

Interestingly, our simplest implementation is the most nuanced in terms of its
musical properties. One of the main goals of this project was to generate a
voice that can be reliably recognized as a rapping voice. As we were
prototyping the software, we realized that it could be made more musical if
there were variations of the rapping voice within lines. If this were not
present in rap music, one would likely find it less entertaining and
attention-grabbing.

##  9 Obstacles and Future Directions

This is a first prototype; thus, there are many improvements that can be made.
The voices used are not as rhythmic as we’d like them to be. To create a
software that raps such that it is nearly indistinguishable from a human
rapper, we predict that this will likely take a novel text-to-rap algorithm
that does not make use of previous text-to-speech processors, which we hope to
include in a later version.

In addition, it takes some getting used to the simulations for the user to
understand how it works and get random yet efficient samples that result in a
desired behavior (for example, chaotic).

Furthermore, while making the software, it was difficult to find mathematical
simulations that both obey both mathematical laws and fit into the allowed
range of values for the Python Text-to-Speech parameters. There were many
working prototypes that obeyed one set of laws but not the other and vice
versa, and some of course that did not obey either set.

We also hope to integrate human-computer interaction and perceptual studies
with this software, such as making surveys that measure a user’s level of
expressivity, enjoyment, and control of the software, as well as whether or
not audio clips of this software are actually perceived as rap music (or
poetic).

##  10 Acknowledgments

The author would like to thank Alexander Cohen and Nathaniel Condit-Schultz
for their guidance and advice on this paper.

## References

  * [1] Eric Malmi, Pyry Takala, Hannu Toivonen, Tapani Raiko, and Aristedes Gionis.  Dopelearning: A computational approach to rap lyrics generation.  KDD ’16: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 195–204, 2016.
  * [2] Peter Potash, Alexey Romanov, and Anna Rumshisky.  Ghostwriter: Using an lstm for automatic rap lyric generation.  Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pages 1919–1924, 2015.
  * [3] Lanqing Xue, Kaitao Song, Duocai Wu, Xu Tan, Nevin L. Zhang, Tao Qin, Wei-Qiang Zhang, and Tie-Yan Liu.  Deeprapper: Neural rap generation with rhyme and rhythm modeling.  Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing, pages 69–81, 2021.
  * [4] Ming-Ju Wu, Chun-Hung Lu, and Jyh-Shing Roger Jang.  Automatic conversion from speech to rap music.  International Conference on Electrical Engineering and Computer Science (ICEECS), 2014.
  * [5] Ian Torres.  Rappify: Adding rhythm to speech.  Stanford University, 2017.
  * [6] K. Addanki and Dekai Wu.  Unsupervised rhyme scheme identification in hip hop lyrics using hidden markov models.  Statistical Language and Speech Processing, 7978:39–50, 2013.
  * [7] Darrell Conklin.  Music generation from statistical models.  Journal of New Music Research, 45, 2003.
  * [8] Vasanth Kalingeri and Srikanth Grandhe.  Music generation using deep learning.  arXiv, 2016.
  * [9] Huanru H. Mao, Taylor Shin, and Garrison W. Cottrell.  Deepj: Style-specific music generation.  arXiv, 2018.
  * [10] Nathaniel Condit-Schultz.  MCFlow: A digital corpus of rap music transcriptions.  Empirical Musicology Review, 11:124–147, 2016.
  * [11] Nathaniel Condit-Schultz and Claire Arthur.  humdrumr: a new take on an old approach to computational musicology.  ISMIR, 48:413–433, 2019.
  * [12] Auctux.  3d lorenz attractor with python.
  * [13] Stack Overflow.  How to take the nth digit of a number in python.
  * [14] Alex I. Ramirez.  Python basic text-to-speech engine.
  * [15] C. Gupta, E. Yilmaz, and H. Li.  Automatic lyrics alignment and transcription in polyphonic music: Does background music help?  arXiv, 2019.


# Optimizing Electronic and Optical Responses of Novel Spin Transfer Torque-
based Magnetic Tunnel Junctions with High Tunnel Magnetoresistance and Low
Critical Currents

Tahereh Sadat Parvini<EMAIL_ADDRESS>Institut für Physik,
Universität Greifswald, Greifswald, Germany  Elvira Paz  INL - International
Iberian Nanotechnology Laboratory, Avenida Mestre José Veiga, s/n, 4715-330
Braga, Portugal  Tim Böhnert<EMAIL_ADDRESS>INL - International Iberian
Nanotechnology Laboratory, Avenida Mestre José Veiga, s/n, 4715-330 Braga,
Portugal  Alejandro Schulman  INL - International Iberian Nanotechnology
Laboratory, Avenida Mestre José Veiga, s/n, 4715-330 Braga, Portugal  Luana
Benetti  INL - International Iberian Nanotechnology Laboratory, Avenida Mestre
José Veiga, s/n, 4715-330 Braga, Portugal  Jakob Walowski  jakob.walowski@uni-
greifswald.de Institut für Physik, Universität Greifswald, Greifswald, Germany
Farshad Moradi  ICELab, Aarhus University, Denmark  Ricardo Ferreira  INL -
International Iberian Nanotechnology Laboratory, Avenida Mestre José Veiga,
s/n, 4715-330 Braga, Portugal  Markus Münzenberg  Institut für Physik,
Universität Greifswald, Greifswald, Germany

###### Abstract

We developed and optimized two novel categories of spin transfer torque
magnetic tunnel junctions (STT-MTJs), featuring a high tunnel
magnetoresistance (TMR) ratio, low critical current, and out-oscillation
behavior, which demonstrates their potential for low-power, high-speed, and
reliable spintronic applications such as magnetic memory, logic, and signal
processing. The SST-MTJs based on NiFe showed lower critical currents for
auto-oscillation as compared to those based on CofeSiB. Using VSM measurements
that established comparable saturation magnetization and anisotropy field for
both stacks, we attributed this observation to the higher damping of A-MTJs
compared to B-MTJs. This hypothesis was verified through the all-optical time-
resolved magneto-optical Kerr effect (TRMOKE) technique, which confirmed that
STT-MTJs with lower damping exhibited auto-oscillation at lower critical
current values. Beside, our study aimed to optimize the STT-MTJ performance,
regarding the capping layer’s impact on the device’s response to electronic
and optical stimuli.

The progress in deposition and crystal growth technologies has sparked
significant interest in multilayer stacks, establishing them as a promising
platform for advancing the fields of optical Pantazopoulos and Stefanou
(2019); Yu  _et al._ (2021); Parvini  _et al._ (2015) and spintronic Endoh and
Honjo (2018); Tanwear  _et al._ (2020); Stiewe  _et al._ (2022) devices.
Magnetic tunnel junctions (MTJs), are multilayer structures consisting of two
ferromagnetic layers separated by an insulating barrier, and exhibit
multifaceted functionality and efficacy across a broad range of scientific
domains, including data storage, sensing, and computing Zhu and Park (2006);
Tarequzzaman  _et al._ (2018); Yang  _et al._ (2018); Maciel  _et al._ (2019);
Jha  _et al._ (2022). Spin-transfer torque-based magnetic tunnel junctions
(STT-MTJs) represent the next generation of MTJs, employing the spin-transfer
torque effect to control the magnetization of a ferromagnetic layer. Compared
to conventional MTJs, STT-MTJs offer superior performance characteristics,
including higher speed, lower power consumption, and greater scalability. With
the emergence of STT-MTJs, the potential of these devices has been
significantly expanded, opening up new possibilities for their use in a wide
range of applications Parkin  _et al._ (2008); Ikeda  _et al._ (2007); Parkin
_et al._ (2008); Ikeda  _et al._ (2007); Jin  _et al._ (2021); Liu  _et al._
(2002); Wang  _et al._ (2022); Peng  _et al._ (1999); Sun (2000); Jin  _et
al._ (2021); Liu  _et al._ (2002); Fong  _et al._ (2016); Farkhani  _et al._
(2020). The critical current density ($J_{c}$) in STT-MTJs refers to the
minimum current density required to generate sufficient spin-transfer torque
to switch the magnetization of the free layer. It is a key parameter in
determining the performance and reliability of STT-MTJs, as it directly
affects the switching speed and energy efficiency of the device Verma  _et
al._ (2014); Diao  _et al._ (2007); Chun  _et al._ (2012); Koopmans  _et al._
(2005); Huang  _et al._ (2020). Since $J_{c}$ is proportional to the magnetic
damping constant of SST-MTJs, materials and stacks with a low damping are
desired for high-speed and low-power spintronic devices.

In this study we developed two new types of in-plane magnetized SST-MTJs,
which were optimized in terms of layer arrangement, thicknesses, and size of
the MTJ pillar to achieve a high TMR ratio and exhibit Vortex-based spin-
torque nano-oscillator (STNO)-like behavior with low power consumption, i.e.,
a low critical current. The magnetization dynamics of the optimized SST-MTJs
were scrutinized using time-resolved magneto-optical Kerr effect (TRMOKE)
technique to extract key parameters, such as the damping coefficient and
precession frequency.

###  .1 Analysis of STT-MTJ Stacks: Structural Characterization and Electronic
Response

Figure 1: (a) The illustration of the layer structure of optimized MTJs, with
layer thicknesses indicated in nanometers, along with the geometry of
ultrafast TRMOKE measurements. FL, $\vec{H}$, and $\vec{M}$ indicate the free
layer of the MTJ, external applied magnetic field, and magnetization vector of
the stack. (b) Hysteresis loops of the free layer stacks along the easy axis
of magnetization. (c) and(d) Hysteresis loops along the easy-axis for full
stacks B-MTJ and A-MTJ, respectively, and along the hard-axis for B-MTJ and
A-MTJ in (e) and (f), respectively. The influence of varying thicknesses of
the capping layer Ta $t_{\rm Ta}=$2/4/6/8/10 nm on the anisotropy field and
hysteresis response has been studied. The value of $t_{\rm Ru}$ is
consistently 4nm across all of the plots.

A series of three distinct types of magnetic tunnel junctions (MTJs) were
fabricated on SiO2 (200nm) substrate using a singulus magnetron sputtering. As
schematically depicted in Fig. 1(a), the MTJs were comprised of the following
layers: 5 Ta / 50 CuN / 5 Ta / 50 CuN / 5 Ta / 5 Ru / 6 IrMn / 2 CoFe30 /
0.825 Ru / 2.6 CoFe40B20 / MgO / Free Layer / Capping Layer, with thicknesses
specified in nanometers. The free layer, which was the differentiating
component among the MTJs, consists of 2 CoFe40B20 / X, where for type A-MTJ
X$\equiv$0.21 Ta / 6 Co67Fe4Si14.5B14.5, for type B-MTJ X$\equiv$0.21 Ta / 7
Ni80Fe20 and for type C-MTJ X$\equiv$0\. The thicknesses of CoFeSiB and NiFe
in the A-MTJs and B-MTJs were meticulously chosen to guarantee comparable
magnetic moments in both MTJs. The selection of Permalloy (NiFe) as the top
magnetic layer in B-MTJs is based on its low crystalline anisotropy, which
allows for easy magnetization switching with an external magnetic field.
CoFeSiB-based MTJs (A-MTJs) demonstrate improved MR ratios due to the absence
of electron scattering caused by grain boundaries in their amorphous
structure. Furthermore, the lack of crystallographic axes and grain boundaries
enhances their thermal stability, rendering them an excellent choice for high-
temperature MTJ applications. Three alternatives were considered for the
fabrication of the capping layer, namely Ta/Ru, Cu/Ru, and Ra/Ru. The elements
Ta, Cu, and Ru are employed to inhibit the crystallization of the adjacent
magnetic layer, while a few nanometers of Ru on top of the MTJ are utilized
for the passivation of the stacks. For achieving maximum performance in MTJs,
characterized by high TMR, low critical current, and sustained thermal and
electrical stability, the optimization of both the material and thickness of
the capping layer are crucial. To achieve this goal, we fabricated a series of
A-MTJ and B-MTJ stacks with distinct capping layers and varied thicknesses.
The analysis of Fig. 1 and Fig. 1 SM SM , measured by a MicroSense EV9
vibrating sample magnetometer (VSM), demonstrates that the magnetic response
of MTJs remains mostly unaffected by the modification of the capping layer
material. Furthermore, The hysteresis response of the stacks remains
unaffected by the variation in thickness of Ta adjacent to the top magnetic
layer in capping layers. Table LABEL:magnetization displays the saturation
magnetization values ($M_{\mathrm{s}}$) of the distinct materials incorporated
in the stack structures, namely CoFeSiB, CoFB, NiFe, and CoFeB, as determined
by VSM measurements. These values are needed to accurately analyze the
magnetization dynamics of the MTJs in the last section of our work.

Table 1: Saturation magnetization $M_{\mathrm{s}}$, in $10^{3}$A/m, of the materials: CoFe, CoFeB, NiFe, and CoFeSiB, measured by VSM. Layer |  | CoFe30 |  | CoFe40B20 |  | Ni80Fe20 |  | Co67Fe4Si14.5B14.5
---|---|---|---|---|---|---|---|---
$M_{\mathrm{s}}$ |  | 1111.04 |  | 1358.98 |  | 680.61 |  | 1071.8

Furthermore, we synthesized simplified free layer stacks consisting of 5 Ta /
5 Ru / MgO / 2 CoFe40B20 / X / 2 Ta / 4 Ru, where X is defined as

  * •

0.21 Ta / 6 CoFe40SiB20 for A-FL,

  * •

0.21 Ta / 7 Ni80Fe20 for B-FL,

  * •

and n/a for C-FL.

These fabricated FL stacks facilitated a comparative investigation of their
magnetization dynamics responses with their corresponding full stacks. As
depicted in Figure 1(b), incorporating a low anisotropy NiFe layer results in
nearly a 50$\%$ decrease in the coercivity of the free layer, which can be
further reduced by replacing NiFe with an amorphous CoFeSiB layer.

Figure 2: (a) TMR ratios of A-MTJ, B-MTJ, and C-MTJ with capping layers of
various heavy metals measured using CIPT as a function of the applied magnetic
field. Figure 3: (a) TMR Ratio of MTJs versus Ta capping layer with capping
layer X Ta/ 7 Ru. (b) Variation of TMR values and resistance area with Ta
thickness. The dashed-dotted lines are guides to the eyes.

The application of a direct electrical current in MTJs generates spin-transfer
torques (STTs) that facilitate the transfer of angular momentum from the
stationary polarizing magnetic layer to the free magnetic layer. This transfer
results in oscillatory magnetization dynamics, which in turn produce an
oscillatory electrical response via the magnetoresistance effect. The
difference in resistance between parallel ($R_{\mathrm{AP}}$) and antiparallel
($R_{\mathrm{P}}$) magnetization configurations can be normalized to obtain
the tunnel magnetoresistance ratio (TMR), expressed as
TMR$=\frac{R_{\mathrm{AP}}-R_{\mathrm{P}}}{R_{\mathrm{P}}}$. The electrical
properties of STT-MTJs were characterized using Current-In-Plane Tunneling
(CIPT) measurements, and the resulting transfer curves for various stacks are
presented in Figure 2. The TMR ratio of the B-MTJ stack is lower compared to
the A-MTJs and resembles that of the control stack, C-MTJ. Our findings prove
that the use of Ta in the capping layer of an MTJ stack leads to a higher TMR
ratio compared to stacks utilizing Ru or Cu capping layers. We attribute this
observation to the improved interface quality in stacks with Ta in the capping
layer which enhances spin-dependent transport. In contrast, Ru and Cu are
prone to oxidation, which can lead to the formation of unwanted oxide layers
and negatively impact the TMR performance Nagahama  _et al._ (2005); Tsumekawa
_et al._ (2005). The exact measured values of the TMR ratio and resistance
area ($R\times A$) of the aforementioned stacks are reported in Table
LABEL:CIPT. In these STT-MTJs, the thickness of the MgO tunnel barrier is
precisely selected to obtain a resistance area of approximately 10
$\mathrm{\Omega(\mu m)^{2}}$, which has been experimentally established as the
optimal range for attaining maximum output power.

Table 2: The TMR ratio and resistance-area values obtained from CIPT measurements for three different types of SST-MTJs. MTJ Stacks |  |  | TMR | $R\times A$
---|---|---|---|---
|  |  | ($\%$) | $(\Omega\mu\mathrm{m}^{2})$
B-MTJ / 10 Ta / 7 Ru |  |  | 190 | 11.2
A-MTJ / 10 Ta / 7 Ru |  |  | 208 | 9.6
A-MTJ / 10 Ru / 7 Ru |  |  | 168 | 10.3
A-MTJ / 10 Cu / 7 Ru |  |  | 179 | 11.0
C-MTJ / 10 Ta / 7 Ru |  |  | 199 | 11.9

Having proven the superior performance of MTJs with the Ta capping layer, we
embarked on an effort to determine the optimal thickness of the Ta layer for
maximizing SST-MTJs’ performance. As a consequence, we fabricate a collection
of A-MTJs and B-MTJs, each with distinct thicknesses of Ta, namely
$t_{\rm{Ta}}$=2/4/6/8/10 nm and a constant thickness of $t_{\rm Ru}$=7nm. The
TMR ratio and resistance area of these stacks are shown in Fig. 3 (a) and (b).
The TMR ratio of the B-MTJs exhibited a decrease as the thickness of Ta
increased, whereas no noteworthy change in the TMR ratio of the A-MTJs was
observed. Two potential reasons for the observed effect of Ta capping layer
thickness on the TMR ratio are its role as a Boron sink, which is known to
affect the TMR ratio through Boron diffusion, and its potential influence on
the crystallization of the free layer. The crystallization of Ta depends on
its thickness, with thin layers (<5 nm) crystallizing in beta-phase and
thicker layers (>10 nm) in alpha-phase, which could affect the overall
crystallization of the stack. However, the 0.21 nm Ta layer in the free layer
is specifically designed to mitigate the influence of NiFe crystallization on
CoFeB, which ultimately determines the TMR ratio.

The minimum current density required to trigger the STT oscillations in the
MTJs is critical current density, $J_{c}$. For B-MTJ with a diameter of 300 nm
critical current is about 3mA, or on the other hand around 0.04
$\mathrm{A}/\mu\mathrm{m}^{2}$, whereas no auto-oscillation was observed at
low critical currents in the A-MTJs. To theoretically validate these
observations, we utilized the macrospin model, which provides an expression
for critical current as Khalsa  _et al._ (2015); Costa  _et al._ (2017); Faber
_et al._ (2009)

$J_{c}=\frac{2e\mu_{0}M_{\mathrm{s}}\alpha
d}{\hbar}\left[\frac{M_{\mathrm{s}}}{2}+H+H_{k}\right].\frac{1}{P},$ (1)

where $e$ is the charge of the electron, $\mu_{0}$ is the permeability of free
space, $\hbar$ the Planck constant, $M_{\mathrm{s}}$ the magnetization
saturation, $\alpha$ the Gilbert damping constant, $d$ the thickness of the
free layer, and P the spin polarization. As previously described, both the
B-MTJs and A-MTJs possess comparable saturation magnetization and anisotropy;
thus, the relatively lower critical current of the former as compared to the
latter can be attributed to their reduced damping. To validate this
hypothesis, we utilized an TRMOKE technique method to measure the damping of
the stacks. The MTJs with Ru and Cu capping layers not only demonstrated
inferior performance when compared to those with a Ta capping layer, but also
produced a noisier Kerr signal in TRMOKE measurements due to their elevated
laser absorption and subsequently decreased penetration depth (under the same
power of laser and magnetic field). Therefore in the following, only MTJs with
capping layer X Ta/4 Ru are reported, due to their higher signal to noise
ratio in the TRMOKE measurements.

###  .2 Investigating the Magnetization Dynamics of the optimized SST-MTJs

We employed an all-optical approach to investigate magnetization dynamics of
the optimized SST-MTJs using femtosecond (fs) laser pulses in a pump-probe
configuration (see Fig. 1 (a)). The pump and probe pulses had central
wavelengths of $\sim$800 nm, pulse durations of 40 fs, and repetition rates of
250 kHz. The pump and probe spot radii were 110 $\mu$m and 30 $\mu$m,
respectively. Ultrafast demagnetization was induced by pump laser
illumination, resulting in magnetization recovery and the damped precession of
magnetization observed after a delay time of a few hundred femtoseconds. The
static polar Kerr rotation angle $\theta_{k}$ was measured using the probe
laser pulse. All TRMOKE measurements were performed at room temperature under
an external magnetic field of up to 0.15 T at a fixed angle of
$\theta_{H}=$75° measured from the film normal. The Supplementary Materials
(SM) SM  contains documentation on the magnetization precession of free layer
stacks and optimized full SST-MTJ stacks with varying capping layer
thicknesses. The Fourier spectrum analysis of Kerr’s data, as reported in SM ,
reveals a single dominant precession frequency in all SST-MTJ, attributed to
the direct ferromagnetic coupling of M1 and M2 through ultra-thin Ta layer and
consequently their collective precession. Consequently, the macrospin model
was utilized to derive the fitting function, enabling the determination of
effective damping and precession frequency, and to solve the
Landau–Lifshitz–Gilbert (LLG) equation, facilitating the determination of
intrinsic damping in the MTJs. Then, TMOKE signals underwent a fitting process
utilizing a damped-harmonic function with an exponential decay background and
a sinusoidal term to achieve a meticulous analysis of the magnetization
dynamics in stacks Choi  _et al._ (2020, 2014); Gonçalves  _et al._
(2016)(detail in SM). Utilizing the applied fitting model, the precession
frequencies ($f$) and magnetization relaxation times ($\tau$) corresponding to
each SST-MTJS’s macrospin were extracted. Fig. 4 (a) and (c) reveals that the
precession frequency of the macrospin in each stack is positively correlated
with the magnetic field strength, with no noticeable impact from the thickness
of the capping layer. Furthermore, the frequency of the full stack is lower
than that of free layers, attributed to interlayer couplings. This interaction
induces a shift in magnetic anisotropy and promotes a more stable
configuration of magnetic moments, resulting in a reduction of the precession
frequency. The effective damping coefficient of the macrospin vector denoted
as $\alpha_{eff}$ and calculated using the formula $\alpha_{eff}=(2\pi
f\tau)^{-1}$, is a measure of the total damping, encompassing both intrinsic
Gilbert damping ($\alpha_{0}$) and extrinsic damping mechanisms. Under high
fields, it suppresses extrinsic contributions and approaches the intrinsic
Gilbert damping parameter, sees Fig. 4 (b) and (d). The complexity of
magnetization behavior and the greater contribution of inhomogeneous
broadening make data collected at low magnetic fields particularly challenging
to interpret. Therefore, to obtain a clearer understanding of the
magnetization dynamics, high-field data is preferred. Overall, this figure
indicates that B-MTJs exhibit both higher frequency and lower damping when
compared to A-MTJs. The higher damping coefficient of A-MTJs compared to
B-MTJs can be attributed to a combination of factors including its electronic
structure with strong spin-orbit coupling due to the presence of heavy
elements, lower magnetic anisotropy, and fine-grained and amorphous
microstructure of CoFeSiB.

Figure 4: The precession frequency and effective damping constant
$\alpha_{eff}$ as a function of capping layer thickness ($t_{\rm Ta}+t_{\rm
Ru}$) for A-MTJs ((a) and (b)) and B-MTJs ((c) and (d)). The power of the pump
is set to a constant value of 300 mW, while magnetic fields of 30, 60, 90,
120, and 150 mT (25∘ out of plane) are applied. Figure 5: Intrinsic Gilbert
damping constant of (a) A-MTJ and (b) B-MTJ stacks as a function of the total
capping layer thickness, $t_{\rm Ta}+t_{\rm Ru}$.

To extract the intrinsic Gilbert damping parameter using Gilbert’s ansatz, it
is essential to establish a connection between the exponential decay time
$\tau$ and $\alpha_{0}$. Assuming negligible in-plane anisotropy and small
tilting angles of the magnetization out of the sample plane
($\theta\approx\frac{\pi}{2}$), the precession frequency can be derived using
Kittel’s formula
$\omega=\gamma\sqrt{\mu_{0}H_{x}\left[\mu_{0}H_{x}+\mu_{0}M_{\mathrm{s}}-\frac{2K_{z}}{M_{\mathrm{s}}}\right]}$
where $\omega$ is the angular frequency of the precession,
$\gamma=\frac{g\mu_{B}}{\hbar}$ is the gyromagnetic ratio of MTJ stacks,
$\mu_{0}$ and $\mu_{B}$ are the vacuum permeability and Bohr magneton
respectively, g is the Landé g-factor, and
$H_{\mathrm{k}}=2K_{z}/M_{\mathrm{s}}$ is the perpendicular anisotropy field
Khodadadi  _et al._ (2017); Zhang  _et al._ (2022); Wang  _et al._ (2018);
Walowski  _et al._ (2008). By using the $M_{\mathrm{s}}$ and $H_{\mathrm{k}}$
data acquired from the VSM and utilizing a curve-fitting algorithm to match
Kittel’s formula with the corresponding frequencies derived from the TRMOKE,
it is possible to determine the $\gamma$ (reported in Fig. 8(SM) SM ).
Subsequently, the intrinsic Gilbert damping constant can be determined using
the following equation:

$\alpha_{0}=\left[\frac{\tau\gamma}{2}\left(2\mu_{0}H_{x}+\mu_{0}M_{\mathrm{s}}-\frac{2K_{z}}{M_{\mathrm{s}}}\right)\right]^{-1}.$
(2)

In the high-field limit, neglecting the anisotropy contribution yields an
approximation of $\alpha_{0}=(2\pi f\tau)^{-1}$. The intrinsic Gilbert damping
of stacks with different capping layers are shown in Fig. 5. This observation
clearly illustrates the convergence of effective and intrinsic damping at high
magnetic fields. Additionally, this observation confirms that B-MTJs exhibit
lower intrinsic damping than A-MTJs, which correlates with the lower critical
current density of B-MTJs. Consistent with the TMR ratio measurements, the
A-MTJ stacks exhibit lower sensitivity to changes in capping layer thickness
compared to the B-MTJ stacks, with negligible alteration in damping observed
across varying thicknesses.

##  I Conclusion

Through rigorous structural and dimensional optimization, we meticulously
engineered two distinct magnetic tunnel junction stacks, ultimately achieving
a remarkable combination of high TMR ratio and low critical current for auto-
oscillation. The sole point of differentiation between MTJs lies within the
free layer composition, where category A-MTJs utilize 2 CoFeB / 0.21 Ta / 6
CoFeSiB, and category B-MTJs incorporate 2 CoFeB / 0.21 Ta / 7 NiFe.
Incorporating CoFeSiB as the top magnetic layer resulted in a high TMR of
approximately $\simeq 208\,$%, while stacks containing NiFe exhibited 15-20
percent lower TMR. Moreover, the critical current, which represents the
minimum current necessary to induce a magnetic state transition, is relatively
lower for B-MTJs compared to A-MTJs. The nearly identical saturation
magnetization and anisotropy field values measured by VSM led to the
conclusion that the lower critical current measured in B-MTJs could be
attributed to lower damping. To validate this hypothesis, we employed the all-
optical TRMOKE technique and demonstrated that the damping exhibited by the
B-MTJs was approximately half that of the A-MTJs.

##  II Acknowledgement

This project has received funding from the European Union’s Horizon 2020
research and innovation program under grant agreement No 899559 (SpinAge).

## References

  * Pantazopoulos and Stefanou (2019) P. A. Pantazopoulos and N. Stefanou, Phys. Rev. B 99, 144415 (2019).
  * Yu  _et al._ (2021) H. Yu, J. Xiao, and H. Schultheiss, Phys. Rep. 905, 1 (2021).
  * Parvini  _et al._ (2015) T. Parvini, M. Tehranchi, and S. Hamidi, Appl. Phys. A 118, 1447 (2015).
  * Endoh and Honjo (2018) T. Endoh and H. Honjo, Journal of Low Power Electronics and Applications 8, 44 (2018).
  * Tanwear  _et al._ (2020) A. Tanwear, X. Liang, Y. Liu, A. Vuckovic, R. Ghannam, T. Böhnert, E. Paz, P. P. Freitas, R. Ferreira, and H. Heidari, IEEE Transactions on Biomedical Circuits and Systems 14, 1299 (2020).
  * Stiewe  _et al._ (2022) F.-F. Stiewe, T. Winkel, Y. Sasaki, T. Tubandt, T. Kleinke, C. Denker, U. Martens, N. Meyer, T. S. Parvini, S. Mizukami, _et al._ , Appl. Phys. Lett. 120, 032406 (2022).
  * Zhu and Park (2006) J.-G. J. Zhu and C. Park, Mater. Today 9, 36 (2006).
  * Tarequzzaman  _et al._ (2018) M. Tarequzzaman, A. Jenkins, T. Böhnert, J. Borme, L. Martins, E. Paz, R. Ferreira, and P. Freitas, Appl. Phys. Lett. 112, 252401 (2018).
  * Yang  _et al._ (2018) H. Yang, X. Hu, S. Sievers, T. Boehnert, M. Tarequzzaman, J. Costa, R. Ferreira, M. Bieler, and H. Schumacher, J. Appl. Phys. 124, 174501 (2018).
  * Maciel  _et al._ (2019) N. Maciel, E. Marques, L. Naviner, Y. Zhou, and H. Cai, Sensors 20, 121 (2019).
  * Jha  _et al._ (2022) N. Jha, A. Pariyar, T. S. Parvini, C. Denker, P. K. Vardhanapu, G. Vijaykumar, A. Ahrens, T. Meyer, M. Seibt, N. Atodiresei, _et al._ , ACS Appl. Electron. Mater. (2022), 10.1021/acsaelm.2c01428.
  * Parkin  _et al._ (2008) S. S. Parkin, M. Hayashi, and L. Thomas, Science 320, 190 (2008).
  * Ikeda  _et al._ (2007) S. Ikeda, J. Hayakawa, Y. M. Lee, F. Matsukura, Y. Ohno, T. Hanyu, and H. Ohno, IEEE Trans. Electron Devices 54, 991 (2007).
  * Jin  _et al._ (2021) Z. Jin, T. M. Koo, M. S. Kim, M. Al-Mahdawi, M. Oogane, Y. Ando, and Y. K. Kim, AIP Adv. 11, 015046 (2021).
  * Liu  _et al._ (2002) X. Liu, C. Ren, and G. Xiao, J. Appl. Phys. 92, 4722 (2002).
  * Wang  _et al._ (2022) L. Wang, H. Cheng, P. Li, Y. L. van Hees, Y. Liu, K. Cao, R. Lavrijsen, X. Lin, B. Koopmans, and W. Zhao, Proceedings of the National Academy of Sciences 119, e2204732119 (2022).
  * Peng  _et al._ (1999) S. Peng, Y. Zhang, M. Wang, Y. Zhang, and W. Zhao, Wiley Encyclopedia of Electrical and Electronics Engineering , 1 (1999).
  * Sun (2000) J. Z. Sun, Phys. Rev. B 62, 570 (2000).
  * Fong  _et al._ (2016) X. Fong, Y. Kim, R. Venkatesan, S. H. Choday, A. Raghunathan, and K. Roy, Proceedings of the IEEE 104, 1449 (2016).
  * Farkhani  _et al._ (2020) H. Farkhani, T. Böhnert, M. Tarequzzaman, J. D. Costa, A. Jenkins, R. Ferreira, J. K. Madsen, and F. Moradi, Frontiers in neuroscience 13, 1429 (2020).
  * Verma  _et al._ (2014) S. Verma, S. Kaundal, and B. K. Kaushik, IEEE Trans. Magn. 50, 1 (2014).
  * Diao  _et al._ (2007) Z. Diao, Z. Li, S. Wang, Y. Ding, A. Panchula, E. Chen, L.-C. Wang, and Y. Huai, J. Phys. Condens. Matter 19, 165209 (2007).
  * Chun  _et al._ (2012) K. C. Chun, H. Zhao, J. D. Harms, T.-H. Kim, J.-P. Wang, and C. H. Kim, IEEE J. Solid-State Circuits 48, 598 (2012).
  * Koopmans  _et al._ (2005) B. Koopmans, J. Ruigrok, F. Dalla Longa, and W. De Jonge, Phys. Rev. Lett. 95, 267207 (2005).
  * Huang  _et al._ (2020) D. Huang, D. Lattery, and X. Wang, ACS Appl. Electron. Mater. 3, 119 (2020).
  * (26) Supplemental Material at [URL will be inserted by publisher] for [give brief description of material]. .
  * Nagahama  _et al._ (2005) T. Nagahama, S. Yuasa, E. Tamura, and Y. Suzuki, Phys. Rev. Lett. 95, 086602 (2005).
  * Tsumekawa  _et al._ (2005) K. Tsumekawa, D. Djayaprawira, M. Nagai, H. Maehara, S. Yamagata, and N. Watanabe, in  _2005 IEEE International Magnetics Conference (INTERMAG)_ (2005) pp. 1983–1984.
  * Khalsa  _et al._ (2015) G. Khalsa, M. D. Stiles, and J. Grollier, Appl. Phys. Lett. 106, 242402 (2015).
  * Costa  _et al._ (2017) J. Costa, S. Serrano-Guisan, B. Lacoste, A. Jenkins, T. Böhnert, M. Tarequzzaman, J. Borme, F. Deepak, E. Paz, J. Ventura, _et al._ , Sci. Rep. 7, 1 (2017).
  * Faber  _et al._ (2009) L.-B. Faber, W. Zhao, J.-O. Klein, T. Devolder, and C. Chappert, in  _2009 4th International Conference on Design & Technology of Integrated Systems in Nanoscal Era_ (IEEE, 2009) pp. 130–135.
  * Choi  _et al._ (2020) G.-M. Choi, J. H. Oh, D.-K. Lee, S.-W. Lee, K. W. Kim, M. Lim, B.-C. Min, K.-J. Lee, and H.-W. Lee, Nat. Commun. 11, 1 (2020).
  * Choi  _et al._ (2014) G.-M. Choi, B.-C. Min, K.-J. Lee, and D. G. Cahill, Nat. Commun. 5, 1 (2014).
  * Gonçalves  _et al._ (2016) C. Gonçalves, A. Silva, D. Navas, M. Miranda, F. Silva, H. Crespo, and D. Schmool, Sci. Rep. 6, 1 (2016).
  * Khodadadi  _et al._ (2017) B. Khodadadi, J. B. Mohammadi, J. M. Jones, A. Srivastava, C. Mewes, T. Mewes, and C. Kaiser, Phys. Rev. Appl. 8, 014024 (2017).
  * Zhang  _et al._ (2022) Y. Zhang, G. Wu, Z. Ji, X. Chen, Q. Jin, and Z. Zhang, Phys. Rev. Appl. 17, 034033 (2022).
  * Wang  _et al._ (2018) W. Wang, P. Li, C. Cao, F. Liu, R. Tang, G. Chai, and C. Jiang, Appl. Phys. Lett. 113, 042401 (2018).
  * Walowski  _et al._ (2008) J. Walowski, M. D. Kaufmann, B. Lenk, C. Hamann, J. McCord, and M. Münzenberg, J. Phys. D: Appl. Phys. 41, 164016 (2008).