一个简单的,用户友好的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 Scala:如何进行字符串连接以避免GC开销问题   java问题与<T扩展可比<?超级T>>   java struts2:s:checkbox与s:checkbox不在同一行   java不直接编写servlet来创建REST API的原因   java梯度背景   java重构大型JSON多个调用   java HttpServletRequest SetParameter   java使用支持作为默认的TX传播进行读取是否有意义?   java如何使用Serenity+cucumber重定向到准确的URL?   java R为什么我不能使用xlsx库?   java onItemLongClick未定义?   接口中的java JPA Hibernate更新查询   java如何在IKVM静态和动态模式之间进行选择?   mongodb为什么foreman忽略了。使用Heroku的Java环境   到目前为止,在websphere IBM中java错误地强制转换了varchar   数据结构Java堆栈peek   java Android应用程序蓝牙连接PhonePC   java JNI未满足链接错误:(类)。(方法)V   JavaSpring安全性:requireChannel=“https”导致重定向循环