https://github.com/uncscode/particula
Particula is an open-source, Python-based aerosol simulator. Particula captures gas-particle interactions, transformations, and dynamics to power predictive aerosol science.
https://github.com/uncscode/particula
aerosol atmosphere model package particle research science simulation
Last synced: about 1 month ago
JSON representation
Particula is an open-source, Python-based aerosol simulator. Particula captures gas-particle interactions, transformations, and dynamics to power predictive aerosol science.
- Host: GitHub
- URL: https://github.com/uncscode/particula
- Owner: uncscode
- License: mit
- Created: 2021-10-31T15:31:16.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-10-21T12:44:41.000Z (3 months ago)
- Last Synced: 2025-10-21T14:28:25.006Z (3 months ago)
- Topics: aerosol, atmosphere, model, package, particle, research, science, simulation
- Language: Python
- Homepage: https://uncscode.github.io/particula/
- Size: 663 MB
- Stars: 11
- Watchers: 0
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: license
- Citation: citation
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- open-sustainable-technology - Particula - An Python-based aerosol simulator. Particula captures gas-particle interactions, transformations, and dynamics to power predictive aerosol science. (Atmosphere / Atmospheric Chemistry and Aerosol)
README
# 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](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](https://pypi.org/project/particula/) using the following
command:
``` bash
pip install particula
```
Or install via conda:
``` bash
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"`.
```python
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.