29import matplotlib.pyplot
as plt
30import matplotlib
as mpl
34''' Testing routine for different dipole formulations
36 Plots streamlines of magnetic field in the meridional x-z-plane for four different models
41 testset = int(sys.argv[1])
46plt.switch_backend(
'Agg')
48outfilename =
"./vecpotdip_verify_streamlines_"+str(testset)+
".png"
67 tilt_angle_theta = 45.
83fig.set_size_inches(20,20)
86gs = mpl.gridspec.GridSpec(2, 2, wspace=0.25, hspace=0.25)
87fig.add_subplot(gs[0, 0])
88fig.add_subplot(gs[0, 1])
89fig.add_subplot(gs[1, 0])
90fig.add_subplot(gs[1, 1])
93fig.suptitle(
r"Streamlines of meridional plane magnetic field with dipole tilt $\Phi="+str(int(tilt_angle_phi))+
"$, $\Theta="+str(int(tilt_angle_theta))+
"$ with IMF=("+str(BGB[0])+
","+str(BGB[1])+
","+str(BGB[2])+
")", fontsize=fontsize)
100x = np.linspace(xmin,xmax,num=nx)
101z = np.linspace(zmin,zmax,num=nz)
102BX = np.zeros([nx,nz])
103BZ = np.zeros([nx,nz])
105[Xmesh,Zmesh] = scipy.meshgrid(x,z)
118for i
in range(len(x)):
119 for j
in range(len(z)):
120 BX[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
121 BZ[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
122ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
123ax.text(0.2,0.08,
"Regular dipole",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
128for i
in range(len(x)):
129 for j
in range(len(z)):
130 BX[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
131 BZ[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
132ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
133ax.text(0.2,0.08,
"Vector potential (X)",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
148for i
in range(len(x)):
149 for j
in range(len(z)):
150 BX[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,0,0)
151 BZ[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,2,0)
152 BX[j,i] += mdip.get_old(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
153 BZ[j,i] += mdip.get_old(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
154ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
155ax.text(0.2,0.08,
"Regular dipole + mirror",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
157if tilt_angle_phi<epsilon:
160 for i
in range(len(x)):
161 for j
in range(len(z)):
162 BX[j,i] = dip.get_ldp(x[i]*RE,0,z[j]*RE,0,0,0)
163 BZ[j,i] = dip.get_ldp(x[i]*RE,0,z[j]*RE,0,2,0)
164 BX[j,i] += mdip.get_ldp(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
165 BZ[j,i] += mdip.get_ldp(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
166 ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
167 ax.text(0.2,0.08,
"Line dipole + mirror",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
169fig.savefig(outfilename)