Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FDEM1D

Frequency domain electromagnetic (FDEM) 1D forward and sensitivity modelling
Created by Daan Hanssens
Contact Daan.Hanssens@UGent.be

This repository contains the code associated with;
Hanssens, D., Delefortrie, S., De Pue, J., Van Meirvenne, M., and P. De Smedt, 2019. Frequency-Domain Electromagnetic Forward and Sensitivity Modeling: Practical Aspects of modeling a Magnetic Dipole in a Multilayered Half-Space. IEEE Geoscience and Remote Sensing Magazine, 7(1), 74-85

Frequency-Domain Electromagnetic Forward and Sensitivity Modeling: Practical Aspects of modeling a Magnetic Dipole in a Multilayered Half-Space

Frequency domain electromagnetic (FDEM) data are commonly acquired to provide spatially continuous information about subsurface electrical conductivity and/or magnetic susceptibility. In order to link the phase sensitive instrument responses with the subsurface physical properties, a forward model is indispensable. Although forward and sensitivity modelling have been described in literature, precise details are often lacking, which impedes reproducibility. In addition, following the rapid growth of FDEM applications, an increasing number of end-users, with a varying background knowledge in geophysics, is applying FDEM instrumentation. To advance the critical implementation of these techniques in a practical manner, we present an extensive theoretical description alongside pseudocode, MATLAB and Python code of both forward and sensitivity modelling approaches. The presented models govern the 1D normalized electromagnetic response and sensitivity of a magnetic dipole located on or over an idealized horizontally n-layered half-space, obtained through a superposition of Bessel functions of the zeroth and/or first order determined by the Hankel transform, as numerically calculated by means of a digital filter. Ultimately, we tested and validated the algorithm by comparing it to established modelling codes. This work aims to provide a comprehensive and practical contribution to FDEM implementation through: (1) an overview of recent advances; (2) a presentation of forward and sensitivity modelling procedures aimed at full reproducibility; (3) an independent validation of prior procedures; and (4) the inclusion of sensitivity modelling.

Code

Four different algorithms are presented: FDEM1DFWD_RC, FDEM1DFWD_PM, FDEM1DSENS_RC and FDEM1DSENS_PM. Where, FDEM1DFWD calculates the theoretical electromagnetic response of a loop-loop system located on or above a layered earth and FDEM1DSENS is used to obtain the sensitivity distribution within the considered model. Note that further discrepancy is made between the wave propagation approach, i.e. reflection coefficient (RC) or propagation matrix (PM). The presented algorithm calculates the forward response and/or sensitivity theoretically for a layered half-space (i.e. model) and one instrument setup, with each execution. However, this can easily be adjusted by adding more ‘dimensions’ to the modelling process.

MATLAB

In MATLAB R2016a (The MathWorks Inc., Natick, USA), the four aforementioned algorithms were implemented as four different functions: ‘FDEM1DFWD_RC.m’, ‘FDEM1DFWD_PM.m’, ‘FDEM1DSENS_RC.m’ and ‘FDEM1DSENS_PM.m’. The forward modelling programs have an input structure with the governing variables embedded in two different ‘structures’: one for the half-space (or Model characteristics) and one for the instrument setup (or Sensor characteristics). The sensitivity modelling program has the same input and an extra ‘string’ indicating the physical property for the sensitivity analysis.

Python

In Python 3 (core dependency on NumPy), the four aforementioned algorithms were implemented within ‘FDEM1D.py’ which embodies three ‘classes’. Two of them are used to generate the input ‘objects’: one for the half-space (or Model characteristics) ‘FDEM1D.Model’ and one for the instrument setup (or Sensor characteristics) ‘FDEM1D.Sensor’. The third class ‘FDEM1D.Calculate’ is used to calculate the forward response ‘FDEM1D.Calculate.forward’ or sensitivity distribution ‘FDEM1D.Calculate.sensitivity’ of the created input objects. Note that the sensitivity calculation also needs a ‘string’ to indicate the physical property for the sensitivity analysis. The wave propagation method can further be specified by using ‘RC’ to indicate the reflection coefficient (by default) or ‘PM’ for the propagation matrix approach. The perturbation can also be adjusted accordingly for the sensitivity calculation.

About

Frequency domain electromagnetic 1D forward and sensitivity modeling

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages