def Mesh_Theta(target_size,omega,mu_0,s_Ray,N_turns,l,electrodes_angle):
freq = omega/(2*numpy.pi)
lambda_approx = 1/(freq*numpy.mean(s_Ray))
R0 = target_size + omega*numpy.mean(mu_0)*lambda_approx/(2*numpy.pi)
if l==0:
Theta = []
phi_0 = 2*numpy.pi*R0/lambda_approx
for n in range(N_turns):
Theta_max = 2*numpy.pi
R_approx = R0+n*lambda_approx
dTheta = lambda_approx/(6*R_approx)
Theta.append(numpy.arange(electrodes_angle[0],Theta_max+electrodes_angle[0],dTheta))
else:
Theta_max = 2*numpy.pi*numpy.ceil(N_turns/numpy.absolute(l))
Theta = [electrodes_angle[0]]
while Theta[-1]<(electrodes_angle[0]+Theta_max):
R_approx = R0+numpy.abs(l)*Theta[-1]*lambda_approx/(2*numpy.pi)
dTheta = lambda_approx/(6*R_approx)
Theta.append(Theta[-1]+dTheta)
if l<0:
Theta = Theta[::-1]
phi_0 = numpy.abs(l)*(Theta[0]+2*numpy.pi*R0/lambda_approx)
else:
phi_0 = (2*numpy.pi*R0/lambda_approx)
return {'Theta':Theta,'phi_0':phi_0}
评论列表
文章目录