Configuration¶
Set various spin configurations, such as homogeneous domains, spirals or skyrmions.
-
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.
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.
- radius: the distance from the center to the center of the corresponding tubular isosurface
- order: TODO
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.
- radius: the extent of the skyrmion, at which it points approximately upwards
- 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
The skyrmion only extends up to radius, meaning that border_cylindrical is not usually necessary.
-
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: