In[]:=
ψBarMagnetHeld=WolframAlpha["magnetic potential rectangular bar magnet",{{"Result",1},"Input"}];ψBarMagnet[{x_,y_,z_},{a_,b_,c_}]=(ReleaseHold[ψBarMagnetHeld]/.{QuantityVariable[x_,y_]:>x})/;ℋBarMagnet[{x_,y_,z_},{a_,b_,c_}]=-D[ψBarMagnet[{x,y,z},{a,b,c}],{{x,y,z}}];ℬBarMagnet[{x_,y_,z_},{a_,b_,c_}]=ℋBarMagnet[{x,y,z},{a,b,c}]+{0,0,1}UnitStep[(a/2)^2-x^2]UnitStep[(b/2)^2-y^2]UnitStep[(c/2)^2-z^2];
M
0
In[]:=
crossSectionFieldPlot[field_,fieldStrength_]:=Block[{a=1.5,b=0.5,c=5.5},StreamPlot[fieldStrength,{x,-a,a},{z,-c,c},PlotRange{{-2c,2c},{-2c,2c}},PlotRangeClippingTrue,VectorScale->Medium,StreamPoints->{{0,0},{6,0}},AspectRatio1,Frame->None]]
In[]:=
crossSectionFieldPlot["ℬ",ℬBarMagnet[{x,0,z},{a,b,c}][[{1,3}]]]
Out[]=
ψBarMagnetHeld=WolframAlpha["magnetic potential rectangular bar magnet",{{"Result",1},"Input"}];ψBarMagnet[{x_,y_,z_},{a_,b_,c_}]=(ReleaseHold[ψBarMagnetHeld]/.{QuantityVariable[x_,y_]:>x})/Subscript[M,0];ℋBarMagnet[{x_,y_,z_},{a_,b_,c_}]=-D[ψBarMagnet[{x,y,z},{a,b,c}],{{x,y,z}}];ℬBarMagnet[{x_,y_,z_},{a_,b_,c_}]=ℋBarMagnet[{x,y,z},{a,b,c}]+{0,0,1}UnitStep[(a/2)^2-x^2]UnitStep[(b/2)^2-y^2]UnitStep[(c/2)^2-z^2];