MagneticField#
- class MagneticField(options)#
MagneticFielddefines static or spatially varying magnetic fields.Supports uniform bias, gradients, and quadratic terms, or a fully custom spatial distribution via
spaceFunc(). Provides derived-unit views and the field zeroFieldZero(for diagonal gradient).Example:
B = MagneticField(bias=[0;0;5e-4], gradient=diag([10,10,30])*1e-2); Bz = B.spaceFunc(); B0 = B.FieldZero;
- Constructor Summary
- MagneticField(options)#
Construct a
MagneticField.- Parameters:
bias (
double(3,1), optional) – Uniform bias \(\mathbf{B}_0=(B_x,B_y,B_z)\) in [T]gradient (
double(3,3), optional) – Gradient matrix \(\partial B_i/\partial x_j\) in [T/m]quadratic (
double(3,3,3), optional) – Quadratic tensor (not yet implemented)distribution (
function_handle, optional) – Custom spatial distribution \(\mathbf{B}(\mathbf{r})\)
If
distributionis provided, setsArbitraryDistributionand bypassesBias,Gradient, andQuadratic.
- Property Summary
- ArbitraryDistribution function_handle#
Custom \(\mathbf{B}(\mathbf{r})\) overriding components
- Bias (3,1) double = zeros(3,1)#
Uniform bias field \(\mathbf{B}_0=(B_x,B_y,B_z)\) in [T]
- BiasLu#
Bias in [G]
- FieldZero#
Field-zero position \(\mathbf{r}_0\) in [m] (diagonal gradient)
- Gradient (3,3) double = zeros(3,3)#
Gradient matrix \(\partial B_i/\partial x_j\) in [T/m]
- GradientLu#
Gradient in [G/cm]
- Quadratic (3,3,3) double = zeros(3,3,3)#
Quadratic tensor (not implemented)
- Method Summary
- spaceFunc()#
Build spatial magnetic field function \(\mathbf{B}(\mathbf{r})\).
- Returns:
function handle mapping \(\mathbf{r}\) to \(\mathbf{B}(\mathbf{r})\)
- Return type:
function_handle