Debojyoti Ghosh

Computational Scientist · Center for Applied Scientific Computing, Lawrence Livermore National Laboratory

Software

Open-source scientific software I develop and contribute to.

I develop and contribute to open-source scientific software. The projects below are grouped by whether I am a primary developer or a contributor. Contribution counts are merged pull requests on the upstream repository, current as of October 2026. Only projects where I contributed substantive features are listed.

Primary developer

HyPar

A conservative finite-difference solver for n-dimensional hyperbolic-parabolic partial differential equations on Cartesian grids, written in C with MPI. Several physical models are included (linear advection-reaction-diffusion, Euler and Navier-Stokes equations, Fokker-Planck models for power systems) and others can be added. Spatial discretizations include MUSCL, WENO, CRWENO, and compact central schemes; time integration uses built-in Runge-Kutta methods or the PETSc TS module. CUDA support is available for selected models.

Dependencies: MPI (a serial build is produced if absent); PETSc and CUDA optional.
Documentation · Source

EUCLID

A high-order conservative finite-difference code for multifluid plasma simulation, used for interpenetrating and counterstreaming plasmas in inertial-confinement-fusion applications. Written in C++. The methods are described in Ghosh et al., Computers and Fluids 186 (2019).

The repository is not public; contact me for access.

TridiagLU

Parallel (MPI) solvers for distributed tridiagonal and block-tridiagonal systems. The parallel LU solver uses iterative substructuring, with the reduced system solved either directly (gather-and-solve with LU) or iteratively (point Jacobi). Multiple independent systems are solved in a single call, which is what makes nonlinear compact reconstruction affordable at scale. A test suite measures solver wall times.

Dependencies: MPI (a serial build is produced if absent).
Documentation · Source

IBCartINS3D

A three-dimensional Cartesian incompressible Navier-Stokes solver with an immersed boundary technique. Based on the fractional-step method, with higher-order upwind reconstruction for convection and second-order central discretization for viscous and pressure-correction terms. Viscous terms are integrated implicitly and convection explicitly. The parallel version uses a three-dimensional Cartesian domain decomposition.

Dependencies: MPI (a serial build is produced if absent).
Details · Source

Contributor

ProjectMerged PRsContribution
ERF 53 Lead developer of the Super-Droplet Method. Particle-based cloud microphysics including cold-cloud (ice) processes, adaptive-mesh support, terrain-following particle advection, a structure-of-arrays particle container, and CUDA/HIP/SYCL portability
ExaEpi 31 Multi-disease tracking with co-immunity and co-susceptibility, capacity-limited hospitalization, a medical workforce model, and the core agent-interaction kernels
WarpX 7 The preconditioning and linear-solver layer for implicit electromagnetic particle-in-cell: curl-curl operator preconditioner, sparse-matrix Jacobian assembly, and the PETSc SNES/KSP interface
PETSc — TSGLEE general linear methods with global error estimation; the MATKAIJ matrix format for implicit Runge-Kutta stage systems; Dormand-Prince and Bogacki-Shampine embedded RK schemes; extrapolated stage predictors for ARKIMEX (57 commits, 2013–2015)
COGENT — High-order time integration and implicit-explicit methods in a continuum gyrokinetic tokamak edge code
PICNIC — Particle-in-cell code with Coulomb collisions, on Chombo (131 commits)
PIAFS — Co-developer. High-order nonlinear hydrodynamics with photochemistry for plasma-based and gaseous optics, including the CUDA implementation (167 commits)
NUMA — Implicit-explicit, multirate, and extrapolated multirate time integration for adaptive-mesh atmospheric simulation

Notes on use

  • The codes I develop are mostly written in C or C++ and need only a standard compiler and MPI. Some builds optionally link PETSc.
  • Repositories are mirrored across GitHub, GitLab, and Bitbucket. GitHub is canonical.
  • Most repositories carry a readme covering the build and the input files. Documentation is uneven; the codes should be readable to someone with the relevant background in numerical methods and physics. Feedback is welcome.

Build notes