.. image:: ./_static/emsig-logo.svg :width: 400 px :align: center :alt: emsig logo :target: https://emsig.xyz :class: dark-light | | | ======================================== ElectroMagnetic Simulation in Geophysics ======================================== **emsig** are open-source codes to simulate electromagnetic data. Their main targets are geophysical applications (exploration and monitoring, engineering, environmental), but they are by no means limited to that. The main codes are listed on this page. The `emsig GitHub org `_ contains besides the main codes also related publications for reproducibility purposes and other associated things of interest, such as smaller codes which were part of publications. | | | .. grid:: 1 1 2 2 :gutter: 2 .. grid-item-card:: :img-top: _static/empymod-logo.svg 3D EM modeller for 1D VTI media ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://empymod.emsig.xyz :expand: :color: info :click-parent: empymod.emsig.xyz The modeller **empymod** can compute electric or magnetic responses due to a 3D electric or magnetic source in a layered-earth model with vertical transverse isotropic (VTI) resistivity, VTI electric permittivity, and VTI magnetic permeability, from very low frequencies (DC) to very high frequencies (GPR). The computation is carried out in the wavenumber-frequency domain, and various Hankel- and Fourier-transform methods are included to transform the responses into the space-frequency and space-time domains. ++++++ .. code:: bash pip install empymod .. code:: bash conda install -c conda-forge empymod .. grid-item-card:: :img-top: _static/emg3d-logo.svg Multigrid solver for 3D EM diffusion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://emg3d.emsig.xyz :expand: :color: info :click-parent: emg3d.emsig.xyz The modeller **emg3d** is a multigrid solver for 3D EM diffusion with tri-axial electrical anisotropy. The matrix-free solver can be used as main solver or as preconditioner for Krylov subspace methods, and the governing equations are discretized on a staggered Yee grid. ++++++ .. code:: bash pip install emg3d .. code:: bash conda install -c conda-forge emg3d .. grid-item-card:: :img-top: _static/elfe3D-logo.svg Modelling with the total electric field approach using finite elements in 3D ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/elfe3D :expand: :color: info :click-parent: github.com/emsig/elfe3D **elfe3D** is a 3D forward modelling code that can simulate electric and magnetic field responses from frequency-domain controlled-source electromagnetic geophysical setups. It uses tetrahedral meshes and first-order finite-element approximations. In addition, adaptive mesh refinement approaches are implemented. .. grid-item-card:: :img-top: _static/EMmod-logo.svg The electromagnetic response in a layered vertical transverse isotropic medium ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/EMmod :expand: :color: info :click-parent: github.com/emsig/EMmod **EMmod**, which stands for electromagnetic modeling, is an algorithm to model the full electromagnetic field in a vertical transverse isotropic (VTI) layered medium. Although the algorithm was designed for frequency-domain marine Controlled Source Electromagnetics (CSEM), it can also be used to simulate data for other geophysical exploration methods like for example Ground Penetrating Radar (GPR). The algorithm computes the EM-field analytically in the wavenumber-frequency domain and then carries out a numerical Hankel transformation to get the space-frequency domain representation. .. grid-item-card:: :img-top: _static/iEMmod-logo.svg Invert frequency-domain electromagnetic data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/iEMmod :expand: :color: info :click-parent: github.com/emsig/iEMmod The software **iEMmod** is a non-linear conjugate-gradient algorithm to invert frequency-domain electromagnetic data for a layered-Earth model. The forward solver used is our open-source layered-Earth electromagnetic modeling code EMmod. .. grid-item-card:: :img-top: _static/3Dhom-logo.svg Seismoelectromagnetic homogeneous space Green's functions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/3Dhom :expand: :color: info :click-parent: github.com/emsig/3Dhom **ElSeisHom3D** stands for computing the Green's functions of electromagnetic fields and elastic waves that are coupled in a homogeneous porous medium. The fields are the electric field, the magnetic field, the particle velocity, the filtration velocity, the acoustic pressure in the fluid, and bulk stress. The sources that generate these fields are the electric current source, the magnetic current source, the force source acting on the bulk, the force source acting on the fluid, the acoustic volume injection rate source acting on the fluid, and the deformation rate source acting on the bulk. The impulse responses that connect the fields to these sources are the Green's functions. .. grid-item-card:: :img-top: _static/libdlf-logo.svg Library of Digital Linear Filters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/libdlf :expand: :color: info :click-parent: github.com/emsig/libdlf **libdlf** is a library for digital linear filters. Codes until now had to hard-code their digital linear filters. This has several disadvantages. Having a common library that can be used by any code base in any language should hopefully widen the adoption of linear filters, make their use more reproducible, and might hopefully even spark the design of new, hopefully more robust filters or filters for new applications. ++++++ .. code:: bash pip install libdlf .. code:: bash conda install -c conda-forge libdlf .. grid-item-card:: :img-top: _static/pyfftlog-logo.svg A python version of FFTLog ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://pyfftlog.readthedocs.io :expand: :color: info :click-parent: pyfftlog.readthedocs.io **pyfftlog** is a python version of the logarithmic FFT code FFTLog. FFTLog is a set of fortran subroutines that compute the fast Fourier or Hankel (= Fourier-Bessel) transform of a periodic sequence of logarithmically spaced points. ++++++ .. code:: bash pip install pyfftlog .. code:: bash conda install -c conda-forge pyfftlog .. grid-item-card:: :img-top: _static/fftlog-logo.svg A python wrapper for FFTLog ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. button-link:: https://github.com/emsig/fftlog :expand: :color: info :click-parent: github.com/emsig/fftlog **fftlog** is a simple f2py-wrapper for the logarithmic FFT code FFTLog. FFTLog is a set of fortran subroutines that compute the fast Fourier or Hankel (= Fourier-Bessel) transform of a periodic sequence of logarithmically spaced points. ++++++ .. code:: bash pip install fftlog .. code:: bash conda install -c conda-forge fftlog | | | :fa:`fas fa-users fa-2x` Contributing & Contact ----------------------------------------------- **emsig** are community codes, please help to shape their future! .. grid:: 1 :gutter: 2 .. grid-item-card:: :fa:`code fa-2x` `Submit bugs, fix typos, contribute code, and so much more! `_ .. grid-item-card:: :fa:`fa-regular fa-comments fa-2x` Join the **#emsig**-channel on the `SWUNG Chat `_. .. grid-item-card:: :fa:`fa-regular fa-envelope fa-2x` If you prefer personal email you can contact me through my website `werthmuller.org. `_ | | | Related ecosystem ================= **emsig** and its codes are part of a bigger, fast growing, open-source **EM & Potential Geo-Exploration Python Ecosystem** (make a PR or get in touch to add your library): .. raw:: html

| | | .. dropdown:: About the name and logo of emsig The name **emsig** is an abbreviation in English and a pun in German. It stands primarily as abbreviation for ElectroMagnetic Simulation in Geophysics. However, **emsig** is also a German adjective, meaning *hard-working* or *diligent*. Surely, our codes make our computers work hard! Finally, moving to the logo, the **sig**-ending can be seen as the short form of **sigma**, the symbol generally used for conductivity in geophysics, one of the elementary properties in electromagnetic modelling. The «s» in the logo of **emsig** is denoted by «ς», a variation of «σ» (sigma) in the Greek alphabet. The symbol itself represents the perpendicularity of electric and magnetic fields. .. image:: ./_static/emsig-logo.svg :class: dark-light