Flan is named after my dog, Flannery. It does not stand for anything.
Typical usage is to track a trace amount of impurities in a turbulent background generated by Gkeyll. Flan follows impurities in a plasma in a fully kinetic, Monte Carlo sense and is built on first-principles.
- The particles are tracked according to Lorentz force using the energy conserving Boris time stepping algorithm:
$$\vec{F}=m(\vec{E} + \vec{v} \times \vec{B})$$ - Particle ionization and recombination is tracked via coupling to ADAS
- The collision model is based on the publication: Nanbu, K. Theory of cumulative small-angle collisions in plasmas. Phys. Rev. E 55, 4642–4652 (1997). This is a fully general collision scheme for Monte Carlo applications valid in all plasma regimes (with the only approximation being the plasma is in thermal equlibrium when calculating the Coulomb logarithm, likely a relatively negligible effect).
A publication detailing Flan is anticipated in 2025.
- Restructure impurity transport routines to use SoA for efficient GPU implementation (ongoing)
- Couple to CGYRO and/or SOLEDGE3X (starting late 2026)
Incorporate MPI to spread computation across multiple nodesMerged to main 6/3/26Add time profilingMerged to main 7/31/25Upgrade to Nanbu collision modelMerged to main 7/23/25Expand code to non-Cartesian geometries (e.g., tokamak coordinates)Merged to main 5/30/25
FLAN is dual-licensed under the GNU General Public License v3.0 (GPLv3) and a commercial license.
- The GPLv3 license applies to all open-source use.
- A commercial license is available for organizations that wish to use FLAN in proprietary software, avoid GPL obligations, or obtain commercial support.
For commercial licensing inquiries, please contact: zamperinis@fusion.gat.com.
