Skip to content

Repository files navigation

tem-exp-rkfit: Fast Parallel Transient Electromagnetic Modelling using a Uniform-in-Time Approximation to the Exponential

This repository contains all code, data, and instructions necessary to reproduce the results presented in the Geophysical Journal International article:

"Fast parallel transient electromagnetic modelling using a uniform-in-time approximation to the exponential"
Authors: Ralph-Uwe Börner, Stefan Güttel

published in GJI on August 14, 2025

DOI: https://doi.org/10.1093/gji/ggaf319


Overview

We propose a novel method for computing transient electromagnetic (TEM) responses using a uniform-in-time rational approximation to the matrix exponential. The method is based on RKFIT and allows for efficient parallel computation.


Getting Started

1. Clone the repository

git clone https://github.com/ruboerner/tem-exp-rkfit.git
cd tem-exp-rkfit

Setup the Julia environment:

using Pkg
Pkg.activate(".")
Pkg.instantiate()

2. Run the example

Once you have installed the environment (see above), you can run the provided example script. To start Julia in the project environment with multiple worker processes, use the -p flag:

julia --project=. -p 8 run_RKFIT.jl

This would run Julia using 8 worker processes.

What the example does:

The script loads a finite element discretization that has been precomputed and stored in the JLD file disretization_3d_10ohmm.jld2 (Julia’s analogue of MATLAB’s .mat files). Specifically, it retrieves

  • the stiffness matrix K,
  • the mass matrix M,
  • the observation operator Q, and
  • the right-hand side vector f.

These matrices and vectors are then available in memory.

Notes:

  • -p N starts Julia with N additional worker processes, which enables parallel execution via Distributed.pmap, @everywhere, etc.
  • If you omit -p, Julia runs in single-process mode. You can still add workers later programmatically:
using Distributed
addprocs(8) # same effect as -p 8

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

We thank the Geophysical Journal International reviewers and editor for their valuable feedback, and gratefully acknowledge the open-source Julia ecosystem that made this work possible.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages