PUFFIN

Python Utility For FUV Irradiated disk deNsity structures

PUFFIN is a parametric framework for efficiently generating density structures of externally irradiated protoplanetary disks with photoevaporative winds. It provides a computationally efficient alternative to full radiation-hydrodynamic simulations, which can be used as inputs to chemical models, enabling systematic exploration of disk-wind chemistry across wide parameter ranges.

NEW RELEASE 11/02/26 (Version 1.0.0)

Installation

Install PUFFIN directly from PyPI using pip:

pip install puffin_disk

Requirements:

  • Python 3.8 or higher

  • numpy >= 1.20.0

  • scipy >= 1.7.0

  • matplotlib >= 3.3.0

Dependencies:

  • numpy

  • scipy

  • matplotlib

Key Features

  • Fast generation: Create 1D/2D density structures in seconds to minutes (vs. weeks/months for hydrodynamical simulations)

  • Validated framework: Extensively tested against 600+ hydrodynamical simulations

  • Comprehensive parameter coverage:

    • Stellar masses: 0.3 to 3.0 M☉

    • Disk radii: 20 to 150 au

    • Surface densities: 10¹ to 10⁴ g cm⁻²

    • External FUV fields: 10² to 10⁵ G₀

  • Flexible mass-loss rates: User-specified values or automatic interpolation from FRIED grid

  • Easy integration: Output compatible with chemical modelling and radiative transfer codes (eg. DALI, RADMC-3D)

Citation

If you use PUFFIN as part of your research, please cite our overview article:

@ARTICLE{2026arXiv260202011K,
       author = {{Keyte}, Luke and {Haworth}, Thomas J.},
        title = "{A parametric model for externally irradiated protoplanetary disks with photoevaporative winds}",
      journal = {arXiv e-prints},
     keywords = {Earth and Planetary Astrophysics, Instrumentation and Methods for Astrophysics},
         year = 2026,
        month = feb,
          eid = {arXiv:2602.02011},
        pages = {arXiv:2602.02011},
          doi = {10.48550/arXiv.2602.02011},
archivePrefix = {arXiv},
       eprint = {2602.02011},
 primaryClass = {astro-ph.EP},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2026arXiv260202011K},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Author

Luke Keyte
Postdoctoral Researcher
Queen Mary University of London
l.keyte@qmul.ac.uk

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests on GitHub. For major changes, please open an issue first to discuss proposed modifications.

Support

For questions, bug reports, or feature requests:

  • Open an issue on GitHub

  • Email: l.keyte@qmul.ac.uk

  • Check the documentation for detailed guides

License

This project is licensed under the MIT License.