一个简单的,用户友好的python 3工具箱,用于计算永磁体的磁场和电流分布。
magpylib的Python项目详细描述
MagPylib-一个简单易用的Python3磁性工具箱
什么是Magpylib?
- 计算磁铁磁场、电流和 时刻(来源)。
- 它提供了方便的方法来生成、几何操作、分组 使资源集合可视化。
- 磁场由下伏(半解析)确定。 导致快速计算时间(亚毫秒)和 只需要很少的计算能力。
依赖关系:
python3.6+,numpy,matplotlib
指南和安装:
请check out our documentation获取入门和更多信息!
快速启动:
使用pip安装此项目:
- 在python环境终端中运行以下命令:
pip install magpylib
在本地安装此项目:
- 将此存储库克隆到您的计算机上。
- 在目录中,在conda终端中运行
pip install .
。
示例:
-
LI>两个具有轴向磁化的永磁体,并进行几何处理。它们组合在一个集合中,并使用提供的方法显示系统几何图形。
- 集合产生的总磁场在xz平面的网格上计算,并使用matplotlib显示。
程序输出:
代码:
# importsimportnumpyasnpimportmatplotlib.pyplotaspltimportmagpylibasmagpy# create magnetsmagnet1=magpy.source.magnet.Box(mag=[0,0,600],dim=[3,3,3],pos=[-4,0,3])magnet2=magpy.source.magnet.Cylinder(mag=[0,0,500],dim=[3,5],pos=[0,0,0])# manipulate magnetsmagnet1.rotate(45,[0,1,0],anchor=[0,0,0])magnet2.move([5,0,-4])# collect magnetspmc=magpy.Collection(magnet1,magnet2)# display system geometrypmc.displaySystem()# calculate B-fields on a gridxs=np.linspace(-10,10,20)zs=np.linspace(-10,10,20)Bs=np.array([[pmc.getB([x,0,z])forxinxs]forzinzs])# display fields using matplotlibfig,ax=plt.subplots()X,Y=np.meshgrid(xs,zs)U,V=Bs[:,:,0],Bs[:,:,2]ax.streamplot(X,Y,U,V,color=np.log(U**2+V**2),density=1.5)plt.show()