config#
Common magnetization configurations.
- twodomain(m1, mw, m2, wallposition, wallthickness=0.0)#
Create a two-domain state magnetization configuration with a domain wall which is perpendicular to the x-axis.
- Parameters:
m1 (tuple of three floats) – The magnetization of the first domain.
m2 (tuple of three floats) – The magnetization of the second domain.
mw (tuple of three floats) – The magnetization inside the wall.
wallposition (float) – The position of the domain wall.
wallthickness (float) – The thickness of the wall, which smooths out the wall with a Gaussian distribution. If given, wallposition corresponds to the center of the domain wall. If <= 0, there is no wall.
- Returns:
two-domains – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing m_x, m_y and m_z.
- Return type:
callable
- vortex(position, diameter, circulation, polarization)#
Create a vortex magnetization configuration.
- Parameters:
position (tuple of three floats) – The position of the vortex center.
diameter (float) – The diameter of the vortex center.
circulation (1 or -1) – Circulation of the vortex.
polarization (1 or -1) – The polarization of the vortex center.
- Returns:
vortex – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing m_x, m_y and m_z.
- Return type:
callable
- antivortex(position, diameter, circulation, polarization)#
Create an antivortex magnetization configuration.
- Parameters:
position (tuple of three floats) – The position of the center of the antivortex.
diameter (float) – The diameter of the center of the antivortex.
circulation (1 or -1) – Circulation of the antivortex.
polarization (1 or -1) – The polarization of the center of the antivortex.
- Returns:
antivortex – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing m_x, m_y and m_z.
- Return type:
callable
- neelskyrmion(position, radius, charge, polarization)#
Create a Neel skyrmion magnetization configuration.
- Parameters:
position (tuple of three floats) – The position of the skyrmion.
radius (float) – The radius of the skyrmion.
charge (1 or -1) – The charge of the skyrmion.
polarization (1 or -1) – The polarization of the skyrmion.
- Returns:
Neel-skyrmion – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing m_x, m_y and m_z.
- Return type:
callable
- blochskyrmion(position, radius, charge, polarization)#
Create a Bloch skyrmion magnetization configuration.
- Parameters:
position (tuple of three floats) – The position of the skyrmion.
radius (float) – The radius of the skyrmion.
charge (1 or -1) – The charge of the skyrmion.
polarization (1 or -1) – The polarization of the skyrmion.
- Returns:
Bloch-skyrmion – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing m_x, m_y and m_z.
- Return type:
callable
- gaussian_spherical_OoP(position, amplitude, sigma_x, sigma_y)#
Create an out-of-xy-plane gaussian distribution centered on the specified position with given standard deviations.
\[A \exp\left(- \frac{(x - x_0)^2}{2\sigma_x^2} \frac{(y - y_0)^2}{2\sigma_y^2}\right) (0, 0, 1)\]- Parameters:
position (tuple of three floats) – The position of the Gaussian distribution.
amplitude (float) – The amplitude of the Gaussian distribution.
sigma_x (float) – The standard deviation in the x-direction of the Gaussian distribution.
sigma_y (float) – The standard deviation in the y-direction of the Gaussian distribution.
- Returns:
Gaussian – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing u_x, u_y and u_z.
- Return type:
callable
- gaussian_spherical_IP(position, amplitude, angle, sigma_x, sigma_y)#
Create an in-xy-plane vector field with uniform orientation specified by the given angle. The amplitude is modified by a gaussian distribution centered on the specified position with given standard deviations.
\[A \exp\left(- \frac{(x - x_0)^2}{2\sigma_x^2} \frac{(y - y_0)^2}{2\sigma_y^2}\right) (\cos(\theta), \sin(\theta), 0)\]- Parameters:
position (tuple of three floats) – The position of the Gaussian distribution.
amplitude (float) – The amplitude of the uniform vector field.
angle (float) – The angle in radians of the uniform vector field direction.
sigma_x (float) – The standard deviation in the x-direction of the Gaussian distribution.
sigma_y (float) – The standard deviation in the y-direction of the Gaussian distribution.
- Returns:
Gaussian – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing u_x, u_y and u_z.
- Return type:
callable
- gaussian_uniform_IP(amplitude, theta, gausspos, sigma, phi)#
Create an in-xy-plane vector field with uniform orientation specified by the given angle theta. The amplitude is modified by a one-dimensional Gaussian distribution centered on gausspos, which varies along the transverse direction in the xy-plane specified by angle phi.
\[A \exp\left(-\frac{(x'-x_0)^2}{2\sigma^2}\right) (\cos(\theta) ,\sin(\theta), 0)\]with x0 = gausspos and x’ = x*cos(ϕ) + y*sin(ϕ)
- Parameters:
amplitude (float) – The amplitude of the vector field.
theta (float) – The angle in radians of the uniform vector field direction.
gausspos (floats) – The center position of the Gaussian distribution.
sigma (float) – The gaussian standard deviation.
phi (float) – The angle in radians of the transverse direction.
- Returns:
Gaussian – a function which takes x-, y- and z-coordinates and returns a 3-tuple containing u_x, u_y and u_z.
- Return type:
callable