Configuration¶
Set various spin configurations, such as homogeneous domains, spirals or skyrmions.
All configuration setters support the following arguments with default values:
- pos=[0,0,0]: the centre of the configuration, relative to the centre of the system
- border_rectangular=[-1,-1,-1]: values > 0 mean a restriction in + and - direction relative to the position
- border_cylindrical=-1: restricts the initialisation to a z-aligned cylinder around the position
- border_spherical=-1: restricts the initialisation to a sphere around the position
- inverted=False: exactly inverts the above restrictions
-
spirit.configuration.
add_noise
(p_state, temperature, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Add temperature-scaled random noise to configuration.
-
spirit.configuration.
domain
(p_state, dir, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a domain (homogeneous) configuration.
-
spirit.configuration.
dw_skyrmion
(p_state, dw_radius, dw_width, order=1, phase=1, up_down=False, achiral=False, right_left=False, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a 360 degree domain wall skyrmion configuration.
Arguments:
- dw_radius: the radius of the circular domain wall skyrmion.
- dw_width: the width of the domain wall circumference of the skyrmion.
Keyword arguments:
- order: the number of twists along a circle cutting the skyrmion
- phase: 0 corresponds to a Neel skyrmion, -90 to a Bloch skyrmion
- up_down: if True, the z-orientation is inverted
- achiral: if True, the topological charge is inverted
- right_left: if True, the in-plane rotation is inverted
-
spirit.configuration.
hopfion
(p_state, radius, order=1, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a Hopfion configuration.
Arguments:
- radius: the distance from the center to the center of the corresponding tubular isosurface
Keyword arguments:
- order: the number of windings of the toroidal hopfion
In contrast to the skyrmion, it extends over the whole allowed space.
-
spirit.configuration.
minus_z
(p_state, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a -z (homogeneous) configuration.
-
spirit.configuration.
plus_z
(p_state, pos=[0.0, 0.0, 0.0], border_rectangular=[-1.0, -1.0, -1.0], border_cylindrical=-1.0, border_spherical=-1.0, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a +z (homogeneous) configuration.
-
spirit.configuration.
random
(p_state, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Distribute all spins randomly on the unit sphere.
-
spirit.configuration.
set_atom_type
(p_state, atom_type=0, pos=[0.0, 0.0, 0.0], border_rectangular=[-1.0, -1.0, -1.0], border_cylindrical=-1.0, border_spherical=-1.0, inverted=False, idx_image=-1, idx_chain=-1)¶ Set the type of the atoms in the given region (default: 0).
This can be used e.g. to insert defects (-1).
-
spirit.configuration.
set_pinned
(p_state, pinned, pos=[0.0, 0.0, 0.0], border_rectangular=[-1.0, -1.0, -1.0], border_cylindrical=-1.0, border_spherical=-1.0, inverted=False, idx_image=-1, idx_chain=-1)¶ Set whether the spins within the given region are pinned or not.
If they are pinned, they are pinned to their current orientation.
-
spirit.configuration.
skyrmion
(p_state, radius, order=1, phase=1, up_down=False, achiral=False, right_left=False, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a skyrmion configuration.
Arguments:
- radius: the extent of the skyrmion, at which it points approximately upwards. The skyrmion only extends up to radius, meaning that border_cylindrical is not usually necessary.
Keyword arguments:
- order: the number of twists along a circle cutting the skyrmion
- phase: 0 corresponds to a Neel skyrmion, -90 to a Bloch skyrmion
- up_down: if True, the z-orientation is inverted
- achiral: if True, the topological charge is inverted
- right_left: if True, the in-plane rotation is inverted
-
spirit.configuration.
spin_spiral
(p_state, direction_type, q_vector, axis, theta, pos=[0, 0, 0], border_rectangular=[-1, -1, -1], border_cylindrical=-1, border_spherical=-1, inverted=False, idx_image=-1, idx_chain=-1)¶ Set a spin spiral configuration.
TODO: document parameters
- direction_type:
- q_vector:
- axis:
- theta: