Skip to content
View swapneelap's full-sized avatar
🏗️
What I do not create, I do not understand.
🏗️
What I do not create, I do not understand.

Organizations

@ubermag

Block or report swapneelap

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
swapneelap/README.md

Hi, I'm Swapneel Pathak 👋

Research Software Engineer · Computational Physicist · Open-Source Developer

I build simulation software where Python ergonomics meets Rust performance — with physics underneath.

GitHub Codeberg LinkedIn Email


👨‍💻 What I do

I am a Research Software Engineer with a PhD in Computational Physics, working at the intersection of numerical simulation, high-performance scientific software, and machine learning.

My work usually starts with a physical problem and ends somewhere between a numerical method, a simulation framework, an optimized kernel, and a Python API that other researchers can actually enjoy using.

     physical model
          │
          ▼
  numerical formulation
          │
          ▼
   simulation software
   Python ⇄ Rust ⇄ HPC
          │
          ▼
 analysis / ML / discovery

The recurring themes in my work

  • 🧮 Scientific computing — finite elements, boundary elements, finite differences, ODE integration and multiphysics simulation
  • 🦀 Python + Rust — PyO3 bindings, ndarray, rayon, cubecl, maturin, parallel CPU workloads and GPU-oriented development
  • 🤖 Machine learning for simulation — surrogate models, autoencoders, dimensionality reduction, clustering and Bayesian hyperparameter optimisation
  • 🧲 Computational magnetism — micromagnetics, magnetisation dynamics, spin waves and three-dimensional magnetic systems
  • 🛠️ Research software engineering — testing, CI/CD, packaging, reproducible workflows and open-source maintenance

🚧 What I'm building

Sankhya

A growing collection of tools for scientific computing and simulation.

A Python library for defining numerical approximations of scalar and vector fields, developed with finite-element analysis in mind.

Dhruv

A finite-element micromagnetic simulation framework with a Python domain-specific interface and computationally intensive components implemented in Rust.

The design philosophy is simple:

Keep the scientific interface expressive. Put the heavy lifting where it belongs.


⚙️ My technical toolbox

Languages & performance

  • Python
  • Rust
  • C++
  • Lua
  • PyO3
  • ndarray
  • rayon
  • maturin

Numerical computing

  • Finite Element Method
  • Boundary Element Method
  • Finite Difference Method
  • Explicit & implicit ODE integration
  • Multiphysics simulation
  • Differential geometry for field representations

Machine learning

  • PyTorch
  • JAX
  • TensorFlow
  • Burn
  • Autoencoders & VAEs
  • Gaussian mixture models
  • Density-based clustering
  • Physics-informed surrogate models
  • Bayesian optimisation

Software engineering

  • Git
  • Linux
  • Unit & regression testing
  • GitHub / GitLab CI
  • Python packaging
  • Rust packaging
  • Open-source maintenance
  • HPC environments
  • CPU & GPU parallelisation

🔬 Problems I've worked on

Area Examples
Micromagnetics 3D nanomagnets, non-centrosymmetric ferromagnets, bulk DMI, magnetisation dynamics, spin-wave dynamics
Scientific ML High-dimensional simulation data, convolutional/variational autoencoders, clustering and physics-informed surrogate models
Multiphysics FEM Current-density + heat diffusion simulations in superconducting devices for optimisation of current pad position and geometry
Simulation frameworks Open-source Python simulation ecosystems, numerical field representations and Python/Rust hybrid architectures
High-performance computing Moving computational kernels from Python to Rust and exploiting CPU/GPU parallelism

🧠 A little more than code

I enjoy the part of research software engineering where physics, mathematics and software design have to agree with each other.

I also supervise and mentor researchers working on:

  • micromagnetic simulations,
  • unsupervised learning for high-dimensional simulation data,
  • numerical simulation software in Python and Rust,
  • CPU and GPU acceleration of scientific workloads.

🎓 Background

PhD in Computational Physics
University of Strasbourg, France

Integrated Master of Science in Physics
Indian Institute of Technology Roorkee, India

My professional work has taken me through research environments in Germany, the United Kingdom, France and India, with a strong focus on interdisciplinary and open-source scientific software.


💬 Things I enjoy talking about

scientific computing · Rust for science · Python APIs · FEM · BEM · micromagnetics · simulation software · machine learning for physics · HPC · open source

If any of those overlap with what you're working on, feel free to reach out.

Find me elsewhere

LinkedIn · Codeberg · Email

Popular repositories Loading

  1. fem-bem-magnetostatics fem-bem-magnetostatics Public

    Repository to show how `bempp-cl` and `skfem` can be used to calculate demagnetisation field in micromagnetic framework.

    Jupyter Notebook 2 1

  2. Mumax-Scripts Mumax-Scripts Public

    Mumax Simulation input files

  3. Vampire Vampire Public

    Vampire Micromagnetic Simulator input and configuration files

    GLSL

  4. MCT MCT Public archive

    Market Charting Tool

    Python

  5. Ubermag-SRDFT Ubermag-SRDFT Public

    Jupyter Notebook

  6. Titanic-Dataset Titanic-Dataset Public

    Python