This repo contains code used for gradient-based minimization of laser plasma instabilities (LPI) using ADEPT-LPSE
This repository shows how to extend ADEPT
by using one of its existing solvers to perform gradient-based optimization.
The code is of 3 different categories
- Python scripts that run
ADEPT
in an optimization loop or parameter scan - Configuration
yaml
files forADEPT
- Module files that extend the
ADEPT
functionality by providing parameterized inputs, loss functions, and postprocessing functions
We solve the slowly-varying envelope approximation for modeling electron plasma waves driven at a quarter critical surface by a laser beam.
We want to minimize the LPI that occurs in a simulation. The free parameters are those that parameterize the bandwidth of the driving laser. Because our simulation is differentiable, we can take a gradient of the simulation with respect to the free parameters.
Rather than find just one set of optimal bandwidth parameters, we can choose to learn a generative function that learns the distribution of optimal parameters. This method is described in Joglekar, A. S. Generative Neural Reparameterization for Differentiable PDE-constrained Optimization. Preprint at http://arxiv.org/abs/2410.12683 (2024).
This repo provides the code for this method.
ADEPT
is a differentiable plasma physics simulation tool. It can be found at https://github.com/ergodicio/adept. This particular set of solvers uses a JAX adaptation of the Laser-Plasma Simulation Environment developed at UR-LLE.