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_streamlines2_"+str(testset)+
".png"
67 tilt_angle_theta = 45.
72 BGB=[2.236e-9,0,-2.236e-9]
75 tilt_angle_theta = 40.
76 BGB=[2.236e-9,0,-2.236e-9]
94fig.set_size_inches(20,20)
97gs = mpl.gridspec.GridSpec(2, 2, wspace=0.25, hspace=0.25)
98fig.add_subplot(gs[0, 0])
99fig.add_subplot(gs[0, 1])
100fig.add_subplot(gs[1, 0])
101fig.add_subplot(gs[1, 1])
104fig.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)
111x = np.linspace(xmin,xmax,num=nx)
112z = np.linspace(zmin,zmax,num=nz)
113BX = np.zeros([nx,nz])
114BZ = np.zeros([nx,nz])
116[Xmesh,Zmesh] = scipy.meshgrid(x,z)
129for i
in range(len(x)):
130 for j
in range(len(z)):
131 BX[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
132 BZ[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
133ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
134ax.text(0.2,0.08,
"Regular dipole",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
139for i
in range(len(x)):
140 for j
in range(len(z)):
141 BX[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
142 BZ[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
143ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
144ax.text(0.2,0.08,
"Vector potential (X)",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
159for i
in range(len(x)):
160 for j
in range(len(z)):
161 BX[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,0,0)
162 BZ[j,i] = dip.get_old(x[i]*RE,0,z[j]*RE,0,2,0)
163 BX[j,i] += mdip.get_old(x[i]*RE,0,z[j]*RE,0,0,0) +BGB[0]
164 BZ[j,i] += mdip.get_old(x[i]*RE,0,z[j]*RE,0,2,0) +BGB[2]
165ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
166ax.text(0.2,0.08,
"Regular dipole + mirror",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
182for i
in range(len(x)):
183 for j
in range(len(z)):
184 BX[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,0,0)
185 BZ[j,i] = dip.getX(x[i]*RE,0,z[j]*RE,0,2,0)
187 BX[j,i] += imfpot.get(x[i]*RE,0,z[j]*RE,0,0,0)
188 BZ[j,i] += imfpot.get(x[i]*RE,0,z[j]*RE,0,2,0)
189ax.streamplot(Xmesh,Zmesh,BX,BZ,linewidth=1, density=5, color=
'k')
190ax.text(0.2,0.08,
"Vector potential (X) + IMF potential",transform=ax.transAxes, bbox=dict(facecolor=
'white', alpha=0.7), fontsize=fontsize)
192fig.savefig(outfilename)