一个简单的,用户友好的python 3工具箱,用于计算永磁体的磁场和电流分布。

magpylib的Python项目详细描述


MagPylib-一个简单易用的Python3磁性工具箱


构建:

文档:

测试覆盖范围: Language grade: Python

下载: PyPI versionConda CloudConda Cloud

什么是Magpylib?

  • 计算磁铁磁场、电流和 时刻(来源)。
  • 它提供了方便的方法来生成、几何操作、分组 使资源集合可视化。
  • 磁场由下伏(半解析)确定。 导致快速计算时间(亚毫秒)和 只需要很少的计算能力。

依赖关系:

python3.6+numpymatplotlib


指南和安装:

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()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Java中的setter方法访问通过静态方法创建的实例的私有字段出错了,可以做什么?   javagui中的swing文档模型   java Spring JDBCTemplate+事务管理器内存泄漏   java不支持EntityManager。如果实体是@Cached/@Cacheable,getReference()是否重要?   java给定一个整数数组[x0-x1-x2],如何计算从[0-0]到[x0-x1-x2]的所有可能的置换?   java询问用户希望输入多少个名称,并将这些名称存储在数组中   java需要关于jComboBox和jTable的帮助   使用ArrayList的代码中出现java越界异常错误   java文件系统找不到指定的路径   java玩家名单总结   java验证上传的图像DPI和大小是否可打印   java当您更改xml文件中的属性时,调用哪个自定义视图的构造函数?