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 23 hours ago
JSON representation

Repository metadata

Particula is an open-source, Python-based aerosol simulator. Particula captures gas-particle interactions, transformations, and dynamics to power predictive aerosol science.

readme.md

Overview

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.

The Particula website
https://uncscode.github.io/particula
contains the API reference, how-to guides, and tutorials.

PyPI Installation

If your Python environment is already set up, you can install
particula via pip using the following
command:

pip install particula

Or install via conda:

conda install -c conda-forge particula

Dynamics and wall loss

The particula.dynamics namespace collects time-dependent processes such as
dilution, condensation, coagulation, and wall loss.

For wall loss there are two complementary APIs:

  • Function-based rates (legacy):
    • particula.dynamics.get_spherical_wall_loss_rate(...)
    • particula.dynamics.get_rectangle_wall_loss_rate(...)
  • Strategy-based API (new):
    • particula.dynamics.WallLossStrategy – abstract base class for wall loss
      models.
    • particula.dynamics.SphericalWallLossStrategy – concrete strategy for
      spherical chambers.

Wall loss strategies operate directly on
particula.particles.representation.ParticleRepresentation instances and
support all three distribution types: "discrete", "continuous_pdf", and
"particle_resolved".

import particula as par

# Assume `particle` is a ParticleRepresentation
wall_loss = par.dynamics.SphericalWallLossStrategy(
    wall_eddy_diffusivity=0.001,  # m^2/s
    chamber_radius=0.5,  # m
    distribution_type="discrete",
)

rate = wall_loss.rate(
    particle=particle,
    temperature=298.15,
    pressure=101325.0,
)

particle = wall_loss.step(
    particle=particle,
    temperature=298.15,
    pressure=101325.0,
    time_step=1.0,
)

See the online documentation for more examples and background theory.

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


GitHub Events

Total
Last Year

Committers metadata

Last synced: 12 days ago

Total Commits: 1,540
Total Committers: 10
Avg Commits per committer: 154.0
Development Distribution Score (DDS): 0.179

Commits in past year: 897
Committers in past year: 5
Avg Commits per committer in past year: 179.4
Development Distribution Score (DDS) in past year: 0.047

Name Email Commits
Kyle Gorkowski k****w@g****m 1265
ngam 6****m 148
dependabot[bot] 4****] 63
Naser Mahfouz n****z@p****v 35
wkchuang w****7@c****u 15
sourcery-ai[bot] 5****] 6
Naser Mahfouz 1****z 5
copilot-swe-agent[bot] 1****t 1
Akshay Kumar a****0@g****m 1
Sourcery AI 1

Committer domains:


Issue and Pull Request metadata

Last synced: 8 days ago

Total issues: 202
Total pull requests: 497
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: 386
Bot issues: 2
Bot pull requests: 95

Past year issues: 95
Past year pull requests: 276
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.25
Past year average comments per pull request: 2.04
Past year merged pull request: 218
Past year bot issues: 1
Past year bot pull requests: 15

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/uncscode/particula

Top Issue Authors

  • Gorkowski (146)
  • ngam (31)
  • mahf708 (16)
  • ngmahfouz (4)
  • wkchuang (3)
  • sourcery-ai[bot] (2)

Top Pull Request Authors

  • Gorkowski (340)
  • 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

pypi.org: particula

a simple, fast, and powerful particle simulator

  • Homepage:
  • Documentation: https://particula.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 0.2.7 (published 23 days ago)
  • Last Synced: 2025-12-16T20:08:01.568Z (9 days ago)
  • Versions: 32
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 2,364 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 about 3 years ago)
  • Last Synced: 2025-12-16T20:08:10.361Z (9 days 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

.github/workflows/book.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • peaceiris/actions-gh-pages v3.9.2 composite
.github/workflows/lint.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
.github/workflows/pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
  • pypa/gh-action-pypi-publish c7f29f7adef1a245bd91520e94867e5c6eedddcc composite
.github/workflows/stale.yml actions
  • actions/stale v7 composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4.5.0 composite
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/vscode/devcontainers/python latest build
pyproject.toml pypi
  • hypersolver ==0.0.8
  • numpy *
  • pint *
  • scipy *

Score: 13.067695976062021