Image of core shell nanoparticle

Create a core-shell nanostructure

Besides simple shapes, vampire is capable of generating more complex heterostructures, such as core shell nanoparticles and multilayers. This tutorial explains how to generate a core shell nanoparticle consisting of two different magnetic materials. The following method is also applicable to creating particle arrays of core shell structures.

Step 1

In the input file, define a base particle shape and total size which will be used for your core shell nanoparticle. For example, to generate a 10 nm diameter sphere, in the input file define

dimensions:particle-size = 10 !nm

Step 2

In the material file, define material properties for two different magnetic materials making up the core and shell. For example

materials:num-materials = 2
material[1]:exchange-matrix[1] = 3.0e-21
material[1]:exchange-matrix[2] = 1.0e-21
material[1]:atomic-spin-moment = 2.0 !muB
material[1]:damping-constant = 1.0
material[1]:uniaxial-anisotropy-constant = 1.0e-24
material[2]:exchange-matrix[1] = 1.0e-21
material[2]:exchange-matrix[2] = 2.0e-21
material[2]:atomic-spin-moment = 3.0 !muB
material[2]:damping-constant = 1.0
material[2]:uniaxial-anisotropy-constant = 1.0e-23


Remember that when defining the exchange interactions between materials the values of the exchange constant must be the same for spins ij as spins ji, otherwise vampire will return an error.

Step 3

In the material file, you now need to define the relative radii of the different materials using the keyword

material[<id>]:core-shell-size = <fraction>

where <id> is the material number and <fraction> is the fractional radius occupied by that material in the range 0-1. For example if the first material is the shell and the second material is the core, in the material file you would define

material[1]:core-shell-size = 1.0
material[2]:core-shell-size = 0.5

Step 4

It is always a good idea to visually verify the generated structure by generating output viewable using rasmol or jmol. The fraction of atoms generated for each material are given in the log file for the simulation.

Step 5

Vampire can collect statistics for different materials separately, allowing you to investigate the behavior of the core and shell components separately. More details are given in the tutorial on statistics in vampire.



If you are using a customised unit cell file (.ucf file), then the definition of core shell structures will override the material assignment in the ucf file, generally leading to undesired behaviour. More support for complex structures is planned, but at present core shell structures should be constructed directly in the ucf file.