Functions#
- SpinWaveToolkit.bls.susceptibilities.mo_linear(m, Q=1.0)#
The magneto-optic Kerr (or Faraday) susceptibility tensor (linear in magnetization) for a given magnetization vector.
The dynamic magnetization vector m is typically constructed from the Bloch functions of the corresponding spin-wave modes.
The laboratory coordinate frame of reference is z || to film normal and x || to in-plane wavevector with phi=0.
- Parameters:
- Returns:
- chi
ndarray () magneto-optic Kerr susceptibility tensor with shape
(3, 3, ...), where...is the shape of arrays in m, usuallyNf, Nkx, Nky.
- chi
See also
- SpinWaveToolkit.bls.susceptibilities.mo_quadratic(m, Bii=1.0, Bij=1.0, linearize_along=None)#
The magneto-optic Cotton-Mouton (or Voigt) susceptibility tensor (quadratic in magnetization) for a given magnetization vector.
The dynamic magnetization vector m is typically constructed from the Bloch functions of the corresponding spin-wave modes.
The laboratory coordinate frame of reference is z || to film normal and x || to in-plane wavevector with phi=0.
Linearization can be performed only when the static magnetization is along one of the principal axes (xyz). It is crucial to use linearization for dynamic effects, such as BLS.
- Parameters:
- m
tuple[ndarray] () dynamic magnetization vector (mx, my, mz). Each sub-array should have the same shape, e.g.
(Nf, Nkx, Nky)to be casted correctly to the BLS signal functions.- Bii
floatorcomplexorlist[float] orlist[complex], optional () First Cotton-Mouton magneto-optic constant. Default is 1.0. If given as a list/array of length 3, it is interpreted as the diagonal constants for the xx, yy, and zz components of the susceptibility, respectively (see Notes below). This constant is not used in the linearized susceptibility.
- Bij
floatorcomplexorlist[float] orlist[complex], optional () Second Cotton-Mouton magneto-optic constant. Default is 1.0. If given as a list/array of length 3, it is interpreted as the off-diagonal constants for the yz, xz, and xy components of the susceptibility, respectively (see Notes below).
- linearize_along{“x”, “y”, “z”,
None}, optional If not None, linearizes the susceptibility with magnetization assumed along given axis. Default is None.
- m
- Returns:
- chi
ndarray () magneto-optic Cotton-Mouton susceptibility tensor with shape
(3, 3, ...), where...is the shape of arrays in m, usuallyNf, Nkx, Nky.
- chi
See also
Notes
The full quadratic susceptibility tensor has the form:
[[Bii*mx^2, Bij*2*mx*my, Bij*2*mx*mz], [Bij*2*my*mx, Bii*my^2, Bij*2*my*mz], [Bij*2*mz*mx, Bij*2*mz*my, Bii*mz^2]]
where Bii and Bij are the diagonal and off-diagonal Cotton-Mouton constants, respectively. However, when given as 3-element lists/arrays, the constants can differ for each component, resulting in:
[[Bii[0]*mx^2, Bij[2]*2*mx*my, Bij[1]*2*mx*mz], [Bij[2]*2*my*mx, Bii[1]*my^2, Bij[0]*2*my*mz], [Bij[1]*2*mz*mx, Bij[0]*2*mz*my, Bii[2]*mz^2]]
When linearization is applied along a given axis, the susceptibility is simplified by assuming the static magnetization is along that axis, and only the dynamic components of the magnetization (to first order) contribute to the susceptibility. For example, if linearizing along “x”, we set
mx**2 = 0for the static part, and only my and mz which stand alone or multiply mx contribute linearly. Multiplied dynamic terms are neglected. This results in a susceptibility that is linear in my and mz, which is appropriate for calculating dynamic effects such as BLS when the static magnetization is along the x-axis.
- SpinWaveToolkit.bls.susceptibilities.mo_quadratic_yig111(m, g11, g12, g44, linearize_along=None)#
The magneto-optic Cotton-Mouton (or Voigt) susceptibility tensor (quadratic in magnetization) for a given magnetization vector, specifically for a YIG(111) film, using the constants g11, g12, g44.
The dynamic magnetization vector m is typically constructed from the Bloch functions of the corresponding spin-wave modes.
Linearization can be performed only when the static magnetization is along one of the principal axes (xyz). It is crucial to use linearization for dynamic effects, such as BLS.
The laboratory coordinate frame of reference is z || to film normal and x || to in-plane wavevector with phi=0. It relates to the cubic axes of YIG as follows: x || [11-2], y || [-110], z || [111].
For more information on the coordinate system and constants used, see: D. D. Stancil & A. Prabhakar. Spin waves: theory and applications. Springer, 2009. or A. M. Prokhorov, G. A. Smolenskii, and A. N. Ageev, Sov. Phys. Usp., vol. 27, p. 339, 1984. https://doi.org/10.1070/PU1984v027n05ABEH004292 (Note that the tensor in eq. (20) therein had to be transformed to our lab frame.)
- Parameters:
- m
tuple[ndarray] () dynamic magnetization vector (mx, my, mz). Each sub-array should have the same shape, e.g.
(Nf, Nkx, Nky)to be casted correctly to the BLS signal functions.- g11, g12, g44
floatorcomplex () Phenomenological Cotton-Mouton magneto-optical constants.
- linearize_along{“x”, “y”, “z”,
None}, optional If not None, linearizes the susceptibility with magnetization assumed along given axis. Default is None.
- m
- Returns:
- chi
ndarray () magneto-optic Cotton-Mouton susceptibility tensor with shape
(3, 3, ...), where...is the shape of arrays in m, usuallyNf, Nkx, Nky.
- chi
See also
Notes
When linearization is applied along a given axis, the susceptibility is simplified by assuming the static magnetization is along that axis, and only the dynamic components of the magnetization (to first order) contribute to the susceptibility. For example, if linearizing along “x”, we set
mx**2 = 0for the static part, and only my and mz which stand alone or multiply mx contribute linearly. Multiplied dynamic terms are neglected. This results in a susceptibility that is linear in my and mz, which is appropriate for calculating dynamic effects such as BLS when the static magnetization is along the x-axis.