计算基础学习包

pyEMLearn的Python项目详细描述


皮姆学习

一个用python编写的计算E&M库,用于学习基础知识

安装

pyEMLearn可通过pip获得:

 $ pip3 install pyEMLearn

(或者只要pip,如果您在windows上,或者您的python3安装有别名)

发展

要安装以开发此包:fork并从github下载此repo,请在head目录中打开一个终端并运行:

^{pr2}$

这将创建一个虚拟环境,激活它,安装所需的软件包, 然后将当前版本的pyEMLearn安装到虚拟环境中。在

对源代码进行更改后,重新运行最后一行进行安装 你的修改版本。在

正在创建源包

 $ python3 setup.py sdist bdist_wheel

上传到PyPI

 $ python3 -m twine upload dist/*

发展理念

这个包实际上是作为一个学习工具,而不是一个完整的计算工具。因此,为了与散射(传输)矩阵方法的理论更紧密地联系起来,许多核心代码故意效率低下。还有很多其他的计算E&M库,它们效率更高,并且具有更复杂的特性(如^{}^{}和{a3}) ]举几个例子)。因此,pyEMLearn中的开发总是优先考虑用户清晰性而不是代码效率。在

致谢

作者要感谢雷蒙德·鲁姆普夫博士(UTEP)的广泛贡献,本项目主要基于此。在

待办事项

  • []评论一切。在
  • []添加一些描述性示例
  • []添加一些更好的示例
  • []重组目录
  • []向目录中添加更多材料
  • [x] 添加透射矩阵法
  • [x] 创建source对象,它可以产生k-vec和偏振向量
  • [x] 创建field对象?哪个能跟踪E?在
  • []向field对象添加Poynting向量功能
  • [x] 开始考虑RCWA
  • []修复RCWA,它的AF坏了

V1待办事项,过时

  • [x] 用“t”矩阵充实接口对象
  • [x] 将接口对象添加到图层对象(和半平面对象)
  • []修改utils对象使其更通用
  • []将materials repr函数改为不返回参数,将其放入“summary”函数中
  • []完成文档串
  • [x] 重新构造材质目录
  • []向系统添加更多断言。init以确保传输层实际上不是注入层,或者间隙层实际上不只是厚度为零的层,等等
  • [x] 提高LHI材料的计算效率?(使用2c.pdf)
  • []花一些时间使所有类变量名在大小写/-/\
  • [x] 添加配置和许可文件
  • [x] 获取PyPi上的安装程序
  • []添加各向异性功能
  • []举一些更好的例子(布拉格反射器)
  • []为参数扫描计算添加并行化选项
  • [x] 添加椭圆变量支持
  • [x] 添加内部字段支持

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

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?