三维电磁扩散的多重网格求解器。

emg3d的Python项目详细描述


emg3d logo
三维三向电磁扩散的多重网格求解器 各向异性。无矩阵解算器可用作主解算器或 krylov子空间方法之一的预条件器 scipy.sparse.linalg,控制方程在 交错的叶栅。代码完全用python编写,使用 numpy/scipy堆栈,其中最耗费时间和内存的部分被加速 通过jitten numba函数。

更多信息

有关安装、使用、贡献、路线图、错误的详细信息 报告等,请参见

功能

  • 规则网格三维电磁扩散的多重网格求解器。
  • 可以与SimPEG-框架一起使用。
  • 可以作为一个独立的解算器,也可以作为各种krylov的预处理器。 用scipy实现的子空间方法,例如bicgstab (scipy.sparse.linalg.bicgstab)或cgs(scipy.sparse.linalg.cgs)。
  • 三轴电各向异性。
  • 各向同性磁导率。
  • 半桨和线松弛。
  • 网格大小可以是任何东西。
  • 作为一种多重网格方法,它可以根据未知数n进行缩放,并且 因此,最优复杂性^ {EM1} $ O(n)

安装

您可以通过conda(首选):

conda install -c prisae emg3d

或通过pip

pip install emg3d

需要python 3.7或更高版本以及模块NumPySciPy, 并且numbadiscretize(来自SimPEG)是高度的 推荐。

如果您是python新手,我们建议您使用python发行版,它将 确保满足所有依赖项,特别是正确编译的版本 对于NumPySciPy,我们建议使用Anaconda。如果你安装了水蟒,你可以简单地 启动anaconda navigator,添加频道prisae,然后emg3dwill 出现在软件包列表中,单击即可安装。

引文

如果您发布了使用emg3d的结果,请引用 Werthmüller et al. (2019)

Werthmüller, D., W. A. Mulder, and E. C. Slob, 2019, emg3d: A multigrid solver for 3D electromagnetic diffusion: submitted to the Journal of Open Source Software, 4(37), 1463; DOI: 10.21105/joss.01463.

所有版本都有一个zenodo doi,在release-page上提供。

有关代码的历史记录,请参见credits

许可证信息

版权所有2018-2019 EMG3D开发者。

在apache许可2.0版下获得许可,请参阅LICENSE-文件。

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

推荐PyPI第三方库


热门话题
java如何提高我的软件项目的速度?   java将Jetty嵌入JavaSE项目   数组中的java重复字符   java我的Shell排序没有按预期工作,我需要一些帮助来找出我做错了什么   java如何在JBoss EAP6/AS7中应用先过滤后安全约束   java使用一个随机运算符来处理多个变量   java为什么我不能在文件中写我的二叉树?   java应用程序不会在Eclipse emulator上运行   我第一次尝试制作一个简单的基于瓷砖的java游戏   java为TermVectors安装Solr修补程序   java无法将更新的对象值从客户端发送到服务器,服务器读取不存在的值   Azure,java sdk,使用ARM模板部署无法转换参数文件   是否有一个Java等价于空合并运算符(?)在C#?   java如果只初始化了超类对象,是否可以调用特定于子类的方法?   向类文件传递值时出现java NullPointerException   java模不起作用   java Android TranslateAnimation动态更新布局的大小   数据结构如何在java中实例化队列对象?   java如果用户选择一些随机的相机应用程序,如何在安卓中正确处理相机意图?