HemiSphere’ Electronic Field

author: Li

ClearAll["Global`*"]

Due to the limitation of my knowledge to MMA, I have to use a function to do calculate the field.

field[{x_,y_,z_}]:=NIntegrate[ {x -Cos[u]Sin[v],y-Sin[u] Sin[v],z-Cos[v]}/(Norm[{x -Cos[u]Sin[v],y-Sin[u] Sin[v],z-Cos[v]}]^3),{u,0,Pi},{v,0,Pi}]

hemisphere=ParametricPlot3D[{Cos[u]Sin[v],Sin[u] Sin[v],Cos[v]},{u,0,Pi},{v,0,Pi},Mesh->None,PlotStyle->Opacity[0.3,Yellow]];

Note that the calculation of res is very time consuming and it would throw out tons of warnings. And if possible, you could increase the scale to see a more precise result.

res=ListVectorPlot3D[Table[{{x,y,z},field[{x,y,z}]},{x,-1.2,1.4,0.3},{y,-1.2,2,0.8},{z,-1,1,0.9}],VectorMarkers->"Arrow",VectorSizes->Tiny];

Show[{semisphere,res},ViewPoint->{0,0,Infinity},AxesLabel->{"x","y","z"},PlotRange->All]

You can export the figure via:

(* Export["path", %] *)