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