source: sasmodels/doc/ref/magnetism/magnetism.rst @ deb854f

Last change on this file since deb854f was deb854f, checked in by smk78, 6 years ago

Updated help text regarding which models now have magnetic scattering

  • Property mode set to 100644
File size: 3.1 KB

Polarisation/Magnetic Scattering

In earlier versions of SasView magnetic scattering was implemented in just five (2D) models

From SasView 4.x it is implemented on most models in the 'shape' category.

In general, the scattering length density (SLD = $beta$) in each region where the SLD is uniform, is a combination of the nuclear and magnetic SLDs and, for polarised neutrons, also depends on the spin states of the neutrons.

For magnetic scattering, only the magnetization component $mathbf{M_perp}$ perpendicular to the scattering vector $mathbf{Q}$ contributes to the magnetic scattering length.


The magnetic scattering length density is then

βM = (γr0)/(2μB)σM = DMσM

where $gamma = -1.913$ is the gyromagnetic ratio, $mu_B$ is the Bohr magneton, $r_0$ is the classical radius of electron, and $sigma$ is the Pauli spin.

Assuming that incident neutrons are polarized parallel (+) and anti-parallel (-) to the $x'$ axis, the possible spin states after the sample are then

No spin-flips (+ +) and (- -)

Spin-flips (+ -) and (- +)


If the angles of the $Q$ vector and the spin-axis $x'$ to the $x$ - axis are $phi$ and $theta_{up}$, respectively, then, depending on the spin state of the neutrons, the scattering length densities, including the nuclear scattering length density ($beta{_N}$) are

β±± = βNDMMx when there are no spin-flips


β±∓ =  − DM(My±iMz) when there are


Mx = M0qxcos(θup) + M0qysin(θup) My = M0qycos(θup) − M0qxsin(θup) Mz = M0z M0qx = (M0xcosφ − M0ysinφ)cosφ M0qy = (M0ysinφ − M0xcosφ)sinφ

Here, $M_{0x}$, $M_{0x}$, $M_{0z}$ are the x, y and z components of the magnetization vector given in the laboratory xyz frame given by

M0x = M0cosθMcosφM M0y = M0sinθM M0z =  − M0cosθMsinφM

and the magnetization angles $theta_M$ and $phi_M$ are defined in the figure above.

The user input parameters are:

M0_sld = $D_M M_0$
Up_theta = $theta_{up}$
M_theta = $theta_M$
M_phi = $phi_M$
Up_frac_i = (spin up)/(spin up + spin down) neutrons before the sample
Up_frac_f = (spin up)/(spin up + spin down) neutrons after the sample


The values of the 'Up_frac_i' and 'Up_frac_f' must be in the range 0 to 1.


This help document was last changed by Steve King, 02May2015

Docutils System Messages

Note: See TracBrowser for help on using the repository browser.