Skip to main content
emg3d logo

A multigrid solver for 3D electromagnetic diffusion with tri-axial electrical anisotropy. The matrix-free solver can be used as main solver or as preconditioner for one of the Krylov subspace methods implemented in scipy.sparse.linalg, and the governing equations are discretized on a staggered Yee grid. The code is written completely in Python using the NumPy/SciPy-stack, where the most time- and memory-consuming parts are sped up through jitted numba-functions.

More information

For more information regarding installation, usage, contributing, roadmap, bug reports, and much more, see

Features

  • Multigrid solver for 3D electromagnetic (EM) diffusion with regular grids (where source and receiver can be electric or magnetic).

  • Calculate the 3D EM field in the complex frequency domain or in the real Laplace domain.

  • Includes also routines to calculate the 3D EM field in the time domain.

  • Can be used together with the SimPEG-framework.

  • Can be used as a standalone solver or as a pre-conditioner for various Krylov subspace methods implemented in SciPy, e.g., BiCGSTAB (scipy.sparse.linalg.bicgstab) or CGS (scipy.sparse.linalg.cgs).

  • Tri-axial electrical anisotropy.

  • Isotropic magnetic permeability.

  • Semicoarsening and line relaxation.

  • Grid-size can be anything.

  • As a multigrid method it scales with the number of unknowns N and has therefore optimal complexity O(N).

Installation

You can install emg3d either via conda (preferred):

conda install -c conda-forge emg3d

or via pip:

pip install emg3d

Required are Python version 3.7 or higher and the modules NumPy, SciPy, numba, and empymod; discretize (from SimPEG) is highly recommended. Consult the installation notes in the manual for more information regarding installation and requirements.

Citation

If you publish results for which you used emg3d, please give credit by citing Werthmüller et al. (2019):

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

All releases have a Zenodo-DOI, which can be found on 10.5281/zenodo.3229006.

See CREDITS for the history of the code.

License information

Copyright 2018-2020 The emg3d Developers.

Licensed under the Apache License, Version 2.0, see the LICENSE-file.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emg3d-0.10.1.tar.gz (78.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emg3d-0.10.1-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

Details for the file emg3d-0.10.1.tar.gz.

File metadata

  • Download URL: emg3d-0.10.1.tar.gz
  • Upload date:
  • Size: 78.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for emg3d-0.10.1.tar.gz
Algorithm Hash digest
SHA256 71bde690c0bda709ee60fb05c44f1d208f42b2cf513b4e6fbb35ae23fad3daef
MD5 49c4517d08e9c9449c52bedd146c5dba
BLAKE2b-256 09ac97c24216c6ed834be4ec8da07202840414a658d5613ee2231f99e7bf1610

See more details on using hashes here.

File details

Details for the file emg3d-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: emg3d-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 73.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for emg3d-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8c39c2dae96aed58a6812e5356cebbc2ace5c369a3d73c8250620b162665c3e0
MD5 2ad44044a223900623e124cd77954f9a
BLAKE2b-256 e7a24ca2788e364652f90ca0861a8c2b702be1f24ca4cfa9fc4ab141e6f8b6fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page