Particula
An Python-based aerosol simulator. Particula captures gas-particle interactions, transformations, and dynamics to power predictive aerosol science.
https://github.com/uncscode/particula
Category: Atmosphere
Sub Category: Atmospheric Chemistry and Aerosol
Keywords
aerosol atmosphere model package particle research science simulation
Keywords from Contributors
climate
Last synced: about 19 hours ago
JSON representation
Repository metadata
Particula is an open-source, aerosol simulation library.
- Host: GitHub
- URL: https://github.com/uncscode/particula
- Owner: uncscode
- License: mit
- Created: 2021-10-31T15:31:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-25T03:39:04.000Z (3 days ago)
- Last Synced: 2026-02-25T09:47:22.057Z (3 days ago)
- Topics: aerosol, atmosphere, model, package, particle, research, science, simulation
- Language: Python
- Homepage: https://uncscode.github.io/particula/
- Size: 807 MB
- Stars: 11
- Watchers: 0
- Forks: 10
- Open Issues: 2
- Releases: 37
-
Metadata Files:
- Readme: readme.md
- License: license
- Citation: citation
- Codeowners: .github/CODEOWNERS
- Agents: AGENTS.md
readme.md
Particula
A simple, fast, and powerful particle simulator for aerosol science.
Requires: Python 3.12+
Documentation | Examples | PyPI
Installation
pip install particula
or via conda:
conda install -c conda-forge particula
Quick Start
import particula as par
# Build an aerosol system
aerosol = (
par.AerosolBuilder()
.set_atmosphere(atmosphere)
.set_particles(particles)
.build()
)
# Run dynamics (chainable with | operator)
process = par.dynamics.Condensation(strategy) | par.dynamics.Coagulation(strategy)
aerosol = process.execute(aerosol, time_step=10, sub_steps=1000)
Code Structure
particula/
├── gas/ # Gas phase: species, vapor pressure, atmosphere
├── particles/ # Particle representations & distributions
├── dynamics/ # Time-dependent processes
│ ├── coagulation/
│ ├── condensation/
│ └── wall_loss/
├── activity/ # Activity coefficients, phase separation
├── equilibria/ # Gas-particle partitioning
└── util/ # Constants, validation, unit conversion
Documentation Guide
| Looking for... | Go to |
|---|---|
| Tutorials & walkthroughs | Examples/ |
| Scientific background | Theory/ |
| API reference | Full Docs |
| Contributing | contribute/ |
Examples by Topic
- Aerosol — Building and inspecting aerosol objects
- Dynamics — Coagulation, condensation, wall loss simulations
- Equilibria — Gas-particle partitioning calculations
- Gas Phase — Vapor pressure, species properties
- Particle Phase — Size distributions, optical properties
- Simulations — Full end-to-end scientific scenarios
Featured Examples
-
Aerosol Tutorial — Learn how to build gas species, atmospheres, particle distributions, and combine them into an
Aerosolobject. -
Organic Partitioning & Coagulation — Full simulation of secondary organic aerosol (SOA) formation from 10 organic vapors, followed by Brownian coagulation over 10 minutes.
-
Cloud Chamber Cycles — Multi-cycle cloud droplet activation demonstrating κ-Köhler theory across 3 seed compositions (Ammonium Sulfate, Sucrose, Mixed), showing how hygroscopicity affects activation at different supersaturations.
Features
- Gas & Particle Phases — Full thermodynamic modeling with swappable strategies
- Dynamics — Coagulation, condensation, wall loss, dilution
- Flexible Representations — Discrete bins, continuous PDF, particle-resolved
- Builder Pattern — Clean, validated object construction with unit conversion
- Composable Processes — Chain runnables with
|operator
Citation
If you use Particula in your research, please cite:
Particula [Computer software]. DOI: 10.5281/zenodo.6634653
License
MIT
Citation (citation)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Particula
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Particula
family-names: Developers
doi: 10.5281/zenodo.6634653
repository-code: 'https://github.com/uncscode/particula'
url: 'https://uncscode.github.io/particula/'
license: MIT
Owner metadata
- Name: uncscode
- Login: uncscode
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/91224023?v=4
- Repositories: 5
- Last ynced at: 2023-03-06T04:14:15.749Z
- Profile URL: https://github.com/uncscode
GitHub Events
Total
- Create event: 268
- Release event: 8
- Issues event: 172
- Watch event: 4
- Delete event: 227
- Issue comment event: 409
- Push event: 1480
- Pull request review comment event: 353
- Pull request review event: 418
- Pull request event: 269
Last Year
- Create event: 255
- Release event: 7
- Issues event: 166
- Watch event: 4
- Delete event: 216
- Issue comment event: 393
- Push event: 1417
- Pull request review comment event: 347
- Pull request review event: 410
- Pull request event: 260
Committers metadata
Last synced: 12 days ago
Total Commits: 1,901
Total Committers: 10
Avg Commits per committer: 190.1
Development Distribution Score (DDS): 0.168
Commits in past year: 1,065
Committers in past year: 5
Avg Commits per committer in past year: 213.0
Development Distribution Score (DDS) in past year: 0.058
| Name | Commits | |
|---|---|---|
| Kyle Gorkowski | k****w@g****m | 1581 |
| ngam | 6****m | 148 |
| dependabot[bot] | 4****] | 68 |
| copilot-swe-agent[bot] | 1****t | 40 |
| Naser Mahfouz | n****z@p****v | 35 |
| wkchuang | w****7@c****u | 16 |
| sourcery-ai[bot] | 5****] | 6 |
| Naser Mahfouz | 1****z | 5 |
| Akshay Kumar | a****0@g****m | 1 |
| Sourcery AI | 1 |
Committer domains:
- columbia.edu: 1
- pnnl.gov: 1
Issue and Pull Request metadata
Last synced: 9 days ago
Total issues: 202
Total pull requests: 498
Average time to close issues: 25 days
Average time to close pull requests: 5 days
Total issue authors: 6
Total pull request authors: 7
Average comments per issue: 0.45
Average comments per pull request: 1.67
Merged pull request: 387
Bot issues: 2
Bot pull requests: 95
Past year issues: 56
Past year pull requests: 201
Past year average time to close issues: 10 days
Past year average time to close pull requests: 2 days
Past year issue authors: 4
Past year pull request authors: 4
Past year average comments per issue: 0.21
Past year average comments per pull request: 1.83
Past year merged pull request: 159
Past year bot issues: 1
Past year bot pull requests: 9
Top Issue Authors
- Gorkowski (146)
- ngam (31)
- mahf708 (16)
- ngmahfouz (4)
- wkchuang (3)
- sourcery-ai[bot] (2)
Top Pull Request Authors
- Gorkowski (341)
- dependabot[bot] (70)
- ngam (36)
- sourcery-ai[bot] (25)
- mahf708 (15)
- wkchuang (6)
- ngmahfouz (5)
Top Issue Labels
- enhancement (75)
- bug (43)
- sourcery-ai (13)
- no-issue-activity (12)
- documentation (12)
- .data (10)
- next (4)
- analysis (4)
- .Lagrangian (4)
- Tests (3)
- .equilibria (2)
- question (2)
- wait (2)
- particlephase (1)
- .activity (1)
- release (1)
- type:complete (1)
- model:base (1)
- agent (1)
Top Pull Request Labels
- dependencies (72)
- github_actions (70)
- enhancement (69)
- documentation (66)
- codex (57)
- next (19)
- Refactor (17)
- bug (15)
- Tests (15)
- release (9)
- no-pr-activity (7)
- .data (3)
- .Lagrangian (3)
- packaging (3)
- analysis (1)
Package metadata
- Total packages: 2
-
Total downloads:
- pypi: 1,194 last-month
- Total dependent packages: 1 (may contain duplicates)
- Total dependent repositories: 1 (may contain duplicates)
- Total versions: 46
- Total maintainers: 1
pypi.org: particula
a simple, fast, and powerful particle simulator
- Homepage:
- Documentation: https://particula.readthedocs.io/
- Licenses: MIT License
- Latest release: 0.2.11 (published 26 days ago)
- Last Synced: 2026-02-20T23:07:34.593Z (7 days ago)
- Versions: 35
- Dependent Packages: 1
- Dependent Repositories: 1
- Downloads: 1,194 Last month
-
Rankings:
- Dependent packages count: 4.736%
- Average: 13.362%
- Downloads: 13.693%
- Dependent repos count: 21.657%
- Maintainers (1)
conda-forge.org: particula
Particula is a Python-based aerosol particle simulator. Its goal is to provide a robust aerosol simulation (including both gas and particle phases) that can be used to answer scientific questions arising from experiments and research endeavors.
- Homepage: https://uncscode.github.io/particula
- Licenses: MIT
- Latest release: 0.0.12 (published over 3 years ago)
- Last Synced: 2026-01-24T17:06:36.112Z (about 1 month ago)
- Versions: 11
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.025%
- Average: 48.811%
- Dependent packages count: 51.175%
- Forks count: 51.645%
- Stargazers count: 58.398%
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4.5.0 composite
- peaceiris/actions-gh-pages v3.9.2 composite
- actions/checkout v3 composite
- actions/setup-python v4.5.0 composite
- actions/checkout v3 composite
- actions/setup-python v4.5.0 composite
- pypa/gh-action-pypi-publish c7f29f7adef1a245bd91520e94867e5c6eedddcc composite
- actions/stale v7 composite
- actions/checkout v3 composite
- actions/setup-python v4.5.0 composite
- mcr.microsoft.com/vscode/devcontainers/python latest build
- hypersolver ==0.0.8
- numpy *
- pint *
- scipy *
Score: 11.955108156013555