我想画一个正电荷在圆柱对称磁场中的运动。
假设一个圆柱体绕着z轴旋转,磁场是顺时针方向的。B场的震级为6T,距离z轴的距离R为3m。带电粒子沿z轴正向发射,能量为2 MeV。
我不确定如何正确模拟这个B场。我想在柱坐标系中创建B场,
从0到2pi的气缸:theta=numpy.linspace(0, 2*numpy.pi, 360)
x=r*numpy.cos(theta)
y=r*numpy.sin(theta)
Bx=B0*(numpy.cos(numpy.arctan2(y,x)
By=B0*(-numpy.sin(numpy.arctan2(y,x)))
Bz=0
然后创建一个向量B=[Bx, By, Bz]
,从中我可以用洛伦兹力计算时间跨度t的加速度。
但我想我会在这件事上兜圈子。有没有其他方法可以产生圆柱对称的磁场
与
solve_ivp()
一起:只有两个函数,第一个函数
B()
负责磁场的几何结构(相对于z轴旋转不变,并且径向不变,在每个点上的大小始终相同),第二个函数f()
负责物理,提供由磁场B()
产生的速度和洛伦兹加速度,在每个点计算。后一个函数是运动微分方程的右侧,进入solve_ivp()
也许这就是你想要的
相关问题 更多 >
编程相关推荐